# How a computer chip is made

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv0kpzdw0018jv068bfvz6ia
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 17 steps across 2 layers
- Persona: Packaging, Your device
- Technology / systems: Silicon, The factory (fab), Lithography machine

## Pain points

Where this process hurts, worst first:

- **Cut up the wafer and package each chip** (How a computer chip is made; painful): Even tiny dust can ruin a chip, and yields drive the cost

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## How a computer chip is made

Lanes:
- Silicon: technology / system (id `sand`)
- The factory (fab): technology / system (id `fab`)
- Lithography machine: technology / system (id `euv`)
- Packaging: person / role (id `pack`)
- Your device: person / role (id `you`)

Steps, in the order they run:

1. **Sand becomes ultra-pure silicon** [start; Silicon; id `c1`]
   - then Grow a crystal and slice it into wafers
2. **Grow a crystal and slice it into wafers** [task; The factory (fab); id `c2`]
   - then Coat the wafer with a light-sensitive layer
3. **Coat the wafer with a light-sensitive layer** [task; The factory (fab); id `c3`]
   - then Print a pattern with light
4. **Print a pattern with light** [subprocess; Lithography machine; id `c4`], opens the detail layer "Printing with light"
   - then Etch away the exposed parts
5. **Etch away the exposed parts** [task; The factory (fab); id `c5`]
   - then Add or implant materials to build one layer
6. **Add or implant materials to build one layer** [task; The factory (fab); id `c6`]
   - then Are all the dozens of layers done?
7. **Are all the dozens of layers done?** [decision; The factory (fab); id `c7`]
   - if "Yes" go to Test thousands of chips on each wafer; if "No — another layer" go to Coat the wafer with a light-sensitive layer
8. **Test thousands of chips on each wafer** [task; The factory (fab); id `c8`]
   - then Does a chip pass?
9. **Does a chip pass?** [decision; The factory (fab); id `c9`]
   - if "Yes" go to Cut up the wafer and package each chip; if "No" go to Discard it
10. **Cut up the wafer and package each chip** [task; Packaging; id `c11`] ⚠ PAIN POINT (painful): Even tiny dust can ruin a chip, and yields drive the cost
   - then It ends up in a phone or a data center
11. **It ends up in a phone or a data center** [end; Your device; id `c12`]
12. **Discard it** [end; The factory (fab); id `c10`]

```mermaid
flowchart LR
  subgraph l_sand["Silicon"]
    n_c1(["Sand becomes ultra-pure silicon"])
  end
  subgraph l_fab["The factory (fab)"]
    n_c2["Grow a crystal and slice it into wafers"]
    n_c3["Coat the wafer with a light-sensitive layer"]
    n_c5["Etch away the exposed parts"]
    n_c6["Add or implant materials to build one layer"]
    n_c7{"Are all the dozens of layers done?"}
    n_c8["Test thousands of chips on each wafer"]
    n_c9{"Does a chip pass?"}
    n_c10(["Discard it"])
  end
  subgraph l_euv["Lithography machine"]
    n_c4[["Print a pattern with light"]]
  end
  subgraph l_pack["Packaging"]
    n_c11["Cut up the wafer and package each chip"]
  end
  subgraph l_you["Your device"]
    n_c12(["It ends up in a phone or a data center"])
  end
  n_c1 --> n_c2
  n_c2 --> n_c3
  n_c3 --> n_c4
  n_c4 --> n_c5
  n_c5 --> n_c6
  n_c6 --> n_c7
  n_c7 -->|"Yes"| n_c8
  n_c7 -->|"No — another layer"| n_c3
  n_c8 --> n_c9
  n_c9 -->|"Yes"| n_c11
  n_c9 -->|"No"| n_c10
  n_c11 --> n_c12
```

### Printing with light (detail of step "Print a pattern with light")

Lanes:
- Lithography machine: technology / system (id `euv`)

Steps, in the order they run:

1. **Extreme ultraviolet light is made by zapping tin droplets with a laser** [start; Lithography machine; id `l1`]
   - then Mirrors, not lenses, because glass absorbs it
2. **Mirrors, not lenses, because glass absorbs it** [task; Lithography machine; id `l2`]
   - then Project the pattern, with features a few nanometers wide
3. **Project the pattern, with features a few nanometers wide** [task; Lithography machine; id `l3`]
   - then One machine costs hundreds of millions of dollars
4. **One machine costs hundreds of millions of dollars** [task; Lithography machine; id `l4`]
   - then Only one company in the world makes them
5. **Only one company in the world makes them** [end; Lithography machine; id `l5`]

```mermaid
flowchart LR
  subgraph l_euv["Lithography machine"]
    n_l1(["Extreme ultraviolet light is made by zapping tin droplets with a laser"])
    n_l2["Mirrors, not lenses, because glass absorbs it"]
    n_l3["Project the pattern, with features a few nanometers wide"]
    n_l4["One machine costs hundreds of millions of dollars"]
    n_l5(["Only one company in the world makes them"])
  end
  n_l1 --> n_l2
  n_l2 --> n_l3
  n_l3 --> n_l4
  n_l4 --> n_l5
```

## Full data (JSON)

```json
{
  "title": "How a computer chip is made",
  "maps": {
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "sand",
          "name": "Silicon",
          "type": "system"
        },
        {
          "id": "fab",
          "name": "The factory (fab)",
          "type": "system"
        },
        {
          "id": "euv",
          "name": "Lithography machine",
          "type": "system"
        },
        {
          "id": "pack",
          "name": "Packaging",
          "type": "person"
        },
        {
          "id": "you",
          "name": "Your device",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "c1",
          "kind": "start",
          "lane": "sand",
          "next": [
            {
              "to": "c2"
            }
          ],
          "uses": [],
          "label": "Sand becomes ultra-pure silicon"
        },
        {
          "id": "c2",
          "kind": "task",
          "lane": "fab",
          "next": [
            {
              "to": "c3"
            }
          ],
          "uses": [],
          "label": "Grow a crystal and slice it into wafers"
        },
        {
          "id": "c3",
          "kind": "task",
          "lane": "fab",
          "next": [
            {
              "to": "c4"
            }
          ],
          "uses": [],
          "label": "Coat the wafer with a light-sensitive layer"
        },
        {
          "id": "c4",
          "kind": "subprocess",
          "lane": "euv",
          "next": [
            {
              "to": "c5"
            }
          ],
          "uses": [],
          "child": "m_litho",
          "label": "Print a pattern with light"
        },
        {
          "id": "c5",
          "kind": "task",
          "lane": "fab",
          "next": [
            {
              "to": "c6"
            }
          ],
          "uses": [],
          "label": "Etch away the exposed parts"
        },
        {
          "id": "c6",
          "kind": "task",
          "lane": "fab",
          "next": [
            {
              "to": "c7"
            }
          ],
          "uses": [],
          "label": "Add or implant materials to build one layer"
        },
        {
          "id": "c7",
          "kind": "decision",
          "lane": "fab",
          "next": [
            {
              "to": "c8",
              "label": "Yes"
            },
            {
              "to": "c3",
              "label": "No — another layer"
            }
          ],
          "uses": [],
          "label": "Are all the dozens of layers done?"
        },
        {
          "id": "c8",
          "kind": "task",
          "lane": "fab",
          "next": [
            {
              "to": "c9"
            }
          ],
          "uses": [],
          "label": "Test thousands of chips on each wafer"
        },
        {
          "id": "c9",
          "kind": "decision",
          "lane": "fab",
          "next": [
            {
              "to": "c11",
              "label": "Yes"
            },
            {
              "to": "c10",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Does a chip pass?"
        },
        {
          "id": "c10",
          "kind": "end",
          "lane": "fab",
          "next": [],
          "uses": [],
          "label": "Discard it"
        },
        {
          "id": "c11",
          "kind": "task",
          "lane": "pack",
          "next": [
            {
              "to": "c12"
            }
          ],
          "pain": {
            "note": "Even tiny dust can ruin a chip, and yields drive the cost",
            "level": 2
          },
          "uses": [],
          "label": "Cut up the wafer and package each chip"
        },
        {
          "id": "c12",
          "kind": "end",
          "lane": "you",
          "next": [],
          "uses": [],
          "label": "It ends up in a phone or a data center"
        }
      ],
      "title": "How a computer chip is made",
      "parent": null
    },
    "m_litho": {
      "id": "m_litho",
      "lanes": [
        {
          "id": "euv",
          "name": "Lithography machine",
          "type": "system"
        }
      ],
      "steps": [
        {
          "id": "l1",
          "kind": "start",
          "lane": "euv",
          "next": [
            {
              "to": "l2"
            }
          ],
          "uses": [],
          "label": "Extreme ultraviolet light is made by zapping tin droplets with a laser"
        },
        {
          "id": "l2",
          "kind": "task",
          "lane": "euv",
          "next": [
            {
              "to": "l3"
            }
          ],
          "uses": [],
          "label": "Mirrors, not lenses, because glass absorbs it"
        },
        {
          "id": "l3",
          "kind": "task",
          "lane": "euv",
          "next": [
            {
              "to": "l4"
            }
          ],
          "uses": [],
          "label": "Project the pattern, with features a few nanometers wide"
        },
        {
          "id": "l4",
          "kind": "task",
          "lane": "euv",
          "next": [
            {
              "to": "l5"
            }
          ],
          "uses": [],
          "label": "One machine costs hundreds of millions of dollars"
        },
        {
          "id": "l5",
          "kind": "end",
          "lane": "euv",
          "next": [],
          "uses": [],
          "label": "Only one company in the world makes them"
        }
      ],
      "title": "Printing with light",
      "parent": {
        "map": "m_root",
        "step": "c4"
      }
    }
  }
}
```
