Learn chip physical design by doing

Complete the design challenge, solve graded problems, drill the tools, and take a real processor from netlist to finished layout right here in your browser. Everything is built from real runs of the open-source OpenROAD flow.

Challenge open

Chipbase Competition 01: Systolic Array AI Accelerator

Harden the full Gemmini design, an open-source AI accelerator, from RTL (Register Transfer Level) to GDSII (Graphic Design System II) with open tools. Entries are scored on clock speed, area and power.

See the challenge
Leaderboard
1 Open: be the first entry 
2 Open 
3 Open 
 Reference flow, the score to beat1.000
Try it in your browser

Take a real processor through the flow

riscv32i, a small RISC-V (Reduced Instruction Set Computer, fifth generation) processor: 8,636 cells and four memories. Set it up, press Run, and watch the whole flow in a few seconds.

A simplified engine in your browser, not OpenROAD, on the design's real netlist and library. The real run used the flow's settings (1,138 ps, 62% full). How the engine works

The finished riscv32i layout from a real OpenROAD run
The real OpenROAD layout. Press Run to make your own.
Try out designs like this in the sandbox →

Your run in three dimensions

The chip your run made, as it would stand in silicon: the cells on the bottom, then each metal layer of routed wire above the one before, joined by vias. Drag to turn it, and switch layers on and off.

riscv32i in three dimensions: the cells on the die, and the routed metal layers above them
Sample run

riscv32i at the flow's own settings, as the engine draws it. Press Run, and the chip you make replaces it here, ready to turn, zoom and take apart layer by layer.

Try it yourself

Problems

15
graded problems

Small tasks graded like a judge, some by a real OpenROAD run on a real netlist.

+3 more

Sandboxes

4
walkthrough and designs

One real block walked through every stage of the flow, and whole designs to take through it yourself, in your browser.

Games

911
questions

Fast drills on the knowledge around the problems, every question built from a real run.

+1 more
Read and understand

Education

8
reference pages

One page per topic, covering what a physical design engineer needs to know about it.

+2 more

Methods and algorithms

90
algorithm pages

The classic algorithms behind every flow stage: what each does, where it came from, and where it is used.

+1 more

What sits underneath the flow: process design kits, cell libraries, metal stacks, variation.

Glossary

108
terms

Every term and acronym the site uses, defined once and linked to the pages that use it.

+2 more
Tutor

Stuck on a passage? Ask your own model

Highlight any sentence on the site and copy it as a reference. Paste it into Claude, or any assistant that speaks MCP (Model Context Protocol), and the free Chipbase tutor looks up the page you were reading, so the explanation starts from exactly where you got stuck. It runs on your machine, with the model you already use.

Get the tutor
  1. Highlight
  2. Copy
  3. Paste and ask
  4. Tutor looks up
Education › Static Timing Analysis
Setup and hold: the two checks

A flip-flop captures its data input only if that input is stable across a small window around the clock edge: the setup time before the edge and the hold time after it. On a path from a launch flip-flop through logic to a capture flip-flop, those two library numbers become two checks.

setup slack = (T − tsu) − arrivalmax
hold slack = arrivalmin − thold

The asymmetry drives everything downstream. Setup is the late check: it uses the maximum path delay and measures data against the next clock edge, so a longer period buys margin. Hold is the early check: it uses the minimum path delay and measures data against the same edge, so the period cancels and no clock setting can fix a hold violation.

Copy reference
your model chipbase-tutor connected
> "the setup time before the edge and the hold time after it"
> (Chipbase: Static Timing Analysis > Setup and hold: the two checks)
resolve_reference looking up the page→ found, exact match
Static Timing Analysis › Setup and hold: the two checks
… stable across a small window around the clock edge: the setup time before the edge and the hold time after it. …
setup slack = (T − tsu) − arrivalmax
hold slack = arrivalmin − thold
arrivalmin: earliest data arrival, from the fastest path
Because hold is the early check. The page defines hold slack as arrivalmin − thold, and arrivalmin comes from the fastest path: if new data gets there too soon, it overwrites the value the flip-flop is still holding.