Logo
VLSI Physical Design  ›  Ch 11. Cell Libraries & ECO

because there is no reference run.

KEY ECO extraction re-extracts only ECO-changed nets plus their coupled neighbors, slashing runtime while keeping full-chip accuracy.

StarRC and PrimeTime ECO Flow

  • Create the StarRC command file for ECO extraction on the Milkyway database, setting MILKYWAY_DATABASE to CPU.mw, BLOCK to top_block_rev0, ECO_MODE to YES, STAR_DIRECTORY to star, NETLIST_FILE to pre_eco_full_chip.spef, NETLIST_ECO_FILE to post_eco_incr.spef, and SUMMARY_FILE to pre_eco.star_sum.
  • Run StarRC. The first run is a full-chip extraction; its netlist is saved under the NETLIST_FILE name, and an empty netlist is saved to the NETLIST_ECO_FILE name.
  • Modify the read_parasitics command in the PrimeTime script to include both the full and ECO netlist names, for example: read_parasitics -format spef -keep_capacitive_coupling ./pre_eco_full_chip.spef -eco ./post_eco_incr.spef.
  • Run PrimeTime.
  • Fix the timing violations and save the changes into the design database, then re-run for the comparison ECO pass, clearing and regenerating the NETLIST_ECO_FILE.

KEY Run a full-chip StarRC first, feed both full and ECO SPEFs to PrimeTime's read_parasitics, fix timing, and iterate.

Multibit Flip-Flop Designs

Replacing single-bit cells with multibit cells brings several benefits:

  • Area reduction from shared transistors and optimized transistor-level layout - a 2-bit cell is smaller than two 1-bit cells thanks to shared logic, shared power connections and a shared substrate well. Bits banked together must share the same clock and control signals such as preset and clear.
  • Reduction in the total clock-tree net length.
  • Fewer clock-tree buffers and lower clock-tree power - merging