Forum Discussion

SKon1's avatar
SKon1
Icon for Occasional Contributor rankOccasional Contributor
6 years ago

Using the -add_delay switch

Hello,

I'm setting an output delays on DDR interface for a signal named "valid" relative to a clock named "clock" as follows:

set_output_delay -clock clock -max -0.9 [get_ports {valid}]

set_output_delay -clock clock -min -2.7 [get_ports {valid}]

set_output_delay -clock clock -clock_fall -max -0.9 [get_ports {valid}] -add_delay

set_output_delay -clock clock -clock_fall -min -2.7 [get_ports {valid}] -add_delay

As far as I understand - a port can have only one -max and one -min delay assinged to it. If more then one is used, the first will be overwritten - UNLESS -add_delay is used.

This is why -add_delay was added when setting the relationship for the falling edge of edge of the clock.

Is this correct ?

Or should I use -add_delay also for the first set ? As follows :

set_output_delay -clock clock -max -0.9 [get_ports {valid}] -add_delay

set_output_delay -clock clock -min -2.7 [get_ports {valid}] -add_delay

set_output_delay -clock clock -clock_fall -max -0.9 [get_ports {valid}] -add_delay

set_output_delay -clock clock -clock_fall -min -2.7 [get_ports {valid}] -add_delay

1 Reply

  • KhaiChein_Y_Intel's avatar
    KhaiChein_Y_Intel
    Icon for Regular Contributor rankRegular Contributor

    Hi,

    You may refer to https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/an/an433.pdf (Example 2):

    set_output_delay -clock [get_clocks output_clk] -max 2 [get_ports data_out] set_output_delay -clock [get_clocks output_clk] -min -1 [get_ports data_out] -add_delay

    set_output_delay -clock [get_clocks output_clk] -max 2 -clock_fall [get_ports data_out] -add_delay

    set_output_delay -clock [get_clocks output_clk] -min -1 -clock_fall [get_ports data_out] -add_delay

    Thanks.

    Best regards,

    KhaiY