Hyperflex® Architecture High-Performance Design Handbook

ID 683353
Date 12/06/2024
Public
Document Table of Contents

2.2.4.2. Overconstraints

Overconstraints direct the Fitter to spend more time optimizing specific parts of a design. Overconstraints are appropriate in some situations to improve performance. However, because legacy overconstraint methods restrict retiming optimization, Hyperflex® architecture FPGAs support a new is_post_route function that allows retiming. The is_post_route function allows the Fitter to adjust slack delays for timing optimization.

Overconstraints Syntax (Allows Hyper-Retiming)

if { ! [is_post_route] } {
     # Put overconstraints here
}

Legacy Overconstraints Example (Prevents Hyper-Retiming)

### Over Constraint ###
# if {$::quartus(nameofexecutable) == "quartus_fit"} {
#     set_min_delay 0.050 -from [get_clocks {CPRI|PHY|TRX*|*|rx_pma_clk}] -to \
     [get_clocks {CPRI|PHY|TRX*|*|rx_clkout}]
# }