一个关于quartus ii 中仿真的问题,功能仿真准确,为什么门级仿真就烂的一塌糊涂

2019-07-15 21:50发布

我是学了FPGA没多久,写了一个小程序,在信号DATA_IN高电平时就开始计数,低电平时就归零,50MHz的参考时钟,功能仿真准确,但是门级仿真就是一开始有一些数值而且不对,后面就全部都是xxxxxx,我看着代码也没有哪里不对啊。求论坛有大神的教教我,真的很郁闷啊,到底哪里弄错了,也可能是很低级的错误。请各位大侠指教附图
程序 程序
功能仿真 功能仿真
时序仿真 时序仿真
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
alasga
1楼-- · 2019-07-15 22:55
第一,门级仿真就是功能仿真,没有区别;
第二,你把第二个always@(*),改成always@(posedge  CLK or negedge RST_N)再试试。
Secret_h
2楼-- · 2019-07-16 04:26
alasga 发表于 2017-4-12 13:44
第一,门级仿真就是功能仿真,没有区别;
第二,你把第二个always@(*),改成always@(posedge  CLK or negedge RST_N)再试试。

哦哦,那就是时序仿真和门级仿真,试了一下你说的,结果还是一样错的,
4.png
reallmy
3楼-- · 2019-07-16 04:53
一般都是功能仿真加时序约束,不用后仿!!
Secret_h
4楼-- · 2019-07-16 08:36
reallmy 发表于 2017-4-12 16:29
一般都是功能仿真加时序约束,不用后仿!!

为什么不用后仿真,后仿真如果都不成功,那直接调试肯定出不来啊,看了一些关于TimeQuest的时序约束,还是不知道该怎么去用,怎么加时序约束才是好的
reallmy
5楼-- · 2019-07-16 09:14
 精彩回答 2  元偷偷看……
alasga
6楼-- · 2019-07-16 10:54
第二个always块,中if(data_in==1),cnt_d_n<=cnt_d_n+1;而不是cnt_d_n<=cnt_d+1;

一周热门 更多>