How would you set up an ideal network and control its propagation?
From PDVerse PrimeTime STA Interview Guide · pdVerse Mentor Guide
Ten-second Interview Answer
Mark the source objects with set_ideal_network, and the ideal property propagates through the transitive fanout across combinational cells, stopping at sequential cells; use -no_propagate to confine it to the electrically connected nets and pins.
Complete Technical Explanation
You specify sources, not regions. set_ideal_network <source_ports/pins> marks the listed objects ideal, and from there the property spreads through the transitive fanout, so it is worth knowing the propagation rules precisely. A pin is ideal if it is in the object list, or its driver cell is ideal, or it is a load on an ideal net. A net is ideal if all of its drivers are ideal. A combinational cell is ideal if all of its inputs are ideal. Propagation traverses combinational cells but stops at sequential cells, so the ideal property flows forward through combinational logic from the source and does not cross a register boundary - which is sensible, because the designation is about a combinational network driven from the source rather than about the registers. When you want less reach than that, use -no_propagate, which restricts the ideal property to just the nets and pins electrically connected to the source rather than the full transitive fanout; that is the right choice when only the immediate network should be ideal, for example one particular high-fanout net. So a typical setup is set_ideal_network [get_ports P1] to mark a port's whole downstream network, and set_ideal_network -no_propagate [get_pins U_big/EN] to mark only the enable net itself. You can then give the ideal network its own characteristics with set_ideal_latency 0.5 [get_ports P1] and set_ideal_transition 0.1 [get_ports P1] if you want an ideal latency or transition specified for it.
In Pd / Signoff
You meet this on pre-layout runs for high-fanout nets such as resets and enables, where you do not want an unbuilt network's delay dominating the report. The decision it drives is how much of the fanout cone leaves real timing analysis - so before signoff you audit which nets are still ideal, because an ideal network is exempt from real delay calculation.
Common Trap
Marking a source ideal and not realizing how far the property travelled. Without -no_propagate the whole downstream combinational cone up to the registers becomes ideal, so paths you expected to be analyzed silently use ideal timing and report no violation.
Expect Next
Where does ideal-network propagation stop, and why does it stop there?
Topic And Primetime Commands
Constraints / General. set_ideal_network, get_ports, get_pins, set_ideal_latencyKeep building interview depth
Continue practising STA
Continue learning free
Get a practical low-power chapter
Receive the existing “Low Power and Multivoltage Fundamentals” PDF chapter and its download link by email.
Continue practising