Forum Discussion
Altera_Forum
Honored Contributor
14 years agoJust call derive_clock_incertainty. You shouldn't have to add uncertainty on top of that.
Your I/O delays are based on what the I/O is hooked up to. If you drive an external device with a Tsu of 3ns, then you need a set_output_delay -max 3 applied to the port it drives. If the board delay to the device is 1ns and the board level clock is 0.5ns longer to the external device then the FPGA, then the value increases by 1ns but decreases by 0.5, for a new value of 3.5ns. Go to www.alterawiki.com and look at Popular Pages on the left. About the tenth one down is a TimeQuest User Guide that discusses a lot of this. Basically you set up clocks, which have a default setup and hold relationship. Multicycles are used to say the default relationship is not what you want, but something else based on the clock periods. set_min/max_delay constraints allow you to explicitly enter setup and hold relationships. They really shouldn't be used a lot. An example might be a resynchronization circuit of two registers synchronizing an asynchronous signal. They may run off a 4ns clock and hence have a 4ns setup relationship, but you might want to overconstrain this to 2ns since you know the first register is going metastable and you want to provide slack to let it settle.