1 of 56

Zero to ASIC

Democratising silicon

emBO++

@matthewvenn

ZeroToASICcourse.com

2 of 56

ZeroToASICcourse.com

3 of 56

Learning Aims

High level understanding of how to make a custom digital chip

Familiarity with the jargon

Approachable

Where to find help

See the tools in action for a simple design

Why

ZeroToASICcourse.com

4 of 56

Historical context

digital switches

How tiny switches are made into a chip

Skywater factory’s Open Source chip making specification

Digital design with a hardware description language

OpenLANE Open Source tools for chip design

Google’s free chip manufacturing opportunity

ZeroToASICcourse.com

5 of 56

  • GCC revolutionised compiling,
  • Linux revolutionised computing.
  • Arduino revolutionised embedded.
  • RISCV is revolutionising ISAs.
  • The next step is Open Source Silicon.

Where will this lead? Security, unpredictable innovation, simpler tools, greater accessibility, library of Open Source IP.

Why? Democratisation of Silicon

ZeroToASICcourse.com

6 of 56

mad, but in a good way

Niels Moseley, ASIC engineer.

Market for semiconductors $500 BN in 2018 - pwc

1.3×1022 of the tiny switches used inside modern chips manufactured between 1960 and 2018 - Wikipedia

Smallest features sizes in 10s of nanometers - 1 x 10-9 m

m, mm, um, nm

$100k for the non returnable setup costs

ZeroToASICcourse.com

7 of 56

Introduction to VLSI systems 1978

We are firm believers in learning by doing, and hope that the information provided in this chapter will help and encourage many groups of readers to try their hand at building LSI design tools and designing LSI systems.

ZeroToASICcourse.com

8 of 56

Digital computers need switches. Mechanisms, relays, valves, transistors.

First transistor: 1954, Morris Tanenbaum

First time a few were put together (IC): 1958, Kilby & Noyce

ZeroToASICcourse.com

9 of 56

https://www.computerhistory.org/siliconengine/

ZeroToASICcourse.com

10 of 56

ZeroToASICcourse.com

11 of 56

A MOSFET is a type of transistor we can use as a switch.

Metal Oxide Silicon Field Effect Transistor

First MOSFET: 1959, Mohamed M. Atalla & Dawon Kahng

ZeroToASICcourse.com

12 of 56

L = 150 nm

N type - arsenic

P type - boron

ZeroToASICcourse.com

13 of 56

  • Easy to manufacture in volume
  • Easy to change its size for speed or power
  • It has become the basic building block of modern electronics

Why MOSFETS?

ZeroToASICcourse.com

14 of 56

NMOS Inverter

In

Out

0

1

1

0

ZeroToASICcourse.com

15 of 56

CMOS

Complementary metal–oxide–semiconductor (CMOS) is a type of metal–oxide–semiconductor field-effect transistor (MOSFET) fabrication process that uses complementary and symmetrical pairs of p-type and n-type MOSFETs for logic functions.

https://en.wikipedia.org/wiki/CMOS

Low power compared to NMOS.

ZeroToASICcourse.com

16 of 56

Fabrication: How do you make a chip?

Draw polygons that represent where metal, SiO2 isolation or doping/implants should exist.

This used to be done by hand. Now we have CAD tools. You could even do this in Inkscape if you wanted to!

A complete chip is defined by several layers of these polygons.

Then send these layers to the chip fabricator (FAB for short). The most common way to do this is via the GDS2 file format.

ZeroToASICcourse.com

17 of 56

ZeroToASICcourse.com

18 of 56

ZeroToASICcourse.com

19 of 56

Skywater 130 standard inverter

ZeroToASICcourse.com

20 of 56

ZeroToASICcourse.com

21 of 56

Let’s build a CMOS inverter..

Vdd

In

Out

Vss

Demo!

ZeroToASICcourse.com

22 of 56

A library of all the specifications of a process used to fabricate chips.

Process Design Kit

ZeroToASICcourse.com

23 of 56

Google Skywater PDK standard cell library

Demo!

ZeroToASICcourse.com

24 of 56

ZeroToASICcourse.com

25 of 56

ZeroToASICcourse.com

26 of 56

33 layers

Used for building the transistors

Connecting everything up

Packaging

ZeroToASICcourse.com

27 of 56

Files

ZeroToASICcourse.com

28 of 56

DRC - antenna example

ZeroToASICcourse.com

29 of 56

The Node: what does 130nm mean?

Metrics for measuring integration density were metal half-pitch and gate length. For a while they were about the same number. This number became known as the node number.

By 1990s these numbers became uncoupled, and the 130nm node actually has 70nm gates. (Skywater 130 typical minimum gate length is about 150nm).

By 2000, the node number “had by then absolutely no meaning” Paolo Gargini. IEEE article by Samuel K. Moore: The node is nonsense.

Picture: M. Rovitto, iue.tuwien.ac.at

The half-pitch refers to half the minimum center-to-center distance spacing (or pitch) between Metal 1 lines

ZeroToASICcourse.com

30 of 56

OpenLANE https://github.com/efabless/openlane Demos done with v0.9

15 minute install of PDK and OpenLANE docker.

Prerequisites: magic & docker

ZeroToASICcourse.com

31 of 56

Example: Inverter.v

ZeroToASICcourse.com

32 of 56

Describing circuits with a HDL

  • Verilog, SystemVerilog, VHDL
  • nMigen, Migen, chisel, spinal...

Y = A & B;

always @(posedge CLK)

Q <= D;

Combinatorial

Sequential

ZeroToASICcourse.com

33 of 56

Digital design

Clock

16MHz

Second

Counter

Digit Counter

Digit decoder

ASIC

24 bit compare

ZeroToASICcourse.com

34 of 56

7 segment counter in Verilog

Module definition

Setup the counters

Do the counting

Decode the counter

Demo!

ZeroToASICcourse.com

35 of 56

Demo!

ZeroToASICcourse.com

36 of 56

Most important files in the run directory

ZeroToASICcourse.com

37 of 56

Demo!

ZeroToASICcourse.com

38 of 56

Demo!

ZeroToASICcourse.com

39 of 56

Demo!

ZeroToASICcourse.com

40 of 56

ZeroToASICcourse.com

41 of 56

7 segment seconds full demo

  1. Create new design: ./flow.tcl -design seven_segment_seconds -init_design_config
  2. Check new config.tcl
  3. Copy src to src dir
  4. Start openlane
  5. ./flow.tcl -design seven_segment_seconds
  6. Fix issues & go to 5!

ZeroToASICcourse.com

42 of 56

Simulation & Verification

  • We are committing to physical hardware that can’t be changed
  • Good idea to test things:
    • Simulation - shows some functions working
    • Coverage - tells you how much you have tested
    • Verification - proves the validity of the design

ZeroToASICcourse.com

43 of 56

Google/Skywater Shuttle

ASIC

ZeroToASICcourse.com

44 of 56

Shuttle details

ZeroToASICcourse.com

45 of 56

Caravel Harness

ZeroToASICcourse.com

46 of 56

Packaging: Wafer Level Chip

Scale Package

ZeroToASICcourse.com

47 of 56

ZeroToASICcourse.com

48 of 56

Example designs and sizes

with Skywater 130nm

um2

10mm2 (10e6 um2) user area, so could fit about 10 picorv32 cores inside.

ZeroToASICcourse.com

49 of 56

My first tapeout!

  1. Seven segment seconds
  2. HDMI driver
  3. Frequency counter
  4. TPM2137
  5. WS2812 driver
  6. SPI net
  7. Watch
  8. VGA clock
  9. MUX

ZeroToASICcourse.com

50 of 56

DRC issues!

ZeroToASICcourse.com

51 of 56

GOOGLE’s MPW-ONE

Manufacturing Tests

Manufacturing Tests

45 designs submitted

in 30 days!

Experienced

60% by first time designers!

ZeroToASICcourse.com

52 of 56

striVe chips are in - 1st test of PDK & tools

striVe

2.743 x 2.751 mm2

Released to FAB

ZeroToASICcourse.com

53 of 56

Overall Timeline & Milestones

ZeroToASICcourse.com

54 of 56

Multi project harness v2 - extreme edition

  • Improves on previous MUX solution
  • Project outputs isolated with tristate buffers
  • Projects are activated by the Caravel logic analyser
  • Each project has 300 x 300 um
  • Tools test each project and creates OpenLANE config to combine them

ZeroToASICcourse.com

55 of 56

The Zero to ASIC Course

  • 10 hands-on projects, supported with text guides and over 6 hours of videos.
  • 6 weeks support via discord server and office hours.
  • Asynchronous - do in your own time.
  • Next courses starting in April
  • Then planned for June

“Matt Venn's Zero To ASIC course is a real eye-opener to the possibilities of Open Source hardware. The course itself is a tour-de-force overview of almost all aspects of ASIC development from concept to GDSII. It's also great fun and regardless of your background or previous experience, you'll learn a lot and have a great deal of fun doing it. This course has inspired me to take the next step and submit my own design to efabless.” - Mike T.

“The course is crammed full of interesting material with great pacing and support from Matt, and it's been a fantastic opportunity to meet other folks with shared interests and different backgrounds. The course has left me excited with opportunities for new projects and optimism for some working silicon!” - Jamie I.

ZeroToASICcourse.com

56 of 56

Thanks!

  • Ahmed Ghazy
  • Amr Gouhar
  • Lauri Mihkels
  • Kunal Ghosh
  • Mohamed Shalan
  • Mohamed Kassem
  • Niels Moseley
  • Omer Kilic
  • Stuart Childs
  • Ted Yapo
  • Tim Mithro Ansell
  • Tim Edwards
  • Lots more!

More info & next steps

ZeroToASICcourse.com

@matthewvenn

  • Newsletter
  • Course details
  • Terminology list
  • Interviews
  • Resources - including link to these slides

ZeroToASICcourse.com