ChipFACTORYFoundations
Apply now
Foundations/STAGE 09
Foundations Track/STAGE 09
40 min Synthesis Mastery
SECTION 9

My RTL works. But where are the actual gates?

The Transformation Problem

“The RTL works in simulation. But simulation is only showing us behavior. Where is the actual hardware structure?”

In Section 8, you verified that your SystemVerilog code behaves with 100% mathematical precision. You drove clock pulses, inspected waveforms, and passed automated assertions.

Now you face the fundamental reality: You have written an abstract description of hardware, but you have not yet built the physical hardware itself. How does human-readable RTL turn into millions of physical transistors on silicon?

The Synthesis Transformation Chain:
RTL CODE→ELABORATION→LOGIC OPT→GATE NETLIST
9.1Behavior vs. Hardware Implementation

If the RTL works, haven't we already built the circuit?

When a software developer writes C or Python code, compiling it creates machine instructions executed by an existing CPU. But in chip design, there is no CPU waiting to execute your RTL.

Simulation answers: “Does this description behave correctly?” But simulation does not answer: “What physical gates, standard cells, and wires should exist on silicon?”

9.2The Architectural Blueprint Analogy (Slide 2 & 3)

What does RTL actually describe?

Think of RTL as an architectural blueprint for a house (Slide 2). The blueprint tells you where walls, doors, and rooms go, and how people move through the space. But it does not supply the actual physical bricks, timber, nails, or glass.

RTL defines Logical Intent (Boolean math), Register State (Flip-flops), and Dataflow. But it completely lacks physical realities like standard cell models, wire lengths, propagation delays, and thermal profiles.

Interactive Workbench 9.1 • Behavior vs. Hardware Implementation

Simulation verifies behavior (“What should it do?”). Synthesis generates structure (“What gates physically exist?”).

1. Behavioral RTLSource Code

The engineer describes mathematical relationships and register transfers:

module alu_core (
  input  logic a, b, c,
  output logic y
);
  // Combinational relationship
  assign y = (a & b) | c;
endmodule
Question Answered: “What logical relationship connects inputs to output?”
2. Physical StructureThe Silicon Gap
What hardware lives here?

Simulation executed the code, but no physical transistors or standard cells have been chosen yet!

Question Answered: “What physical gates and wires implement the logic?”
3. Verified BehaviorSimulation

Section 8 testbenches verified that when a=1, b=1 or c=1, y=1:

TIME →T0    T1    T2    T3
a:0     0     1     1
b:0     1     0     1
c:0     0     1     0
y:0     0     1     1 [PASS ✓]
Question Answered: “Does the circuit behave as expected over time?”
The Blueprint Analogy: What RTL Defines vs. What It Lacks (Slide 2 & 4)
✓ What RTL Defines (The Architectural Plan)
  • Logical Intent: Boolean math, additions, multiplexing.
  • Register State: Edge-triggered flip-flop storage.
  • Dataflow: How data streams from register to register.
✗ What RTL Lacks (The Physical Reality)
  • Standard Cells: Which specific foundry gates to use.
  • Timing Delays: Nanosecond propagation through silicon.
  • Spatial Placement & Routing: Wire tracks and die layout.
9.3Misconception Breaker • Hardware Inference

Is every RTL statement a gate?

A common beginner misconception is thinking synthesis performs a literal one-to-one translation where line 1 becomes gate 1 and line 2 becomes gate 2.

In reality, the synthesis compiler parses the entire behavioral description, identifies intent, and infers appropriate hardware structures:

  • assign y = a & b; → Infers physical AND Logic.
  • assign y = sel ? b : a; or if-else → Infers physical Multiplexers (MUX).
  • always_ff @(posedge clk) → Infers edge-triggered D Flip-Flops (DFF).
  • assign y = a + b; → Infers multi-bit Full Adder chains.
Interactive Workbench 9.3 • Hardware Statement Predictor

Misconception Breaker: Is every RTL statement a gate? Predict what hardware each SystemVerilog construct infers.

Progress: 1 / 5Score: 0/5
RTL Statement #1
assign y = a & b;

A continuous boolean assignment combining two single-bit wires.

What hardware does this code infer?
Select an option on the left to reveal the inferred hardware diagram.
9.4Boolean Optimization & Redundancy Elimination

What if the RTL describes the same behavior in different ways?

Consider these two boolean equations:

// Description A(a & b) | (a & c) // 3 gates
// Description Ba & (b | c) // 2 gates (Factored)

Both produce 100% identical truth tables. But Description B saves 33% of silicon gate area! This reveals the true power of synthesis: Synthesis is not just translation; it is mathematical transformation and optimization.

9.5The 3-Step Synthesis Pipeline (Slide 5 & 7)

What does “synthesis” actually do?

Logic synthesis executes a rigorous three-step compilation process (Slide 7):

  1. Parsing & Elaboration: Translates raw Verilog text into an internal Abstract Syntax Tree (AST) and technology-independent generic boolean network.
  2. Logic Optimization: Applies Boolean algorithms (like ABC) to simplify equations, remove dead logic, and minimize critical path depth.
  3. Technology Mapping: Binds generic logic nodes to actual standard cells from the foundry library to satisfy timing and area constraints.
Interactive Workbench 9.4 • Logic Optimization Engine

Synthesis is transformation, not translation. Watch the optimization compiler eliminate redundant gates and reduce critical path delay.

Select Optimization Transformation:
Optimized RTL FormSlide 7: Redundancy Elimination
assign y = a & (b | c);

By applying Boolean distributive laws, the synthesis engine factors out the common term `a`, eliminating an entire 2-input AND gate without changing logical behavior.

Gate Count2 Gates
Propagation Delay0.9 ns
Efficiency Gain-33% Area
Synthesized Gate TopographyOptimized Boolean Net
bcORaANDY
Synthesis algorithms like ABC perform technology-independent Boolean network transformations to minimize both cell area and propagation delay.
9.6Standard-Cell Libraries • The Lego Bricks of Silicon (Slide 6)

Where do the actual gates come from?

Where does the tool get real physical gates? Semiconductor foundries (like TSMC, Intel, or SkyWater) provide a Standard-Cell Library (Slide 6).

Like pre-fabricated Lego bricks, each standard cell (NAND2X1, INVX1, MUX2X1, DFFR_X1) is meticulously designed at the transistor level with a fixed physical height and characterized for delay, leakage power, and silicon area across varying voltages and temperatures.

Interactive Workbench 9.6 • Standard-Cell Library (.lib) Wall

Standard cells are the pre-characterized “Lego bricks” of silicon foundries. Inspect how technology mapping binds logic equations to physical cells.

Target Tech: SkyWater 130nm / FreePDK45
The Standard Height Principle (Slide 6)

Every standard cell in a library has the exact same fixed physical height ($2.72\ \mu m$). This allows automated placement tools to tile millions of cells seamlessly in neat horizontal rows across the silicon die!

1X
2X
4X
Fixed Height, Variable Width
Cell: NAND2X1 • Physical SpecificationCombinational
Boolean Function:Y = !(A & B)
Transistor Count:4 Transistors
Physical Silicon Area:3.92 µm² (1.44µm width)
Propagation Delay (t_pd):34 picoseconds
Static Leakage Power:2.1 nW

2-input NAND gate. The most silicon-efficient universal logic gate in CMOS technology.

Technology Mapping Role: The synthesis tool evaluates your RTL equation and chooses this cell if it provides the best area/timing trade-off.
Liberty (.lib) EDA Model FormatPre-Characterized
cell (NAND2X1) {
  area : 3.92;
  pin(A) { direction: input; }
  pin(B) { direction: input; }
  pin(Y) { direction: output;
    function: "!(A & B)"; }
}

Foundries provide .lib (Liberty) files containing exact delay lookup tables for every input transition time and output capacitive load.

9.7Gate-Level Netlists • Cells, Instances & Nets (Slide 8)

What exactly is a netlist?

Once technology mapping is complete, how does the synthesis engine represent the resulting physical circuit? It outputs a Gate-Level Netlist (Slide 8).

A netlist is a purely structural description containing three building blocks:

1. Cells

The library types used (e.g. NAND2X1, FA_X1).

2. Instances

Unique occurrences of cells (e.g. U101, U102).

3. Nets

Physical interconnect wires linking pins together.

Interactive Workbench 9.7 • Gate-Level Netlist Structural Explorer

A gate-level netlist is a comprehensive structural parts list: which library cells exist, and how their pins are wired together.

synth_output_netlist.v
The Abstraction Ladder Slider:4. Gate-Level Netlist
High Level (Behavior)Low Level (Silicon)
Structural technology-mapped cells & nets:
FA_X1 U102 (.A(acc_out[0]), .B(op_b[0]), .CI(sel_sub), .S(next_acc[0]), .CO(carry_net0));
DFFR_X1 U103 (.D(next_acc[0]), .CLK(clk), .RST_N(rst_n), .Q(acc_out[0]));
Structural Verilog InstancesClick instance to inspect
// alu_acc_top Gate-Level Netlist
module alu_acc_top (clk, rst_n, sel_sub, in_data, acc_out);
wire carry_net0, carry_net1, op_b0, op_b1;
// 1. Cells, 2. Instances, 3. Nets:
MUX2X1U101 (
.A(in_data[0]),
.B(n_inv0),
.S(sel_sub),
.Y(op_b[0])
);
FA_X1U102 (
.A(acc_out[0]),
.B(op_b[0]),
.CI(sel_sub),
.S(next_acc[0])
.CO(carry_net0)
);
DFFR_X1U103 (
.D(next_acc[0]),
.CLK(clk),
.RST_N(rst_n),
.Q(acc_out[0])
);
FA_X1U104 (
.A(acc_out[1]),
.B(op_b[1]),
.CI(carry_net0),
.S(next_acc[1])
.CO(carry_net1)
);
DFFR_X1U105 (
.D(next_acc[1]),
.CLK(clk),
.RST_N(rst_n),
.Q(acc_out[1])
);
Instance: U102 (FA_X1)Mapped Cell

1-Bit Full Adder computing sum for bit 0 and propagating carry to bit 1.

Cell PinDirectionConnected Net Wire
AINPUTacc_out[0]
BINPUTop_b[0]
CIINPUTsel_sub
SOUTPUTnext_acc[0]
COOUTPUTcarry_net0
1. Cell TypeFA_X1
2. InstanceU102
3. Nets5 Pins
9.8The Yosys Open-Source Synthesis Flow (Slide 11 & 12)

Can we actually run synthesis?

In modern open-source silicon engineering, the leading tool for logic synthesis is Yosys (Slide 11).

Below, execute real Yosys synthesis passes on our 4-bit accumulator datapath module. Observe how Yosys reports cell counts, combinational vs sequential instances, and total estimated silicon area!

Interactive Workbench 9.8 • Yosys Synthesis Execution Engine

Execute open-source Yosys to compile your 4-bit accumulator into standard-cell gates and analyze the resulting physical metrics.

YOSYS OPEN-SOURCE COMPILATION PIPELINE (Slide 11)Target: SkyWater 130nm Standard Cells
1. RTL ParserRead Verilog & Elaborate AST
2. Generic OptBoolean minimization
3. ABC MappingStandard cell binding
4. Netlist WriterExport structural Verilog
Total Cells1814 comb + 4 seq
Silicon Area142.8 µm²Standard cell pitch
Max Critical Delay1.85 nsLongest logic path
Max Clock Freq540 MHzEstimated F_max
Standard Cell Breakdown • Technology Mapping Result
Cell NameInstance CountTotal Area (µm²)Area %
NAND2X14 cells15.68 µm²11.0%
NOR2X12 cells7.84 µm²5.5%
MUX2X14 cells23.52 µm²16.5%
FA_X14 cells57.44 µm²40.2%
DFFR_X14 cells52.24 µm²36.6%
Summary & The Next Frontier (Slide 12)

“Our circuit works in simulation and synthesized into gates. But how good is the hardware we actually created?”

We now possess a physical gate-level netlist! But as chip architects, we are judged on three critical competing metrics: Power, Performance, and Area (PPA). Is our critical path fast enough for 1 GHz? Does our circuit burn too much battery? In Section 10, we explore the trade-offs of physical hardware quality!

SECTION 9 MASTER SYNTHESIS

From Abstract Code to Physical Standard-Cell Gates

You have crossed the bridge from software-like RTL descriptions to structural silicon hardware. Your code has been elaborated, optimized, and mapped into real standard cells and interconnect nets ready for physical chip placement.

The Next Frontier • Section 10

My circuit works, but how good is the hardware?

We now possess a physical gate-level netlist! But as chip architects, we are judged on three critical competing metrics: Power, Performance, and Area (PPA). Is our critical path fast enough for 1 GHz? Does our circuit burn too much battery? In Section 10, we explore the trade-offs of physical hardware quality!