1always @(posedge clk)2 q <= a & b;design.vSYNTH1and2_1 u12dfxtp_1 r1netlist.vSTADRC LVS0101MASKSVDDGNDVDDGNDVDDASIC01TESTFFANDANDFFANDFFANDANDFFANDFFANDANDANDFFFFRTLnetlistGDSII
Lit wire with moving dashes: current is flowing (power rails, clock tree, signal wires)Cells: magenta = flip-flop (FF), aqua = AND gate; all the same height, in rowsLamps: a glowing lamp means the check passedTokens carry the design: RTL, netlist, GDSII file, a mask, a good dieThe back row holds the stages that work on the design as text and data: RTL code, synthesis into a netlist, timing sign-off, DRC and LVS checks, and the mask set made at tape-out. The die up close fills in step by step: floorplan, placed cells, clock tree, metal wires. The wafer is printed layer by layer, and one good die becomes the packaged chip. Cell names are from the open SkyWater SKY130 high-density library (sky130_fd_sc_hd__and2_1, a 2-input AND, and sky130_fd_sc_hd__dfxtp_1, a flip-flop). SKY130 has one local-interconnect layer and five metal layers. Bloomberg Businessweek (2016) reported that Intel's wafers take about three months and more than 2,000 steps of lithography, etching and deposition. ASML's EUV machines print with 13.5 nm light; leading fabs such as TSMC's process 300 mm (12-inch) wafers. IEEE Spectrum (2020): the critical features of a 7 nm transistor are much larger than 7 nm, and the IRDS roadmap puts 5 nm chips at a 48 nm contacted gate pitch and a 36 nm metal pitch. EE Times (2008) put a leading-edge 45 nm mask set at $2 million to $2.2 million and a 32 nm set at about $4 million; sets for newer nodes cost more.

Design

  1. A chip starts as text. Designers write RTL (register-transfer level) code in a hardware language such as Verilog. It says what happens on each clock tick: here, at every rising edge, register q stores a AND b.

Physical design

Sign-off

Silicon

Inside the step

;; step 1/12 · rtl
;; about: RTL code
RTL = register-transfer level

always @(posedge clk)
  q <= a & b;

@(posedge clk)  on each rising clock edge
q <= a & b      q stores a AND b

the same idea in Python:
q = a & b   # once per clock tick

The steps follow the standard ASIC flow described in Weste and Harris, CMOS VLSI Design (4th ed.), and used by the open OpenROAD tools: synthesis, floorplan, placement, clock tree synthesis, routing, sign-off, then tape-out. The delays in the timing step are example numbers chosen to show the sum, not values from a real cell library. At 1 GHz one clock period is 1/1,000,000,000 s = 1 ns.