Games / Command flash cards / Timing reports / Delay and electrical detail

Delay and electrical detail

Each card shows a command to explain. 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.

SourceThese cards follow the reporting commands of OpenSTA, the open-source static timing analyzer used by OpenROAD, and each answer links to that command in the OpenSTA command reference. Report commands are not a standard: other timers name and format their reports differently. The report excerpts are real OpenSTA output from the gcd example design. Reference: OpenSTA command reference (OpenSTA on GitHub).
All 7 cards in this section, with answers
  • report_dcalc -from u1/A -to u1/Z
    Shows how the delay of the arc from u1/A to u1/Z was calculated.

    Hint: dcalc is delay calculation: it shows the working behind one arc's delay.

    It shows the inputs to the library lookup, the input slew and the output load, and the delay and slew that result. It is used to debug a delay that looks wrong. OpenSTA reference

  • report_slews u1/Z
    Prints the rise and fall slews at pin u1/Z, for min and max analysis.

    Hint: A slew is a transition time, reported at one pin.

    A slow slew at a pin slows the cells it drives. The limit it is checked against is reported by report_check_types -max_slew. OpenSTA reference

  • report_net n42
    Lists the pins net n42 connects, with its pin and wire capacitance.

    Hint: A net joins a driver to its loads and carries capacitance.

    It shows the driver and the loads on the net and how much capacitance they and the wire contribute, which explains a slow driver. OpenSTA reference

  • report_instance u1
    Lists the library cell of instance u1 and the net on each of its pins.

    Hint: An instance is one placed cell. Ask what is specific to it rather than to its cell type.

    It shows how one instance is connected. The timing arcs of its cell come from report_lib_cell. OpenSTA reference

  • report_edges -from u1/A -to u1/Z
    Lists the timing arcs from u1/A to u1/Z with their delays.

    Hint: An edge is one arc of the timing graph, with a delay on it.

    An edge is one arc in the timing graph, with rise and fall delays. For the calculation behind each delay, use report_dcalc. OpenSTA reference

  • report_lib_cell NangateOpenCellLibrary/BUF_X1
    Describes the library cell BUF_X1, its pins and their properties.

    Hint: The name includes a library, so this is about a cell definition, not a placed instance.

    It shows the library definition, not the design. The name includes the library, as in NangateOpenCellLibrary/BUF_X1. OpenSTA reference

  • report_units
    Prints the units used for values in commands and reports.

    Hint: Numbers in commands and reports carry no units of their own.

    Numbers in commands and reports carry no units of their own, so this is the way to confirm that 0.46 means nanoseconds and not picoseconds. OpenSTA reference