在always语句块时钟沿赋值时,是否应该加延时呢?
时间:10-02
整理:3721RD
点击:
本人初学,这个问题困扰了我好久。比如在下面的赋值语句中always@(posedge clk) output<=1;
在时钟沿赋值时,是否应该添加延迟呢?在李新兵的书的例程中,所有的这种赋值语句前面都加上了 `DELAY (DELAY=1) 语句,我看有一份华为的编程规范中也说要加。就我个人认为,加上延迟之后,能给仿真器更明确的信息,仿真应该更准确。
但是在我看过的大部分书和资料里这种赋值语句都没有加延迟。请大神赐教,是不是需要加延迟呢?如果需要的话,一般加多少的延迟呢?
在时钟沿赋值时,是否应该添加延迟呢?在李新兵的书的例程中,所有的这种赋值语句前面都加上了 `DELAY (DELAY=1) 语句,我看有一份华为的编程规范中也说要加。就我个人认为,加上延迟之后,能给仿真器更明确的信息,仿真应该更准确。
但是在我看过的大部分书和资料里这种赋值语句都没有加延迟。请大神赐教,是不是需要加延迟呢?如果需要的话,一般加多少的延迟呢?
求大神指导。
加上延迟是个好习惯,仿真更加接近真实电路,模拟的是电路中tco的时间。
加多少没有明确规定,加个小的延迟就够了,低频电路简单点加1ns,高频电路小于1ns都可以
非常感谢。
不用加,仿真器会加上delta delay
不用加
对仿真有点意义,对实现没意义
对仿真有点意义,对实现没意义
哦 这样呀。你一般用那种仿真器呢?
我觉得加上后仿真更快一点。综合的时候综合工具自动就把#xx 屏蔽了。
若所有的 registers 都用同一個 clock, 可不用加.
但若雖然是同一 clock source, 但某部份的 register 的 clock 有 gating, 有部份没有 clock gating
如此, 不同的 register間 就會有 racing 產生, 不容易 debug.
VCS
还是加上吧!这样仿真出来的结果更准确,不过这个对综合是没有任何作用的,一般延迟时钟周期的十分之一就可以啦!如 ·timescale 10ns/1ns #1就可以啦!
非常感谢。复制去Google翻译翻译结果
