摘要: 跨时钟域设计是FPGA设计中经常遇到的问题,特别是对Trigger信号进行同步设计,往往需要把慢时钟域的Trigger信号同步到快时钟域下,下面是我工作中用到的慢时钟域到快时钟域的Verilog HDL设计。 // Trigger Cross Domain Design, Slow to fast ... 阅读全文
posted @ 2015-03-31 09:04 hfyfpga 阅读(680) 评论(0) 推荐(0) 编辑
摘要: 跨时钟域设计中,对快时钟域的Trigger信号同步到慢时钟域,可以采用上面的电路实现,Verilog HDL设计如下:// Trigger signal sync, Fast clock domain to slow domainmodule Trig_CrossDomain_F2S (input ... 阅读全文
posted @ 2015-03-31 09:03 hfyfpga 阅读(639) 评论(0) 推荐(0) 编辑
摘要: 前面介绍了项目中用到的脉冲同步的基本方法,其基本功能是从某个时钟域取出一个单时钟宽度脉冲,然后在新的时钟域中建立另一个单时钟宽度的脉冲,但在实际应用中,需要同步的往往不止是脉冲信号,数据总线、地址总线和控制总线都有可能跨域传输。握手协议,RAM和FIFO是最基本的方法,但如果FPGA资源成为关键因素... 阅读全文
posted @ 2015-03-31 08:55 hfyfpga 阅读(1587) 评论(0) 推荐(0) 编辑
摘要: 经过几天的试用逐渐熟悉了vivado,和ISE相比vivado确实有了很多改良。发现了以下几个特点:1.数据格式统一了在以往的设计中,保存数据的格式非常多。ISE有很多种格式的文件,在translate,map和par过程文件格式多.ncd,.pcf,ngd,ngr等,而有vivado中,每个步骤文... 阅读全文
posted @ 2015-03-24 19:09 hfyfpga 阅读(3323) 评论(0) 推荐(1) 编辑
摘要: Modelsim 10.1c release note sates as :Product Changes in 10.1cRelease 10.1b introduced a new error, number 2902. By default in the 10.1x series of rel... 阅读全文
posted @ 2015-03-17 19:10 hfyfpga 阅读(1152) 评论(0) 推荐(0) 编辑
摘要: Modelsim的仿真,如果一直使用图形界面建工程,编译,仿真,一个个加入观察波形的话,未免复杂了一些,尤其是当工程较大,需要观察的信号较多时,下面贴出一些常用的tcl脚本命令和wave.do常用语法:vsim.tcl仿真脚本:vlib compress_libvmap compress_lib c... 阅读全文
posted @ 2015-03-17 18:42 hfyfpga 阅读(1577) 评论(0) 推荐(0) 编辑
摘要: what is different between %s and %0s?(%s和%零s)%s prints the string as it is with spaces at the begining if string contentsare less than string variable... 阅读全文
posted @ 2015-03-05 16:48 hfyfpga 阅读(1957) 评论(0) 推荐(0) 编辑
摘要: BFM应该描述的是具有某种具体功能的电路。比如说,你的待测电路是一个智能卡,那他的BFM就是读卡器;那你就要根据协议,在BFM中描述出读卡器的具体行为。 写BFM就类似于写testbench了。BFM里面有需要主动触发的动作,以及被动接受的动作。主动触发的动作,你写成task,这样方便在te... 阅读全文
posted @ 2015-03-04 10:20 hfyfpga 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 1.打开文件 integer file_id; file_id = fopen("file_path/file_name");2.写入文件:$fmonitor,$fwrite,$fdisplay,$fstrobe //$fmonitor只要有变化就一直记录 $fmonitor(file_id... 阅读全文
posted @ 2015-02-26 11:42 hfyfpga 阅读(4855) 评论(0) 推荐(0) 编辑
摘要: 完整的、详细的设计规范是验证工作的重要起点。验证工作根据设计规范(Specification)进行,详细的Spec是RTL代码的编写工作的依据,也是验证工作的依据。当验证过程发现DUT的响应与testbench预计的不符时,需要根据Spec判断是DUT出现错误还是testbench出现错误。参数化的... 阅读全文
posted @ 2015-02-15 17:11 hfyfpga 阅读(595) 评论(0) 推荐(0) 编辑