Games / Command flash cards / Standard-cell library / Naming and drive strength

Naming and drive strength

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 describe standard-cell libraries in general, checked against the open libraries that OpenROAD-flow-scripts ships: Nangate45, sky130 high density, and ASAP7. Cell names and conventions differ between libraries, so each card says which library its example comes from. The answers link to the OpenROAD module that handles the cell in question. Reference: OpenROAD module documentation (the open libraries on GitHub).
All 8 cards in this section, with answers
  • INV_X1 INV_X2 INV_X4 INV_X8
    The same inverter at four drive strengths, each stronger and larger.

    Hint: Same function four times. Ask what differs, and what it costs.

    The suffix scales the transistor widths, so a higher number drives more load in less time while using more area, more input capacitance, and more leakage. Sizing during repair mostly means moving along this series. These names are Nangate45; sky130 writes the same idea as inv_1, inv_2, inv_4. the open libraries reference

  • INV_X1 # Nangate45 sky130_fd_sc_hd__inv_1 # sky130 high density BUFx2_ASAP7_75t_R # ASAP7
    Three libraries' conventions for the same idea: function, then drive strength.

    Hint: Read the parts around the function: who made it, for what, and how tall.

    A long name usually encodes the foundry, the library family, and the row height as well as the function. In sky130_fd_sc_hd, sc is standard cell and hd high density. In ASAP7, 75t is the row height in tracks and the trailing letter is the threshold-voltage flavour. the open libraries reference

  • export ASAP7_USE_VT = RVT LVT
    Allows regular and low threshold-voltage cells to be mixed.

    Hint: Two flavours of the same transistor. Ask what is traded between them.

    Leakage is traded for speed. A lower threshold voltage switches faster and leaks more, at the same supply and area. A flow offers several flavours so optimization can spend leakage only on the paths that need the speed. ASAP7 ships regular, low, and super-low. the open libraries reference

  • sky130hd versus sky130hs
    The same cells drawn at two row heights: dense, or tall and fast.

    Hint: Two libraries, one process. Ask what differs physically between them.

    The tall variant is the fast one: a taller row gives wider transistors, so a high-speed library is faster and larger than a high-density one at the same drive strength. A design picks one as its main library. Mixing them is possible only if the row heights are compatible. the open libraries reference

  • INV_X1 -> INV_X8
    More drive costs area, leakage, and load on whatever drives it.

    Hint: Three things get worse when you take the stronger cell. Name the one that is not area.

    Wider transistors switch more current, but they also have larger gates, so the previous stage sees a bigger load. Upsizing a cell can therefore push the problem one stage back, which is why repair sizes along a path rather than one cell at a time. the open libraries reference

  • asap7sc7p5t_... # ASAP7 (Arizona State University 7nm predictive kit) FreePDK45 cell height 1.4 um, metal1 pitch 0.14 um
    How many routing tracks tall the cells are.

    Hint: Divide the cell height by the routing pitch and see what the name says.

    Nangate45 cells are ten tracks tall and the ASAP7 library says 7.5 in its name. A shorter cell packs more logic into the same area but has less room for wide transistors, so it is slower and harder to route inside. A library is chosen partly on this number. the open libraries reference

  • NAND2_X1 pins A1 A2 ZN # Nangate45 nand2_1 pins A B Y # another library
    Nothing about pin names is standard, so scripts must not assume them.

    Hint: The cells do the same thing. Ask what does not carry across.

    An output may be Z, ZN, Y, or X, and inputs may be A and B or A1 and A2. A script that hardcodes a pin name works on one library and fails on the next, which is why flows query the library instead, with commands such as get_pins or the library cell reports. the open libraries reference

  • 134 macros in NangateOpenCellLibrary.macro.lef
    Each function repeated at several drive strengths.

    Hint: One function appears many times over. Ask along which axes.

    A library is a grid of choices: function by drive strength, and in a modern library by threshold voltage as well. Corners do not multiply the cell count, since they are separate Liberty files over the same cells. A production library runs to a thousand cells or more. the open libraries reference