Typically, an SDC file for an Altera design includes constraints for:
- Primary clock constraints with the
create_clockconstraint. - Propagated clock constraints with a
create_generated_clockconstraint. - Device input and
output delay constraints:
set_input_delayandset_output_delay. - User clock
uncertainty constraints (if any) with the
set_clock_uncertaintyconstraint. -
derive_pll_clockscommand for MMCM/PLL generated clocks. -
derive_clock_uncertaintycommand for interclock and intraclock uncertainty constraints. - Clock domain
crossing constraints such as
set_clock_groups,set_max_skew, andset_date_delaycommand. - Other exception
constraints, such as
set_max_delay,set_multicycle_pathandset_false_pathcommands.
Vivado synthesis uses different naming and hierarchy rules compared to Quartus. In most cases, the SDC commands from a Quartus design need modifications to match the Vivado hierarchical cell, net, or pin naming.