关于verilog赋值时加延时能不能综合的问题
时间:10-02
整理:3721RD
点击:
今天在一个verilog代码中看到一种赋值如下:
// delay scl_oen
always @(posedge clk)
dscl_oen <= #1 scl_oen;
代码的意思是把scl_oen延时一段时间。我想问的是这种加延时的赋值方式能综合吗?如果能,综合出来的是什么?以前在eetop上看到过一个帖子,说延时是不能综合的,只能用在testbench中。但他的报告中声称他的代码完全可以综合,而且经过FPGA验证。请问各位有什么见解?
// delay scl_oen
always @(posedge clk)
dscl_oen <= #1 scl_oen;
代码的意思是把scl_oen延时一段时间。我想问的是这种加延时的赋值方式能综合吗?如果能,综合出来的是什么?以前在eetop上看到过一个帖子,说延时是不能综合的,只能用在testbench中。但他的报告中声称他的代码完全可以综合,而且经过FPGA验证。请问各位有什么见解?
综合器会忽略延时
意思是延时不会综合出对应的电路了。
不能综合,在这里加这个只是为了告诉仿真器不要误判
可以综合,延迟被忽略,#1和不加这个的综合结果一致。#1只对非时序仿真有效。不影响综合,实现。
很好的见解,明白了,谢谢!
會加延遲的原因是怕模擬時誤判.所以會加上#1.
除非你是做到post simulation才會有真的timing delay
对模拟时会误判这就话不太理解,能详细解释一下吗?
应该不能综合
学习学习
