From: Martin W. <mai...@ma...> - 2015-11-08 11:12:29
|
Cary R. wrote: > I agree with Martin. I believe a non-blocking delay is the only normal RTL > construct that does not filter pulses smaller than the delay. Specify > blocks can also tweak this a bit using the path pulse control, but Icarus > only supports full pulse filtering. Yes, I should have mentioned that. If you set the pulse reject limit and error limit both to zero, that effectively models a transport delay. But as Cary says, Icarus doesn't support this. > The other comment is that I think the > code shown is describing wire delays and Icarus does not currently support > these type of delays and if I'm reading the standard correctly they should > filter pulses smaller than the delay so it seems like the original > assumption is incorrect. I believe the original code shown should have > generated a not supported message. Icarus doesn't support net delays, so would generate a "not supported" message for wire #delay dout; But if the declaration includes a continuous assignment, e.g. wire #delay dout = d; the delay is associated with the assignment, not the net, and Icarus does support this. Martin |