Parasitics
The cards come in more than one shape: a command to explain, and a description whose command you name. A missed card returns later in the round and starts the schedule over. A card answered correctly moves up the schedule and next appears after 1, 3, 7, then 21 days. Keys 1 to 4 choose an option, h shows a hint, and Enter moves on. A hint keeps the card where it is on the schedule. An ordering card is answered by clicking its items in order, and one wrong click ends it. Time values are in nanoseconds. Progress is stored in this browser.
All 9 cards in this section, with answers
-
set_wire_rc -layer metal3Takes metal3's resistance and capacitance for wire estimates.
Hint: Before anything is routed, the tool still needs a number for a wire.
The values are taken per unit length from metal3. Every estimate before routing needs a resistance and capacitance per micron; taking them from a middle layer is the usual choice. The values feed timing-driven placement and
repair_design.-clockand-signalset them separately, and-resistanceand-capacitancegive values directly. OpenROAD reference -
set_layer_rc -layer metal3 -resistance 1.8e-3 -capacitance 1.2e-4Sets the resistance and capacitance the tool uses for the metal3 layer.
Hint: Compare it with set_wire_rc: this one names the layer itself, not an estimate.
Technology files sometimes lack per-layer values, or carry values that do not match the corner in use. Setting them per layer fixes what estimates and extraction start from.
report_layer_rcprints what is in force. OpenROAD reference -
estimate_parasitics -placementEstimates each net's parasitics from the placement, using a Steiner tree.
Hint: There is no routing yet, so the wire has to be guessed from somewhere.
The tool builds a tree over the pin locations and applies the per-length values from
set_wire_rc. It is rough but available early, which is whatrepair_designand timing-driven placement need. OpenROAD reference -
estimate_parasitics -global_routingEstimates parasitics from the global route guides.
Hint: Something better than pin positions now exists, but the real wires do not.
That is closer to the real wires than a placement estimate. The guides say which regions and layers a net will use, so the length and layer mix are much closer to the truth than a Steiner tree over pins. This is what timing between global and detailed routing is based on. OpenROAD reference
-
extract_parasitics -ext_model_file rules.rulesExtracts the routed wires' parasitics using that model.
Hint: The wires exist now. Ask what the rules file is for.
The model file holds the values for the process. OpenRCX measures each wire's geometry and neighbours and looks the values up in a model built for the process. That is what sign-off timing uses.
write_spefthen writes the result out. OpenROAD reference -
write_spef 6_final.spefWrites the extracted parasitics to a file another tool can read.
Hint: Ask what another tool would need in order to time this design exactly as it is.
SPEF (Standard Parasitic Exchange Format) lists the resistance and capacitance of every net, which is how extracted parasitics move between tools.
read_spefloads such a file back. OpenROAD reference -
define_process_corner -ext_model_index 0 XDefines an extraction corner and ties it to one model in the rules file.
Hint: Extraction needs to know which set of values in the model to use.
A rules file holds several sets of values, one per process corner. The corner defined here selects one, so several corners can be extracted in the same session and written to separate files. OpenROAD reference
-
report_layer_rcPrints the resistance and capacitance in force for each layer.
Hint: It prints what is in force, which is not always what you think it is.
Via values are printed too. The values come from the technology file or from
set_layer_rc. Checking them is worth doing when delays look wrong, since an empty or wrong value silently changes every estimate. OpenROAD reference -
The design is routed and you need resistance and capacitance for every net, taken from the real geometry, without leaving the tool.extract_parasitics
Hint: Two of these move parasitics in or out; only one computes them.
Extraction reads the routed shapes and the layer rules and produces the network. Estimation is the pre-route stand-in based on distance, reading brings in someone else's numbers, and writing exports what the tool already holds. OpenROAD reference