What this chapter covers

STA only sees inside the chip. Paths that start at inputs or end at outputs depend on the external world. set_input_delay, set_output_delay, driving cells, and external loads describe that world so the tool can budget the on-chip portion. Virtual clocks are the usual reference when the external device’s clock is not a pin in this netlist.

Every chip-to-chip and chip-to-board interface — memories, buses, GPIO, high-speed links — needs I/O timing. Unconstrained ports are silently unchecked.

Worked example

If the external device launches 3 ns after its clock and the board consumes 1 ns, set_input_delay 4 -clock virt_clk [get_ports data_in] tells STA that 4 ns of the period is already used at the port. You still need a matching min delay for hold. Output delay is the external capture requirement seen from the output port.

A common misconception

Applying only max (setup) input delay and forgetting min, or referencing I/O to the wrong clock (core versus virtual versus forwarded strobe). Another trap is double-counting board delay in both the SDC and the other chip’s constraints so the system budget no longer closes.

Sample interview answers

Why are both max and min I/O delays required? Max models the late external arrival (setup). Min models the early arrival (hold). One number cannot cover both directions.

What is a virtual clock for? A timing reference that does not exist as a pin in this design, used to attach input/output delay when the other chip’s clock is outside the netlist.

What happens if a port has no I/O delay? That boundary path is not constrained. Internal WNS can look clean while the interface is untimed.

The paid chapter computes max/min I/O numbers, virtual-clock patterns, rise/fall splits, and interview questions for interface budgets.

STA view: Interface analysis · Next: False paths · Related: set_input_delay, set_output_delay

💡 Key Technical Topics Covered

  • set_input_delay -max and -min Syntax
  • set_output_delay -max and -min Syntax
  • set_driving_cell & set_load Constraints
  • System Synchronous Board Trace Delay Calculation

🎯 VLSI Physical Design Interview Questions Addressed

  • How do you calculate set_input_delay for max setup and min hold?
  • Why must you specify set_driving_cell on input ports?
  • What is the impact of set_load on output port delay calculation?