Cornell ECE 6745 · Project 1

The Popcorn Chip

A custom chip that counts 1s. Fully validated.

Scroll
The shuttle die

One die. A whole class.

The real die, under a microscope.

Lay the layout over it. Every block is a different student's design.

This one is mine.

Zoom in…

My placed & routed design, in full.

Microscope photo of the shared shuttle die with wire bonds
Mine
Full render of my placed and routed popcount design My design · placed & routed
The flow

We built it our way.

Drew our own standard cells for the basic gates.

Coded our own synthesis, place & route. Our own tool.

Wrote the Verilog and the test cases.

DRC and LVS clean. Off to the fab.

Our standard cells
Our place and route tool: cell placement, run A
our placer · run A
Our place and route tool: cell placement, run B
our placer · run B

            
Our own tool
b0 b1 b2 b3 b4 b5 b6 b7 XOR AND XOR AND XOR AND XOR AND ADD ADD ADD out[3:0] = number of 1s

            
Verilog + tests
Design flow diagram from RTL to GDS
DRC cleanLVS cleanTaped out
Signoff
Test day

It's alive.

The chip counts the 1s. 01101000 → 3
Scroll to try all 256 inputs.

Test log0 / 256 pass
Input
0
counts 1s
Output
0
PASS
InIn (bin)OutOut (bin)
1.80Vcore
3.30VI/O
100MHzclock
Another angle: the board, the chip, and the PC running the test.
0 / 256 PASS
live simulation

8-bit Popcount Chip

Count the 1s in an 8-bit word with a tree of adders. Click a bit to flip it.

Pure combinational popcount: 4 half-adder pairs, then two 2-bit adders, then one 3-bit adder. Stage delays are exaggerated so you can watch the sum travel.

Project information

  • Course: ECE 6745 — Complex Digital ASIC Design
  • Date: February 1 – March 1, 2026
  • Node: TSMC 180nm
  • Tools: Icarus Verilog, Ngspice, Klayout (DRC/LVS/RCX), Verilator, Custom Synthesis & PnR
  • Presentation: Google Slides
ASIC Tapeout TSMC 180nm Popcount Klayout Custom PnR Verilog

The chip

8-bitinput
Popcountcounts the 1s
180nmTSMC process

Popcount shows up in machine learning, cryptography and networking.

How small?

1 µm × 1 µm. That is one millionth of a meter on each side. About 285 million would fit on a penny.

That is almost no room. We could not fit many cells or much functionality. But we did it, and our standard cells worked. A real VLSI feat.

our chip ← ~70 chips across →
One human hair, cut across. It is ~70 µm wide: about 70 of our chips side by side.
virus~0.1 µm green lightwave ~0.5 µm our chip1 µm E. coli~2 µm red blood cell~7.5 µm = 1 µm, drawn to scale
The micro world at the same scale. Sizes are approximate.

Design flow

Std cellsdrawn by us
Synthesisour own tool
Place & routeour own tool
Verilog + testsall 256 inputs
SignoffDRC · LVS · RCX

Status

CleanDRC & LVS
Taped outCornell shuttle
Backfrom the fab
Fully validated256 of 256 inputs pass

Every possible input, tested on the real chip. Every one passed.