What is the content inside an SDC file? How is the clock defined? Why is delay defined on IO ports?

oSDC Version: Specifies the SDC standard version used (e.g., set sdc_version 2.1).

Units: Defines units for time, capacitance, resistance, voltage, current, power (e.g., set_units -time ns …).

Clock Definitions:

create_clock: Defines primary clocks entering the design (at ports or internal pins), specifying their source, period, waveform (duty cycle, edge times).

create_generated_clock: Defines clocks generated internally (e.g., by PLLs, clock dividers/multipliers) based on a master clock.

set_clock_groups: Defines relationships between clocks (synchronous, asynchronous, exclusive).

set_clock_latency: Specifies source latency (external delay to clock definition point) and network latency (estimated or propagated internal delay).

set_clock_uncertainty: Defines margins for clock skew and jitter.

set_clock_transition: Specifies the desired transition time for clock nets.

Input/Output Delays:

set_input_delay: Specifies the arrival time of data at an input port relative to a clock edge. Represents the delay of the external logic driving the input.

set_output_delay: Specifies the required time for data at an output port relative to a clock edge. Represents the setup time requirement of the external logic receiving the output.

Timing Exceptions:

set_false_path: Identifies paths that should be ignored during timing analysis (logically impossible or irrelevant paths).

set_multicycle_path: Specifies paths that are allowed to take more than one clock cycle to propagate.

set_max_delay/set_min_delay: Overrides default setup/hold checks with specific delay requirements for certain paths.

Design Rule Constraints:

set_max_transition: Defines the maximum allowed signal transition time on nets or pins.

set_max_capacitance: Defines the maximum allowed capacitance load on output pins.

set_max_fanout: Defines the maximum number of gates an output pin can drive.

External Environment:

set_driving_cell: Models the drive strength of the external logic driving input ports.

set_load: Specifies the capacitive load connected to output ports.

Mode-Specific Constraints:

set_case_analysis: Sets specific pins/ports to constant values (‘0’ or ‘1’) to enable/disable logic for specific modes (e.g., functional vs. test).

Why Define I/O Delays?

Constrain Interface Paths: Primary inputs and outputs are startpoints and endpoints for timing paths. Without I/O delays, these paths are unconstrained, and the tool cannot optimize or verify the timing related to external interactions.

Share:
‹ What is the difference between std. cell LEF and tech LEF? What content is in tech LEF?
Home
What does max transition and max capacitance mean? Which one is given priority and why? ›