OpenROAD · SKY130

Physical Design

Constrain timing, place cells, build a clock tree and route a SKY130 block with OpenROAD.

Eight modules, from standard cells to complete blocks.

Try RTL → GDSII
8-bit MAC in SKY130 after global routing3 % of the tracks4 % of the tracks11 % of the tracks7 % of the tracks4 % of the tracks3 % of the tracks6 % of the tracks16 % of the tracks26 % of the tracks13 % of the tracks7 % of the tracks10 % of the tracks11 % of the tracks6 % of the tracks3 % of the tracks3 % of the tracks6 % of the tracks3 % of the tracks3 % of the tracks20 % of the tracks30 % of the tracks24 % of the tracks29 % of the tracks24 % of the tracks16 % of the tracks13 % of the tracks13 % of the tracks14 % of the tracks14 % of the tracks17 % of the tracks6 % of the tracks14 % of the tracks34 % of the tracks24 % of the tracks19 % of the tracks13 % of the tracks19 % of the tracks17 % of the tracks14 % of the tracks20 % of the tracks13 % of the tracks11 % of the tracks4 % of the tracks4 % of the tracks10 % of the tracks7 % of the tracks26 % of the tracks33 % of the tracks40 % of the tracks29 % of the tracks19 % of the tracks16 % of the tracks21 % of the tracks16 % of the tracks11 % of the tracks31 % of the tracks11 % of the tracks3 % of the tracks7 % of the tracks14 % of the tracks13 % of the tracks26 % of the tracks20 % of the tracks24 % of the tracks21 % of the tracks10 % of the tracks10 % of the tracks16 % of the tracks20 % of the tracks19 % of the tracks40 % of the tracks13 % of the tracks3 % of the tracks4 % of the tracks11 % of the tracks20 % of the tracks33 % of the tracks24 % of the tracks31 % of the tracks20 % of the tracks19 % of the tracks10 % of the tracks13 % of the tracks16 % of the tracks13 % of the tracks31 % of the tracks13 % of the tracks3 % of the tracks6 % of the tracks14 % of the tracks14 % of the tracks26 % of the tracks19 % of the tracks33 % of the tracks24 % of the tracks23 % of the tracks17 % of the tracks19 % of the tracks10 % of the tracks10 % of the tracks26 % of the tracks13 % of the tracks3 % of the tracks7 % of the tracks21 % of the tracks14 % of the tracks30 % of the tracks26 % of the tracks33 % of the tracks30 % of the tracks26 % of the tracks20 % of the tracks27 % of the tracks13 % of the tracks13 % of the tracks30 % of the tracks17 % of the tracks3 % of the tracks10 % of the tracks27 % of the tracks13 % of the tracks23 % of the tracks16 % of the tracks21 % of the tracks14 % of the tracks20 % of the tracks11 % of the tracks13 % of the tracks13 % of the tracks10 % of the tracks23 % of the tracks10 % of the tracks3 % of the tracks11 % of the tracks23 % of the tracks24 % of the tracks29 % of the tracks17 % of the tracks23 % of the tracks17 % of the tracks11 % of the tracks19 % of the tracks20 % of the tracks11 % of the tracks13 % of the tracks21 % of the tracks6 % of the tracks3 % of the tracks10 % of the tracks14 % of the tracks19 % of the tracks13 % of the tracks9 % of the tracks13 % of the tracks17 % of the tracks13 % of the tracks14 % of the tracks21 % of the tracks14 % of the tracks16 % of the tracks11 % of the tracks3 % of the tracks9 % of the tracks17 % of the tracks26 % of the tracks21 % of the tracks16 % of the tracks20 % of the tracks27 % of the tracks21 % of the tracks13 % of the tracks21 % of the tracks21 % of the tracks27 % of the tracks9 % of the tracks6 % of the tracks10 % of the tracks10 % of the tracks13 % of the tracks9 % of the tracks14 % of the tracks9 % of the tracks17 % of the tracks10 % of the tracks14 % of the tracks6 % of the tracks10 % of the tracks9 % of the tracks3 % of the tracks3 % of the tracks3 % of the tracks3 % of the tracks16 % of the tracks14 % of the tracks20 % of the tracks13 % of the tracks13 % of the tracks9 % of the tracks9 % of the tracks3 % of the tracks3 % of the tracks3 % of the tracksa[0] (input)a[1] (input)a[2] (input)a[3] (input)a[4] (input)a[5] (input)a[6] (input)a[7] (input)acc[0] (output)acc[10] (output)acc[11] (output)acc[12] (output)acc[13] (output)acc[14] (output)acc[15] (output)acc[16] (output)acc[17] (output)acc[18] (output)acc[19] (output)acc[1] (output)acc[2] (output)acc[3] (output)acc[4] (output)acc[5] (output)acc[6] (output)acc[7] (output)acc[8] (output)acc[9] (output)b[0] (input)b[1] (input)b[2] (input)b[3] (input)b[4] (input)b[5] (input)b[6] (input)b[7] (input)clk (input)en (input)rst_n (input)
Measured in OpenROAD · 8-bit MAC · SKY130Explore this layout

Explore the Lessons

Open a module to see its lessons.

How does a netlist become a chip?

Physical Design

Take a netlist to a placed and routed block: standard cells and the library, static timing analysis from the Liberty tables to the SDC, floorplan, placement, clock tree and routing, each step run with OpenROAD on the page.

47 lessons
  1. L1

    From Netlist to Layout

    6 lessons

    Name every stage of the physical design flow and the files it reads and writes, read a standard cell in its LEF and Liberty views, and measure a design in area, rows and sites.

    1. L1.1What the flow does and why
    2. L1.2Standard cells: the library's building blocks
    3. L1.3Your RTL in real cells
    4. L1.4The files of a physical design flow
    5. L1.5Rows, sites, tracks and the metal stack
    6. L1.6Reading a flow log
  2. L2

    Static Timing Analysis

    9 lessons

    Compute a cell delay from the Liberty tables and match the tool, follow arrival times and slews along a path, write the setup and hold checks with skew and uncertainty, and constrain a block with SDC.

    1. L2.1Timing arcs: what a cell promises
    2. L2.2Delay and slew from the Liberty tables
    3. L2.3The timing graph: arrival times and slew
    4. L2.4Setup and hold with skew and uncertainty
    5. L2.5Reading a timing report
    6. L2.6Clocks in SDC
    7. L2.7Input and output delays
    8. L2.8False paths and multicycle paths
    9. L2.9Corners, derates, OCV and CPPR
  3. L3

    Floorplan and Power

    5 lessons

    Turn a cell area into a core with a chosen utilization and aspect ratio, place I/O pins on purpose, leave room around macros, build the power grid layer by layer with its well taps, and measure static IR drop.

    1. L3.1Die, core, utilization and aspect ratio
    2. L3.2Pin placement
    3. L3.3Macros, halos and channels
    4. L3.4The power grid and well taps
    5. L3.5IR drop and electromigration
  4. L4

    Placement

    5 lessons

    Compute HPWL and read the placer's overflow log, choose a target density and find a congestion hotspot, check a legal placement and its displacement, repair slew, capacitance and fanout, and win back the slack the first wire delays take.

    1. L4.1Global placement and wirelength
    2. L4.2Density and congestion
    3. L4.3Legalization and detailed placement
    4. L4.4Repairing design rules: slew, capacitance, fanout
    5. L4.5Timing-driven placement and the first wire delays
  5. L5

    Clock Tree Synthesis

    6 lessons

    Tell global skew from the local skew that enters a slack, build the MAC's clock tree and read its buffers, insertion delay, skew and power, budget I/O paths for the moment the clock becomes propagated, borrow time with useful skew, repair hold after CTS, and choose where a clock-gating cell sits in the tree.

    1. L5.1Skew, latency and insertion delay
    2. L5.2Building the tree
    3. L5.3From ideal to propagated clocks
    4. L5.4Useful skew: borrowing time between stages
    5. L5.5Hold repair after CTS
    6. L5.6Clock gating cells in the tree
  6. L6

    Routing

    6 lessons
  7. L7

    Sign-Off

    6 lessons
  8. L8

    Physical Design Capstones

    4 lessons