1. Timing Constraints
These comes under timing constraints , they are clock constraints like creating_clock, clock
uncertainity . generative clock , clock latency etc , IO delay, timing exceptions.
Exmaple :
# Define clockcreate_clock -name clk -period 10 [get_ports clk]# Clock uncertainty (jitter + skew)set_clock_uncertainty 0.5 [get_clocks clk]# Clock latencyset_clock_latency 2.0 [get_clocks clk]# Clock transitionset_clock_transition 0.1 [get_clocks clk]
# Input/Output delays
set_input_delay 2.0 -clock clk [get_ports din]
set_output_delay 1.5 -clock clk [get_ports dout]
# False paths (paths not to be timed)
set_false_path -from [get_cells reg_A] -to [get_cells reg_B]
# Multicycle pathsset_multicycle_path 2 -setup -from [get_cells reg_X] -to [get_cells reg_Y]
# Maximum/Minimum delaysset_max_delay 5.0 -from A -to Bset_min_delay 1.0 -from A -to B
2. Area Constraints
# Set maximum area (in library units)set_max_area 5000# Area optimization effortset_max_area 0 ;# Tool tries to minimize area as much as possible
3. Power Constraints
# Set maximum dynamic powerset_max_dynamic_power 100mW# Set maximum leakage powerset_max_leakage_power 50uW# Power optimization modeset_power_optimization true
4. Design Rule Constraints (DRC)
# Maximum fanoutset_max_fanout 16 [get_designs TOP]# Maximum capacitanceset_max_capacitance 0.5 [get_designs TOP]# Maximum transition timeset_max_transition 0.4 [get_designs TOP]
5. Environment Constraints
# PVT (Process-Voltage-Temperature) cornersset_operating_conditions WORST ;# Slow cornerset_operating_conditions BEST ;# Fast cornerset_operating_conditions TYPICAL ;# Typical corner# Estimates wire parasitics before place & routeset_wire_load_model -name "wlm_10k" -library tech_libset_wire_load_mode top/segmented/enclosed
6. I/O Constraints
# Drive strength of input portsset_drive 0 [get_ports clk] ;# Ideal driverset_drive 1.0 [get_ports din] ;# Resistance in ohms# Driving cell (more accurate)set_driving_cell -lib_cell BUFX4 [get_ports din]# Output loadset_load 0.1 [get_ports dout] ;# Capacitance in pF
7. Optimization Constraints
# Compile effortcompile_ultra -effort high# Boundary optimizationset_boundary_optimization [get_designs TOP] true# Don't touch / Don't useset_dont_touch [get_cells critical_inst]set_dont_use [get_lib_cells *SLOWCELL*]# Size only (no topology change)set_size_only [get_cells inst_A]
8. Timing Exception Constraints
Constraint | Description |
|---|---|
set_false_path | Path excluded from timing analysis |
set_multicycle_path | Path allowed multiple clock cycles |
set_max_delay | Maximum delay on a path |
set_min_delay | Minimum delay (hold) on a path |
set_disable_timing | Disable timing arc of a cell |
Would you like to see the sample SDC file ?
No comments:
Post a Comment