Professional Documents
Culture Documents
Synopsys_Design_Constraints_Presentation
Synopsys_Design_Constraints_Presentation
(SDC)
Introduction
• “Synopsys Design Constraints” (aka SDC) is used to
describe design requirements for timing, power, and area
and is the most commonly used format by EDA tools
used for synthesis, static timing analysis, and place and
route.
• These were mainly used for specifying design
characteristics that could not be captured in the HDL.
• SDC commands are based on the Tcl language.
Why SDC is Needed?
• STA tool gets the circuit description from the
corresponding design description i.e.
Verilog ,VHDL
• It also takes in library inputs – mostly to know
about technology-dependent characteristics, e.g.,
delay values through specific gates.
• STA tools need information related to the arrival
time and other characteristics of various signals at
the inputs and the time at which various outputs
are required. These inputs are provided through
timing constraints.
The constraints in SDC format can be broadly
categorized as :-
Eg –
create_clock
create_generated_clock
set_clock_groups set_clock_latency
set_clock_transition set_clock_uncertainty
set_clock_sense set_propagated_clock
set_input_delay set_output_delay
Constraints for Area and Power
• Constraints for area and power include commands that
provide guidance on the area a design must fit within and
power requirements for optimization.
set_max_area
create_voltage_area
set_level_shifter_threshold
set_max_dynamic_power
set_level_shifter_strategy
set_max_leakage_power
Constraints for Design Rules
• Constraints for design rules include commands that
provide guidance on some of the requirements of the target
technology.
set_max_capacitance
set_min_capacitance
set_max_transition
set_max_fanout
Constraints for Interfaces
• Constraints for interfaces include commands that provide
guidance on the assumptions design needs to make about
blocks it will be connected to or interacting with in a
subsystem or chip or SoC.
set_drive
set_driving_cell
set_input_transition
set_load
set_fanout_load
set_port_fanout_number
Creating Clock
The command to define a clock is create_clock