
FPGA/CPLD
msgoc
感兴趣领域:图像处理、GPU虚拟化、无线通信
展开
-
ModelSim 仿真流程 实践总结
modelsim仿真流程:modelsim基本的仿真流程包括建立库、建立工程并编译、仿真、调试、但在libero环境中运行modelsim时,软件自动映射库和生成工程文件。其中功能仿真、综合仿真以及后仿真分别映射presynth、postsynth和postlayout库。 基本流程是:建立工作库→编译源代码→启动仿真→分析、调试。1建立库并映射在modelsim转载 2017-07-05 15:17:08 · 2708 阅读 · 0 评论 -
ddr3调试经验分享(五)——KC705_MIG时钟清单
最近阿威也在玩MIG ,然后对我问了一大堆问题,主要针对MIG的时钟。后来发现自己理解得还是不够。这么一讨论更加清晰了,做个笔记吧。 第一个时钟,也就是MIG 对DDR接口的时钟。因为我用的是ddr3,K7的器件。所以选择了800M,那么也就是说我请求的MIG对ddr接口的速率是800M *2=1600M (双沿,所以乘2)下面有一个4:1, 证明MIG 输出到app...转载 2018-11-08 15:21:23 · 7052 阅读 · 2 评论 -
ddr3调试经验分享(二)——KC705上的ddr3初始化不成功
最近在玩KC705上的ddr3.开始信誓旦旦的说要自己写controller。 于是开始读datasheet,在镁光的官网上弄了一个ddr3 的module的仿真模型,仿真读写有效的之后就屁颠屁颠的跑的群里问大家这个clock怎么匹配。然后才知道有PHY这个东西,不用PHY就玩ddr,秀逗了! 下面的过程以及结论也许对于有些人也有些秀逗,但是对于我这个初玩ddr的人来说,它还真的卡了...转载 2018-11-08 15:18:47 · 11159 阅读 · 3 评论 -
作为FPGA的初学者,必学入门的串口程序。
网上有很多关于串口的程序,但大部分都是用于仿真,此程序可在板子上实现,可用上位机发送实现接收。(由于板子不同,要对UCF中的信号进行定义需要更改) 主模块:module uart_top(clk,rst_n,rs232_rx,rs232_tx,led); input clk; //时钟信号50M input rst_n; //复位信号,低有效 input rs232_rx; //数据输...转载 2018-07-10 10:06:46 · 3155 阅读 · 0 评论 -
verilog中的$display和$wirte
1、格式 $display(p1,p2, …,pn); $write(p1,p2, …,pn);这两个函数和系统任务的作用都是用来输出信息,即将参数p2到pn按参数p1给定的格式输出。参数p1通常称为:“格式控制”,参数p2至pn通常称为“输出列表”。$display自动地在输出后进行换行,$write则不是这样。如果想在一行里输出多个信息,可以使用$write。如:$di...转载 2018-05-04 14:19:11 · 12167 阅读 · 0 评论 -
一步一步开始FPGA逻辑设计 - 高速接口之PCIe
写在前面近两年来和几个单位接触下来,发现PCIe还是一个比较常用的,有些难度的案例,主要是涉及面比较广,需要了解逻辑设计、高速总线、Linux和Windows的驱动设计等相关知识。这篇文章主要针对Xilinx家V6和K7两个系列的PFGA,在Linux和Windows两种系统平台下,基于Xilinx的参考案例XAPP1052的基础上,设计实现了总线主控DMA(Bus Master DMA),透明映转载 2018-01-18 11:07:40 · 1472 阅读 · 0 评论 -
FPGA_CLOCK
数字电路中,时钟是整个电路最重要、最特殊的信号。第一, 系统内大部分器件的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要非常小, 否则就可能造成时序逻辑状态出错.第二, 时钟信号通常是系统中频率最高的信号.第三, 时钟信号通常是负载最重的信号, 所以要合理分配负载。出于这样的考虑在FPGA这类可编程器件内部一般都设有数量不等的专门用于系统时钟驱动的全局转载 2017-12-05 09:12:08 · 1634 阅读 · 0 评论 -
modelsim 快捷键
1. 波形窗口(Wave) 鼠标操作: Ctrl+鼠标左键从左上向右下拖拉:放大(选中区域) Ctrl+鼠标左键从左下向右上拖拉:缩小 Ctrl+鼠标左键从右下向左上拖拉:缩放至满屏 鼠标左键拖拉:移动最近的光标 Ctrl+鼠标左键在滚动条上点击:滚动至顶部或底部(竖直滚动条上)、左端或右端(水平滚转载 2017-07-05 15:15:56 · 5051 阅读 · 2 评论