Delaying signal

Jan 09, 2007 2 Replies

What's the best way to delay a signal? I want a certain control signal to appear X nano seconds after the rising edge of the clock.



Also, in VHDL, if I set the signal in a process on the rising edge, does the signal get updated at the next rising edge?


by the way, this is on a Virtex 4 and the control signal I want to delay is internal logic.

Hi,

John schrieb:

appear X nano seconds after the rising edge of the clock.

This is impossible for a fixed and guaranteed value of X. The only way you have is to use a flexible value for x. The output of a register will allways be visible a few ns after the rising edge of clk. If you need a signal to be within a given delay range, you could use gates with known delay (eg inverters) to introduce delay. But these delays are only tuneable to a certain degree due to gate and routing delays and you will only know a min and max delay for this path. This delay will vary over temperature, voltage, age and process. You need to verify, that synthesis didn't remove your delay gates, as they are typically without functionality.

signal get updated at the next rising edge?

if rising_edge(clk) then B

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required