Skip to the content
PCBKitNew board
4 layers100 × 100 mmMultiplier, the printed circuit board in 3D

Multiplier

bcrist/vera1

Homebrew discrete logic CPU

Size
100 × 100 mm
Copper layers
4
Thickness
1.59 mm
Parts
101
Nets
245
Pads
995
Tracks, vias
2,280, 251
Pours
10
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
27 Feb 2023
Updated
28 Dec 2025

Overview

Multiplier is an open-source printed circuit board by bcrist, from the bcrist/vera repository on GitHub, published under the MIT licence. It is a 4-layer board of 100 × 100 mm with 101 parts on 245 nets, routed with 2,280 tracks and 251 vias.

It is built around the 74LVC541AD, AP62300TWU and 74LVC1G79GM, with the 74LVC1G19GW, 74LVC1G332GV and 74LVC138AD among its other parts. Its parts include 47 capacitors, 29 ICs, 18 resistors, 3 connectors and 2 transistors.

Main components

9

README

readme.md

Homebrew discrete-logic CPU

"I call it Vera" - Jayne Cobb

Specs

  • up to 20 MHz clock
  • 4-stage pipeline (runs 4 threads simultaneously)
  • 32x 32b general purpose registers (stack addressed)
  • 32b ALU (2x L4C381)
  • 32b logarithmic shifter
  • 16b * 16b -> 32b single cycle multiplier (32b * 32b -> 32b in 5 cycles)
  • 32b popcount/extension/truncation unit
  • 32b virtual addresses
  • 16x4x128 entry, 2 way set-associative, software filled TLB
    • 4 KiB pages
  • 64 MiB physical address space (24b address x 32b data)
    • up to 16 MiB SRAM
    • up to 16 MiB I/O space
    • up to 32 MiB pipeline-private, zero-wait SDRAM

Design Constraints

Since everyone in the homebrew CPU community has their own ideas of what kinds of technology are acceptable to use, here are my self-imposed restrictions and allowances:

  • Backplane/card cage construction is preferred
    • This facilitates building and testing smaller parts separately
    • Blinkenlights are cool, but not particularly interesting at MHz frequencies
  • 3.3V LVTTL/LVCMOS signalling is preferred
    • Backplane signals must not exceed 3.3V (ignoring overshoot transients)
    • 5V TTL outputs are allowed within a board, when paired with an 5V-tolerant receiver
    • Differential LVPECL/LVDS signalling is allowed for clocks
    • All boards should locally generate their own Vcc from a common 12V supply distributed by the backplane
  • SMD footprints are fine
    • >= 0.5mm pitch for QFP/QFN/(T)(S)SOP
    • >= 0.8mm pitch for BGA
  • Modern SRAM, dual-port SRAM, and SDRAM is fine to use
  • Dedicated adder/multiplier/ALU ASICs are allowed
    • But "not quite microprocessor" parts like Am2901 or Am29116/7 are not allowed (except in peripheral devices)
  • FPGAs are not allowed
    • Designing with HDLs feels more like work than fun for me, and all of the FPGA toolchains make me want to pull my hair out
  • CPLDs and other programmable logic are allowed only if I have created the entire programming toolchain myself
    • Designing for CPLDs (without HDLs) is extremely similar to designing for discrete logic, but simplifies board layout significantly, and often provides better timing characteristics
  • Microcontrollers or other ASICs are allowed for bootstrapping or debugging purposes, or within peripheral devices
    • Absolutely none within the data or control paths of the CPU itself

Parts

101
QtyValueFootprintReferences
31100 nFfp:C0402C16, C19, C20, C21, C22, C23, C24, C25, C26, C27, C28, C29, C30, C31, C32, C33 +15
1274LVC541fp:TSSOP-20U6, U7, U14, U15, U16, U17, U18, U19, U20, U21, U28, U29
100fp:R0402R5, R10, R11, R12, R13, R14, R15, R16, R17, R18
1022 µFfp:C0805C1, C4, C5, C6, C7, C9, C12, C13, C14, C15
474LVC1G79fp:SOT323-5U11, U12, U13, U25
2fp:TX25-120P-LT-H1EJ1, J2
20.015fp:R1206R3, R8
210 kfp:R0402R2, R7
210 nFfp:C0402C3, C11
2100 nFfp:C0805C17, C18
2330 nFfp:C0402C2, C10
274LVC1G19fp:SOT323-6U8, U9
274LVC1G332fp:SOT323-6U24, U26
2AP62300TWUfp:SOT23-6U1, U3
2EMC1702fp:QFN-12 (4mm x 4mm)U2, U4
2IDT7217Lfp:PLCC-68M (PGA Socket)U22, U23
2MMST3904fp:SOT323Q1, Q2
2NRS5040T3R3NMGJfp:NRS5040L1, L2
1180fp:R0402R4
1300fp:R0402R9
133.2 kfp:R0402R1
156.2 kfp:R0402R6
174LVC138fp:TSSOP-16U10
1JTAGfp:TridentJ3
1LC4032ZEfp:TQFP-48 (7mm)U27
1TLV77318PDBVfp:SOT23-5U5

Questions

How big is the Multiplier PCB?

It measures 100 × 100 mm and has 4 copper layers, 1.59 mm thick.

What parts does the Multiplier use?

101 parts, built around the 74LVC541AD, AP62300TWU, 74LVC1G79GM and 74LVC1G19GW. 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 Multiplier KiCad files?

From the bcrist/vera repository on GitHub, at the commit this page was made from: the board is boards/kicad/multiplier/multiplier.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Multiplier design in my own project?

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

More from bcrist/vera

3
  • 4 layers100 × 100 mmAlu, the printed circuit board in 3D

    Alu

    bcrist/vera

    Homebrew discrete logic CPU

    102 parts1MIT
  • 4 layers100 × 100 mmShifter, the printed circuit board in 3D

    Shifter

    bcrist/vera

    Homebrew discrete logic CPU

    83 parts1MIT
  • 4 layers100 × 100 mmAt high, the printed circuit board in 3D

    At high

    bcrist/vera

    Homebrew discrete logic CPU

    33 parts1MIT

Similar boards

  • 2 layers30 × 75 mmPSU Control RPI, the printed circuit board in 3D

    PSU Control RPI

    G1874/pcb-ender3v2-psu-ctrl-rpi

    30 partsMIT
  • 2 layers24 × 38 mmBSH Board, the printed circuit board in 3D

    BSH Board

    Bouni/BSH-Board

    A board that interfaces the DBUS of several home appliances and brings them into Home-Assitant via ESPHome

    75 parts65
  • 4 layers99.1 × 91.4 mmPanel, the printed circuit board in 3D

    Panel

    bfrigon/alarm-clock-v3

    Alarm clock (v3)

    187 parts18CC-BY-SA-4.0
  • 4 layers100 × 100 mmBase module, the printed circuit board in 3D

    Base module

    KoNarRobotics/ModuCard-base-module

    Template for ModuCard PCBs

    163 parts2
  • 4 layers100 × 50 mmMMS3, the printed circuit board in 3D

    MMS3

    ArthorH/MMS3

    Mini ModuCard System ❤️

    198 parts1
  • 2 layers38.9 × 48.9 mmPager carrier, the printed circuit board in 3D

    Pager carrier

    awong-dev/pager

    Low-powered, gps and messaging capable pager for kids

    79 parts
  • 4 layers100 × 100 mmModuCard mms extension pdw board, the printed circuit board in 3D

    ModuCard mms extension pdw board

    X-Lemon-X/ModuCard-mms-extension-pdw-board

    This repository provides a template design for creating modules in the ModuCard system. Each module is designed to seamlessly interface with the ModuCard backplane, enabling a modular and expandable robotics platform.

    161 parts
  • 2 layers83.8 × 49 mmSmd cart 2m 29f800, the printed circuit board in 3D

    Smd cart 2m 29f800

    tehKaiN/smdCart

    ROM Cartridge for Sega MegaDrive (Genesis)

    20 parts24MPL-2.0