Skip to the content
4 layers8b alu slice, the printed circuit board in 3D

8b alu slice

tmarhguy/tomato2

A functional 32-bit computer built from scratch in a dorm; implemented on FPGA, Kicad, browser simulation

Copper layers
4
Thickness
1.6 mm
Parts
1,105
Nets
624
Pads
3,467
Tracks, vias
0, 0
Pours
1
Routed
Not yet
KiCad
KiCad 10.0 (file 20260206)
Created
4 Jun 2026
Updated
16 Oct 2026

Overview

8b alu slice is an open-source printed circuit board by tmarhguy, from the tmarhguy/tomato repository on GitHub. It is a 4-layer board with 1,105 parts on 624 nets.

It is built around the 74HC244D, 74HC540D and 74HC157D, with the 74AHC1G86SE among its other parts. Its parts include 1,008 transistors, 26 resistors, 22 diodes, 16 capacitors and 14 ICs.

Main components

4

README

hardware/kicad/boards/01_alu/README.md

01 — Early ALU (historical)

Pre-Tomato experiments · superseded by Lot 07.

Status Era

Archive lot for early ALU board work. The living Dual-LUT PCB is 07_alu. The prior 8-bit discrete-transistor story (270×270 mm, ~3,488 devices) is documented at alu.tmarhguy.com.

Project map: Boards · 07_alu · Root README


Legacy notes (transistor-era board)

Monolithic 8-bit ALU — complete combinational processor on a single PCB (historical reference below).

Specifications

ParameterValue
Board Size270mm × 270mm (10.6" × 10.6") = 72900 mm²
Transistor Count3,488 (Hybrid: Discrete + equivalent ICs) → 436 T/bit
Board mm² / bit≈9112 (72900 / 8)
ArchitecturePure combinational (no clock)
Layers2 (top signal/power, bottom ground)
Power5V @ 0.5-1A (idle bring-up <200 mA)
Propagation Delay~445ns (worst case)

Functional Blocks

Arithmetic Unit (Top-Left Quadrant)

Components:

  • 8× 1-bit full adders (336T)
  • 8× XOR gates for B input (96T)
  • Carry chain routing

Function: A + B or A - B (via 2's complement)

Signals:

text
IN:  A[7:0], B[7:0], M
OUT: SUM[7:0], COUT

Logic Unit (Top-Right Quadrant)

Components:

  • NAND array (32T)
  • NOR array (32T)
  • XOR array (96T)
  • PASS A/B buffers (32T)
  • 5:1 MUX (160T)

Function: NAND, NOR, XOR, PASS A, PASS B operations

Signals:

text
IN:  A[7:0], B[7:0], LOGIC_SEL[2:0]
OUT: LOGIC_OUT[7:0]

Selection & Output (Center)

Components:

  • 2:1 MUX (160T) - arithmetic vs logic select
  • Global inverter (16T)

Function: Select result and optionally invert

Signals:

text
IN:  ARITH[7:0], LOGIC[7:0], MUX_SEL, INV_OUT
OUT: RESULT[7:0]

Flag Generation (Bottom-Left Quadrant)

Components:

  • EQUAL comparator (~100T)
  • LESS comparator (~120T)
  • POSITIVE detector (~20T)

Function: Generate comparison and status flags

Signals:

text
IN:  A[7:0], B[7:0], OUT[7:0], COUT_IN
OUT: LESS, EQUAL, POSITIVE, COUT

Control Decoder (Bottom-Right Quadrant)

Components:

  • Combinational decode logic (~68T)

Function: FUNC[4:0] → control signals

Signals:

text
IN:  FUNC[4:0]
OUT: M, MUX_SEL, INV_OUT, LOGIC_SEL[2:0]

Pinout

Input Pins (22 total)

Pin GroupCountDescription
A[7:0]8First operand
B[7:0]8Second operand
FUNC[4:0]5Opcode
VCC1+5V power
GND1Ground (multiple connections)

Output Pins (12 total)

Pin GroupCountDescription
OUT[7:0]8Result
LESS1Less than flag
EQUAL1Equal flag
POSITIVE1Positive flag
COUT1Carry out flag

Fabrication

Manufacturing Requirements

PCB Specs:

  • Size: 270×270mm (confirm manufacturer supports large format)
  • Layers: 2
  • Thickness: 1.6mm
  • Copper: 1oz (35µm)
  • Min trace/space: 0.2mm/0.2mm
  • Surface finish: HASL lead-free

Assembly

Component count:

  • 3,488 transistors (624 Discrete + 2,864 in ICs + Support)
  • ~500 resistors (10kΩ pull-ups, 220Ω current limiting)
  • ~50 capacitors (100nF decoupling)
  • 36x 74HC157 + 10x 74HC86 ICs
  • Headers, test points

Estimated assembly time: 50-70 hours (hand soldering)


Testing

Power-On Test

text
1. Visual inspection
2. Continuity: VCC, GND
3. Resistance: VCC-GND > 10kΩ
4. Power-on: Measure current < 200mA idle
5. Voltage: VCC = 5.0V ± 0.1V at all points

Functional Test

text
Test ADD operation:
  FUNC = 00000
  A = 0x01
  B = 0x01
  Expected OUT = 0x02
  Measure with multimeter or logic analyzer

References


Status: Design complete, fabrication-ready
Last Updated: 2026-01-16

Parts

1,105
QtyValueFootprintReferences
512Q_NMOSPackage_TO_SOT_SMD:SOT-23Q10, Q100, Q102, Q104, Q106, Q108, Q110, Q111, Q112, Q114, Q117, Q118, Q1005, Q1006, Q1007, Q1008 +496
496Q_PMOSPackage_TO_SOT_SMD:SOT-23Q1, Q11, Q101, Q103, Q105, Q107, Q109, Q113, Q115, Q116, Q119, Q1000, Q1001, Q1002, Q1003, Q1004 +480
222200Resistor_SMD:R_0805_2012MetricR10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25 +6
22LEDLED_SMD:LED_0805_2012MetricD1, D2, D3, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22 +6
17TestPointTestPoint:TestPoint_Pad_1.0x1.0mmTP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8, TP10, TP11, TP12, TP13, TP14, TP15, TP16, TP17 +1
14100nFCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C4, C5, C6, C7, C10, C11, C12, C13, C14, C15, C16
574HC244Package_SO:SOIC-20W_7.5x12.8mm_P1.27mmU8, U11, U12, U13, U14
41000Resistor_SMD:R_0603_1608MetricR1, R2, R3, R4
374HC182Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU3, U4, U5
274HC157Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU6, U7
274HC540Package_SO:SOIC-20W_7.5x12.8mm_P1.27mmU1, U2
2CCapacitor_SMD:C_0603_1608MetricC8, C9
174AHC1G86Package_TO_SOT_SMD:SOT-23-5U10
174HC4078Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU9
1Conn_01x24Connector_PinHeader_2.54mm:PinHeader_1x24_P2.54mm_VerticalJ2
1Conn_01x35Connector_PinHeader_2.54mm:PinHeader_1x35_P2.54mm_VerticalJ1

More from tmarhguy/tomato

3
  • 2 layers100 × 99.8 mm07 alu, the printed circuit board in 3D

    07 alu

    tmarhguy/tomato

    A functional 32-bit computer built from scratch in a dorm; implemented on FPGA, Kicad, browser simulation

    134 parts2
  • 4 layers240 × 240 mmAlu-32b, the printed circuit board in 3D

    Alu-32b

    tmarhguy/tomato

    A functional 32-bit computer built from scratch in a dorm; implemented on FPGA, Kicad, browser simulation

    115 parts2
  • 2 layers1b alu slice, the printed circuit board in 3D

    1b alu slice

    tmarhguy/tomato

    A functional 32-bit computer built from scratch in a dorm; implemented on FPGA, Kicad, browser simulation

    90 parts2

Similar boards

  • 2 layers100 × 100 mmStack, the printed circuit board in 3D

    Stack

    imihajlow/ccpu

    A 8-bit computer made of 74xx series logic gates and memory ICs.

    79 parts145
  • 4 layers100 × 100 mm74HCT6526, the printed circuit board in 3D

    74HCT6526

    dmolinagarcia/74HCT6526

    74HCT6526

    93 parts14
  • 4 layers140 × 136 mmVinyl adc rev d, the printed circuit board in 3D

    Vinyl adc rev d

    MadsRudolph/vinyl-adc

    Discrete 3rd-order delta-sigma stereo audio ADC, built from op-amps and logic gates: a four-layer Raspberry Pi HAT made by PCBWay, with KiCad files, SPICE simulations and measurements

    184 parts1
  • 4 layers215.3 × 96.8 mmZak181, the printed circuit board in 3D

    Zak181

    agkaminski/ZAK181

    Improved ZAK180: DIY all-in-keyboard computer featuring Z180 and floppy drive.

    123 parts
  • 2 layers200 × 150 mmMicro, the printed circuit board in 3D

    Micro

    jurendono/VMC

    A Versitile 6502 Based Microcomputer

    235 parts
  • 2 layers100 × 100 mmPortcard RevC, the printed circuit board in 3D

    Portcard RevC

    retrac0/retelex

    Retro telephone exchange. Also retro telex exchange.

    75 parts
  • 2 layers210 × 170 mmTB04addr8bit ctrl, the printed circuit board in 3D

    TB04addr8bit ctrl

    Myuu1967/TB-04

    4bitCPU(TB-04)に関するリポジトリです

    102 parts
  • 4 layers94.4 × 92.2 mmWildWillyR5Hardware, the printed circuit board in 3D

    WildWillyR5Hardware

    dkjonas/WildWillyR5Hardware

    Schematic and board layout for the R5 version of my robot.

    82 parts1

Questions

What parts does the 8b alu slice use?

1,105 parts, built around the 74HC244D, 74HC540D, 74HC157D and 74AHC1G86SE. 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 8b alu slice KiCad files?

From the tmarhguy/tomato repository on GitHub, at the commit this page was made from: the board is hardware/kicad/main/8b-alu-slice/8b-alu-slice.kicad_pcb and its schematic hardware/kicad/boards/01_alu/1-seg-display.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the 8b alu slice design in my own project?

Its repository states no licence, so its author keeps all rights: ask tmarhguy before reusing the design.