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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2604|回复: 7

[原创] 时序电路赋值端加#1和不加#1有什么区别

[复制链接]
发表于 2018-11-14 15:58:42 | 显示全部楼层 |阅读模式

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

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

x
最近在代码中看到一个模块,其中的时序电路有的加#1,有的没加,请问下加或者不加考虑因素在哪里?


比如一个D触发器;
always @(posedge clk or negedge rst_n) begin
    if(!rst_n)
        Q <= #1 1'b0;
    else if(b==1)
        Q <= #1 D;
end

always @(posedge clk or negedge rst_n) begin

    if(!rst_n)

        Q <=  1'b0;

    else if(b==1)

        Q <=  D;

end
发表于 2018-11-14 17:04:18 | 显示全部楼层
综合没有区别,主要就是仿真的时候,看起来波形跟实际波形跟贴近一点,建议不要用#来看仿真波形,心中有电路,看习惯就知道波形是什么样子了。
 楼主| 发表于 2018-11-15 11:11:23 | 显示全部楼层
回复 2# rosshardware


    加或者不加,功能上没区别哈?
发表于 2018-11-15 14:51:02 | 显示全部楼层
就是在仿真中尽量逼近实际电路的行为,不会影响RLT仿真的时候寄存器的行为。
发表于 2018-11-15 20:10:06 | 显示全部楼层
发表于 2018-11-16 14:35:44 | 显示全部楼层
赋值后加的delay,主要是仿真延时,模拟实际的寄存器CLK->Q延时,看波形,看电路反转的前后顺序比较好分析,对电路功能和结构不造成影像

另一个考虑是,解决不同工具的仿真器对代码解释的不一致性。加了延时后,就不会出现逻辑与时钟翻转时刻重合的问题。
 楼主| 发表于 2018-11-20 09:41:23 | 显示全部楼层
回复 6# maoqiu


    谢谢,明白了
发表于 2018-11-22 10:42:58 | 显示全部楼层
加了不能综合!!!!!!!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-14 10:55 , Processed in 0.021073 second(s), 7 queries , Gzip On, Redis On.

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