Skip to content

Lecture #4 Notes:Layout & Fabrication

I decided to split this information from this week into two different pages:

    1. Notes from the lecture.
    1. Assignment.

It was getting confusine.

Missed Class What is a cell? Cell is a layer of a chip How are layers and cells related? Is it fabricatable? Design Rules What is M1? Sky 130 is a pdk? Sky 130 -> 130 nm is the representation of size Layout vs schematic checking FOundary develops the PDKs (Process Development Kits) Bare die or packaged part

Homework

  • Block diagram: Sketch your project’s architecture showing major modules and data flow (e.g., Pocket Synth: button inputs → tone selector → oscillator → PWM output)

  • Explore a standard cell: Open the sky130 standard cell library in KLayout and find an inverter (sky130_fd_sc_hd__inv_1). Identify metal, poly, and diffusion layers.

    • In the container:
    • klayout /foss/pdks/sky130A/libs.ref/sky130_fd_sc_hd/gds/sky130_fd_sc_hd.gds Tip: Use Edit → Find (Ctrl+F) to search for “inv_1”
  • Connect the dots: Pick one block from your diagram — what standard cells might implement it? (e.g., “counter” needs flip-flops, “tone selector” needs muxes)

Block Diagram of Project’s Architecture

No clue how to proceed - block diagram verify Digital block run the test bench

Since I did not get a chance to attend the live lecture I needed to do something else. The plan: Read the documentation Layout & Fabrication

Capture what I learned

Watch video of Layout & Fabrication

Capture what I learned

Attempt the assignment

More than likely research

Try something, more than likely be wrong

Repeat

Let’s Go

DRC - Design Rule Checking - This is done to capture layout violations, bridging the gap between design and manufacturing

Week 1-2 (Foundation): Week 3-4 (Application):
Electrons Verilog HDL
Transistors Logic Gates
CMOS Logic Gates Synthesized Layout
Layout & DRC Your Working Chip

(same gates!)

Yosys - A digital Logic synthesis tool, takes a hardware description and turns it into a gate level netlist Summarized by me using ChatGPT

This gave me my first clue to read a verilog file

netlist - text description of a circuit amongst it’s hardware. Common netlist types: RTL netlist, Gate-level netlist, transistor level

LVS - Layout Verses Schematic

Netlist Types and Typical Tools - Generated by ChatGPT

Netlist type What it represents Common formats Common software (create / read / use)
RTL netlist (behavioral) Registers + combinational logic described at a high level Verilog, SystemVerilog, VHDL Create: any HDL editor • Sim/verify: Icarus Verilog (iverilog), Verilator, ModelSim/Questa, Xcelium, VCS • Synthesize: Yosys, Synopsys Design Compiler, Cadence Genus
Gate-level netlist (standard-cell) Logic mapped to real library cells (NAND, DFF, etc.) Verilog (structural), EDIF, JSON (tool-specific) Create: Yosys+ABC, Design Compiler, Genus • Sim: iverilog, Verilator, ModelSim/Questa, Xcelium, VCS • P&R: OpenROAD, Cadence Innovus, Synopsys ICC2 • LVS reference: Calibre, Pegasus, Netgen
Transistor-level netlist Individual devices (MOSFETs), R/C elements, sources SPICE (*.sp), Spectre format Create/edit: Xschem, Virtuoso Schematic • Sim: ngspice, Xyce, Spectre, HSPICE
Post-layout extracted netlist (PEX) Transistor/cell netlist + extracted parasitics (R/C) from layout SPICE + parasitic decks (often SPEF / SPICE-RC) Extract: Magic, KLayout, Calibre xRC, StarRC, Quantus • Sim: ngspice, Spectre, HSPICE
Parasitic netlist / parasitic data Interconnect parasitics for timing/power analysis SPEF (common), DSPF, RSPF Generate: OpenROAD, StarRC, Quantus, Calibre xRC • Use: STA tools (OpenSTA, PrimeTime, Tempus)
PCB netlist Connectivity between schematic symbols and PCB footprints KiCad netlist, EDIF, IPC-2581 (often), tool-specific Create/use: KiCad, Altium Designer, OrCAD/Allegro, Eagle/Fusion Electronics
SPICE “subcircuit” library netlists Reusable blocks/models (cells, IOs, analog macros) SPICE .SUBCKT, Spectre libraries Use: ngspice, Spectre, HSPICE • Manage: PDKs / model libraries

From Lecture

There are two fundamental flows for getting a circuit onto a chip:

Analog Flow Digital Flow
Design Entry Schematic (XScheme) HDL code(Verilog)
Verification Spice Simulation Logic Simulation
Layout Manual(or assisted) Automated (P&R)
Typical Use Amplifiers,ADCs,Sensors Processors, controllers
What you control Every Transistor Achitecture and Timing

HDL - Hardware Description Language - Used to describe digital Hardware cricuits HDL is to a chip what CAD is to a mechanical part

P&R - Place and Route

In order to understand the flow better, I used ChatGPT to create a table which matches the Digtil, Analog, to a mechanical DFM workflow. To this is extremely helpful.

‘Digital -> Analog -> Mechanical’ Design to Manufacturing Workflow

Stage / Idea Analog IC flow Digital IC flow Mechanical analog
Design entry Transistor schematic (Xschem) HDL/RTL code (Verilog/SystemVerilog) CAD model + requirements (parts, assemblies)
Primary goal Voltage/current performance (gain, noise, stability) Correct logic + timing/power/area Function + strength/stiffness/fit + cost
Main verification SPICE (DC/AC/transient/noise, corners, Monte Carlo) Logic sim + formal + STA (timing) Hand calcs + FEA (static/fatigue/thermal) + tolerance stack
“Building blocks” Transistors, caps, resistors, devices Standard cells (NAND, flops, muxes) Standard parts (fasteners, bearings) + features (holes, ribs, bosses)
“Layout / implementation” Custom layout (manual/assisted) Automated P&R (place & route) CAD detailing + CAM/toolpaths + nesting; assembly layout
What you control most Every device geometry + placement/matching/parasitics Architecture, constraints, timing intent Geometry, materials, interfaces, GD&T
Common checks before release DRC/LVS + post-layout SPICE (PEX) DRC/LVS + STA + power/IR/EM + sign-off Interference checks + DFM/DFA + drawing review + inspection plan
Output artifact GDSII layout + netlist Gate-level netlist + GDSII Drawings (GD&T), BOM, CAM files, inspection criteria
Typical use cases Amps, PLLs, ADC/DAC front ends, sensors, IO CPUs, controllers, accelerators, DSP Mechanisms, fixtures, enclosures, frames, precision parts
Iteration driver Parasitics/matching/noise margins Timing closure, congestion, power Test results, manufacturability, tolerances, cost
Automation level Lower (expert-driven) Higher (tool-driven) Medium (parametric CAD/CAM + expert judgment)
Folow to directions

In the docker and in the terminal xschem

alt text

alt text

alt text

Failed Attempt! It seems the path is incorrect.

alt text

Explore a standard Cell

Connect the dots

Resources:

  1. https://ngspice.sourceforge.io/osdi.html
  2. https://en.wikipedia.org/wiki/Verilog-A