在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3612|回复: 22

[求助] vivado行为仿真和时序仿真,时序图差别很大

[复制链接]
发表于 2022-3-2 00:34:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 come_on_sn 于 2022-3-2 00:35 编辑

同样的设计输入,同样的tb


功能仿真结果如下
image.png


布线后定时仿真如下:
image.png

现象:
1、led信号功能仿真正常变化,而时序仿真则一直为0x8000不变
2、时序仿真结果中clk_bps一直为0,功能仿真正常

请问,有没有前辈知道这是什么问题呢?谢谢了~
【排查】设计功能简单,时序裕量应该是充足的,布线后也没有报错


发表于 2022-3-2 09:06:13 | 显示全部楼层
检查下告警是不是有latch
发表于 2022-3-2 09:09:16 | 显示全部楼层
贴个代码上来
发表于 2022-3-2 10:00:20 | 显示全部楼层
布线后看一下report_time一下,看一下是否有违例
 楼主| 发表于 2022-3-2 11:42:09 | 显示全部楼层


1440090531 发表于 2022-3-2 10:00
布线后看一下report_time一下,看一下是否有违例


感谢回复,没有违例
 楼主| 发表于 2022-3-2 15:45:06 | 显示全部楼层


cfly_chang 发表于 2022-3-2 09:06
检查下告警是不是有latch


感觉应该不是这个问题?因为我上板测试功能是正常的
发表于 2022-3-2 16:45:15 | 显示全部楼层
上板测试正常的话,估计就是tb写得不好,tb里面是不是信号都写得严格对齐clk,后仿信号产生延迟后没有严格对齐,导致tb中条件不满足
 楼主| 发表于 2022-3-2 16:56:32 | 显示全部楼层


986707833 发表于 2022-3-2 16:45
上板测试正常的话,估计就是tb写得不好,tb里面是不是信号都写得严格对齐clk,后仿信号产生延迟后没有严格 ...


抱歉,不是很理解,tb条件不满足是什么意思

下面是我写的tb,能麻烦您帮忙看下吗?谢谢了   设计完成的功能大概就是流水灯设计,然后通过开关sw0改变流水灯方向


`timescale 1ns/100ps
`define CLOCK_PERIOD 10     //单位ns
`define CLOCK_FREQ 100      //100_000_000   

module flash_led_top_tb();      
                 reg rst;
                 reg sw0;
                 wire [15:0] led;
                 wire [3:0] an;                   
                 wire [6:0] seven_segment;
                
                 // Generate 100 MHz clock
        reg clk = 0;
        always #(`CLOCK_PERIOD/2) clk = ~clk;

                   flash_led_top #( .CYCLES_PER_SECOND(`CLOCK_FREQ) )
                      inst_flash_led_top(
            .clk( clk ),
            .rst( rst ),
            .sw0( sw0 ),
            .led( led ),
            .an( an ),
            .seven_segment( seven_segment )
            );

                 initial begin
                         rst = 1'b0;
                         sw0 = 1'b0;
                         #10;
                         rst = 1'b1;
                         #10;
                         rst = 1'b0;
                         repeat(20 * `CLOCK_FREQ) #`CLOCK_PERIOD;                                 //20次后改变位移方向
                         sw0 = 1'b1;
                 end

endmodule


 楼主| 发表于 2022-3-2 17:03:00 | 显示全部楼层
本帖最后由 come_on_sn 于 2022-3-2 17:06 编辑


您好,附件是工程压缩包,如果您有空的话不知道方便看下呢?谢谢了!
链接:https://pan.baidu.com/s/19TDNjse2vgdjaRe4cgFqzQ
提取码:0jnh

(因为包含定时wdb文件,压缩后超过附件容量限制,所以无奈传到网盘上了,见谅~

发表于 2022-3-3 09:28:56 | 显示全部楼层
本帖最后由 jinj198908 于 2022-3-3 09:30 编辑

image.png
问题出在这里,布线后定时仿真这个参数是无法传进去的,使用的是top文件里默认的1s,如果你有足够耐心的话,仿真跑到1s时,就能看到结果了,这也解释了为什么上板后是正常的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-18 12:56 , Processed in 0.029559 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表