可综合Verilog语句
时间:10-02
整理:3721RD
点击:
在看李新兵编著的ARM9微处理器结构的Verilog代码时,经常有这样的语句:
always @(posedge clk)
begin
data_out[2:0]<=#`DEL 3'b001;
end
在可综合的语句里,不应该禁止#延迟吗。求解释。
always @(posedge clk)
begin
data_out[2:0]<=#`DEL 3'b001;
end
在可综合的语句里,不应该禁止#延迟吗。求解释。
这样写的目的应该是为了仿真用,在综合时候并不影响电路,综合工具不识别延迟,所以这样写没有任何问题!
只是为了仿真用,真实电路中自然会有cell delay,这里#只是简单模拟一下而已
这个时间是模拟DFF的CKQ时间。 综合工具在综合的时候会自动忽略这个时间的, 工具也会给出报告的
谢谢了,以前写代码的时候没试过这种方法。
以前没用过这种写法。
不影响综合的
学习学习
前面2楼得解释很到位了~
确实是这样,不过我这种菜鸟很少这么写
不错 是的 就是模拟延迟
恍然大悟
加延时是为了方便做仿真的时候模拟触发器的CKQ 延时, 综合的时候工具会自动忽略延时信息
meiqianle
学习了 不错
原来是这样~
不错 学习啦 好东西
