Skip to the content
2 layersSmall-9, the printed circuit board in 3D

Cypress is a scalable, GPU-accelerated PCB placement method inspired by VLSI. It incorporates tailored cost functions, constraint handling, and optimized techniques adapted for PCB layouts.

Copper layers
2
Thickness
1.6 mm
Parts
476
Nets
1,512
Pads
2,212
Tracks, vias
2,606, 237
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
11 Oct 2024
Updated
3 Mar 2026

Overview

Small-9 is an open-source printed circuit board by NVlabs, from the NVlabs/Cypress repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board with 476 parts on 1,512 nets, routed with 2,606 tracks and 237 vias.

README

README.md

Cypress: VLSI-Inspired Scalable GPU-Accelerated PCB Placement

Cypress is a scalable, GPU-accelerated PCB placement method inspired by VLSI. It incorporates tailored cost functions, constraint handling, and optimized techniques adapted for PCB layouts.

Cypress PCB Placement Animation

How to Build

You can build in two ways:

  • Build without Docker by following the instructions of the DREAMPlace build at README_DREAMPlace.md.
  • Use the provided Dockerfile to build an image with the required library dependencies.

Run PCB Placement

sh
cd /Cypress
python dreamplace/Placer.py path/to/your/config.json

Run Hyperparameter search

sh
./tuner/run_tuner.sh 1 1 	test/tune/pcb-configspace.json 	/path/to/aux_file 	test/tuner/tuner-ppa.json "" 	100 4 0 0 10 	./tuner 	./results/result_path

Acknowledgement

Cypress builds upon and extends the following open-source projects:

  • DREAMPlace: A deep learning toolkit-enabled VLSI placement framework that provides the foundation for our GPU-accelerated placement engine.

  • AutoDMP: An automated design methodology platform that inspired aspects of our hyperparameter tuning approach.

We thank the authors and contributors of these projects for their valuable work that made Cypress possible.

Citation

If you find this work useful, please cite the following paper:

bibtex
@inproceedings{zhang2025cypress,
  title={Cypress: VLSI-Inspired PCB Placement with GPU Acceleration},
  author={Zhang, Niansong and Agnesina, Anthony and Shbat, Noor and Leader, Yuval and Zhang, Zhiru and Ren, Haoxing},
  booktitle={Proceedings of the 2025 International Symposium on Physical Design},
  pages={xx--xx},
  year={2025}
}

Parts

476
QtyValueFootprintReferences
1C106C106C106
1C107C107C107
1C108C108C108
1C109C109C109
1C110C110C110
1C111C111C111
1C112C112C112
1C113C113C113
1C120C120C120
1C121C121C121
1C122C122C122
1C129C129C129
1C131C131C131
1C133C133C133
1C135C135C135
1C136C136C136
1C140C140C140
1C141C141C141
1C142C142C142
1C144C144C144
1C146C146C146
1C148C148C148
1C150C150C150
1C151C151C151
1C153C153C153
1C155C155C155
1C177C177C177
1C178C178C178
1C179C179C179
1C196C196C196
1C197C197C197
1C198C198C198
1C199C199C199
1C200C200C200
1C201C201C201
1C202C202C202
1C203C203C203
1C204C204C204
1C205C205C205
1C206C206C206
1C222C222C222
1C223C223C223
1C224C224C224
1C225C225C225
1C228C228C228
1C331C331C331
1C332C332C332
1C333C333C333
1C334C334C334
1C335C335C335
1C336C336C336
1C337C337C337
1C338C338C338
1C339C339C339
1C340C340C340
1C341C341C341
1C342C342C342
1C343C343C343
1C344C344C344
1C345C345C345
1C346C346C346
1C347C347C347
1C348C348C348
1C349C349C349
1C350C350C350
1C351C351C351
1C352C352C352
1C353C353C353
1C354C354C354
1C355C355C355
1C356C356C356
1C357C357C357
1C358C358C358
1C359C359C359
1C360C360C360
1C361C361C361
1C362C362C362
1C363C363C363
1C364C364C364
1C365C365C365

The 80 most common of 476 parts.

More from NVlabs/Cypress

11
  • 2 layersSmall-2, the printed circuit board in 3D

    Small-2

    NVlabs/Cypress

    Cypress is a scalable, GPU-accelerated PCB placement method inspired by VLSI. It incorporates tailored cost functions, constraint handling, and optimized techniques adapted for PCB layouts.

    240 parts56Apache-2.0
  • 2 layersSmall-10, the printed circuit board in 3D

    Small-10

    NVlabs/Cypress

    Cypress is a scalable, GPU-accelerated PCB placement method inspired by VLSI. It incorporates tailored cost functions, constraint handling, and optimized techniques adapted for PCB layouts.

    136 parts56Apache-2.0
  • 2 layersSmall-8, the printed circuit board in 3D

    Small-8

    NVlabs/Cypress

    Cypress is a scalable, GPU-accelerated PCB placement method inspired by VLSI. It incorporates tailored cost functions, constraint handling, and optimized techniques adapted for PCB layouts.

    115 parts56Apache-2.0
  • 2 layersSmall-3, the printed circuit board in 3D

    Small-3

    NVlabs/Cypress

    Cypress is a scalable, GPU-accelerated PCB placement method inspired by VLSI. It incorporates tailored cost functions, constraint handling, and optimized techniques adapted for PCB layouts.

    63 parts56Apache-2.0
  • 2 layersSmall-1, the printed circuit board in 3D

    Small-1

    NVlabs/Cypress

    Cypress is a scalable, GPU-accelerated PCB placement method inspired by VLSI. It incorporates tailored cost functions, constraint handling, and optimized techniques adapted for PCB layouts.

    57 parts56Apache-2.0
  • 2 layers31.2 × 21 mmSmall-7 legacy, the printed circuit board in 3D

    Small-7 legacy

    NVlabs/Cypress

    Cypress is a scalable, GPU-accelerated PCB placement method inspired by VLSI. It incorporates tailored cost functions, constraint handling, and optimized techniques adapted for PCB layouts.

    52 parts56Apache-2.0
  • 2 layersSmall-7, the printed circuit board in 3D

    Small-7

    NVlabs/Cypress

    Cypress is a scalable, GPU-accelerated PCB placement method inspired by VLSI. It incorporates tailored cost functions, constraint handling, and optimized techniques adapted for PCB layouts.

    52 parts56Apache-2.0
  • 2 layers31.3 × 21 mmS7-cypress, the printed circuit board in 3D

    S7-cypress

    NVlabs/Cypress

    Cypress is a scalable, GPU-accelerated PCB placement method inspired by VLSI. It incorporates tailored cost functions, constraint handling, and optimized techniques adapted for PCB layouts.

    50 parts56Apache-2.0
  • 2 layersSmall-6, the printed circuit board in 3D

    Small-6

    NVlabs/Cypress

    Cypress is a scalable, GPU-accelerated PCB placement method inspired by VLSI. It incorporates tailored cost functions, constraint handling, and optimized techniques adapted for PCB layouts.

    46 parts56Apache-2.0
  • 2 layers31.3 × 21 mmSmall-4, the printed circuit board in 3D

    Small-4

    NVlabs/Cypress

    Cypress is a scalable, GPU-accelerated PCB placement method inspired by VLSI. It incorporates tailored cost functions, constraint handling, and optimized techniques adapted for PCB layouts.

    43 parts56Apache-2.0
  • 2 layers31.3 × 21 mmSmall-5, the printed circuit board in 3D

    Small-5

    NVlabs/Cypress

    Cypress is a scalable, GPU-accelerated PCB placement method inspired by VLSI. It incorporates tailored cost functions, constraint handling, and optimized techniques adapted for PCB layouts.

    41 parts56Apache-2.0

Similar boards

  • 2 layers203.2 × 114.6 mmBkg-77000, the printed circuit board in 3D

    Bkg-77000

    durgadas311/MmsCpm3

    MMS CP/M 3 Source, Binaries, and related code

    476 parts17
  • 2 layers50 × 93 mmLed bar Panelize, the printed circuit board in 3D

    Led bar Panelize

    JamesBond6873/Airborne_Rescue_Line_2025

    Airborne's full RoboCup Rescue Line 2025 code and documentation

    476 parts3MIT
  • 2 layers410.2 × 272.4 mmProcessor, the printed circuit board in 3D

    Processor

    Bread80/Datapoint2200

    Datapoint 2200 Schematics and Documents

    478 parts19
  • 2 layers332.1 × 248.3 mmApple color monitor iie a2m2056, the printed circuit board in 3D

    Apple color monitor iie a2m2056

    fredsa/apple-color-monitor-iie-a2m2056

    Apple ColorMonitor IIe (A2M2056) KiCad schematic

    478 parts3Apache-2.0
  • 2 layers93 × 173 mmBatch 1, the printed circuit board in 3D

    Batch 1

    CDFER/Business-Cards

    Showcasing a collection of functional PCB business cards, each demonstrating a unique embedded electronics project.

    479 parts9
  • 2 layers66 × 61 mmBingo card-1a, the printed circuit board in 3D

    Bingo card-1a

    strickyak/copico-bonobo

    KICAD: Simple and cheap PI PICO cartridge for Coco; can spoonfeed to boot, and has Control & Data ports decoded.

    479 parts6MIT

Questions

What parts does the Small-9 use?

476 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Small-9 KiCad files?

From the NVlabs/Cypress repository on GitHub, at the commit this page was made from: the board is artifacts/kicad/small-9.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Small-9 design in my own project?

Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).