Skip to the content
4 layers27.9 × 58.4 mmDiode matrix rom dip, the printed circuit board in 3D

Diode matrix rom dip

charlespax/macroprocessor

A project to create a microprocessor optimized for human visual verification

Size
27.9 × 58.4 mm
Copper layers
4
Thickness
1.6 mm
Parts
29
Nets
42
Pads
214
Tracks, vias
232, 9
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
20 Dec 2022
Updated
1 Dec 2025

Overview

Diode matrix rom dip is an open-source printed circuit board by charlespax, from the charlespax/macroprocessor repository on GitHub, published under the MIT licence. It is a 4-layer board of 27.9 × 58.4 mm with 29 parts on 42 nets, routed with 232 tracks and 9 vias.

It is built around the 74HC238D. Its parts include 18 connectors, 8 resistors, 2 capacitors and 1 IC. It belongs with the lEDs and displays boards of this library.

Main components

1

README

README.md

macroprocessor

A project to create a microprocessor optimized for human visual verification

Introduction

A user should be able to trust the output of a computational device without having to trust the computatoinal device itself.

Application

Cryptographic security

Bitcoin

Design

The design is not optimized for price, area, power, efficiency, yield, or other traditional parameter. The design is optimized for human readability and understanding.

Requirements

  • MUST be visible to a human with minimal optical magnification
  • An integrated circuit design layout SHOULD aid understanding
  • IC layout SHOULD correspond to the layout as seen in a digitial simulation
  • Microprocessor design architecture SHOULD be optimized for understanding
  • The registers or other circuitry MAY emit light
  • MAY have features to aid cryptography
  • MAY have serial output for debugging or other purposes

Design notes

The overall chip layout and data flow SHOULD run from left to right.

Logical elements SHOULD have inputs on the left and outputs on the right

The metal layer or other features MUST NOT obscure any features such that the circuit can not be verified visually.

Chip packaging MUST NOT obscure the electrical path from the IC to the package pins.

The design MAY use multiple IC components if each component meets the requirements of this document.

The design MAY include wire-bonded components

Notes

  • RISC-V RV32I or RV32E are candidates
  • Research making a Forth-native processor
  • Can the macroprocessor be made using the same process as LEDs?
  • Can a wafer be put through a secondary LED process to create registers that emit light?
  • What is the current state of light-emitting transistors (LETs)?
  • Can I use diode logic and use LEDs?
  • I believe the normal silicon process cannot be used to create features that emit light because the band gap of silicon is too greaet. True?
  • RISC-V would be a great choice if it can be visually verified. This has the advantage that many more eyes would be on the chip. However, I think it is more important to make choices that result in more users in verifying their own devices.
  • Check out https://zeroToASICCourse.com - this is a course for designing and ordering your own chip designs.
  • Check out https://developers.google.com/silicon - Google's wafer batching program for open source designs. Cool, but I am happy to pay if reasonable.
  • MAY take an external diode-based ROM
  • Is there anything about this processor that would make it bad at cryptographic functions? Minimal circuitry could be included to address issues.
  • Can x-ray crystalography be used to verify the surface of an IC?
  • https://www.skywatertechnology.com is a US-based silicon fab.
  • What happens to the equipment from old semiconductor fabrication technologies?
  • Fab technologies: https://en.wikipedia.org/wiki/Semiconductor\_device\_fabrication
  • Are there fabs that use old technologies for new chips?
  • Wire bonding can be used in places where the metal layer would obscure layers below
  • wire bonding can be used as jumpers that can be cut to permanently disable a ffeature
  • Rather than wire bonding, the connections can be routed to the outside of the package, so they can be explicetly enabled
  • Maybe multi gate transistors can be used on such large features if one large gate is not appropriate
  • Make the binary instruction decoding physicallyl easy to see on the die. Put them in the same order you would find them in a specification table
  • Is silicon transparent to any frequency of light? If so, maybe this can be used for verification and would be a design consideration.

Conventions

The keywords below are to be interpreted as described in BCP14 [RFC2119] [RFC8174].

  • MUST
  • MUST NOT
  • REQUIRED
  • SHOULD
  • SHOULD NOT
  • RECOMMENDED
  • NOT RECOMMENDED
  • MAY
  • OPTIONAL

Parts

29
QtyValueFootprintReferences
16Conn_01x08_SocketConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16
810kResistor_SMD:R_0201_0603MetricR1, R2, R3, R4, R5, R6, R7, R8
2Conn_01x17_PinConnector_PinHeader_2.54mm:PinHeader_1x17_P2.54mm_VerticalJ17, J18
10.1 uFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC1
11 uFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC2
174HC238Package_DIP:DIP-16_W7.62mmU2

More from charlespax/macroprocessor

4
  • 2 layersDiode matrix rom, the printed circuit board in 3D

    Diode matrix rom

    charlespax/macroprocessor

    A project to create a microprocessor optimized for human visual verification

    31 partsMIT
  • 2 layers14 × 30.1 mmStack DIP, the printed circuit board in 3D

    Stack DIP

    charlespax/macroprocessor

    A project to create a microprocessor optimized for human visual verification

    17 partsMIT
  • 2 layers89.2 × 62.9 mmStack module, the printed circuit board in 3D

    Stack module

    charlespax/macroprocessor

    A project to create a microprocessor optimized for human visual verification

    16 partsMIT
  • 4 layers27.9 × 45.7 mmTemp kicad, the printed circuit board in 3D

    Temp kicad

    charlespax/macroprocessor

    A project to create a microprocessor optimized for human visual verification

    15 partsMIT

Similar boards

  • 2 layers82 × 134 mmPcb badge, the printed circuit board in 3D

    Pcb badge

    john0312/hitcon-pcb-badge

    execute fw/merge.py to merge STM32CubeIDE generated main.c with user code in main.cc into main.cc.

    258 parts47BSD-3-Clause
  • 2 layers182.6 × 130.9 mmBlackmacro base, the printed circuit board in 3D

    Blackmacro base

    KipJM/blackmacro-hardware

    An open source, smaller, more configurable, and more capabable video editing keyboard based on the raspberry Pi Pico 2W.

    189 parts29CERN-OHL-W-2.0
  • 4 layers102 × 102 mm6502v2, the printed circuit board in 3D

    6502v2

    stuenkels/6502Rev2

    PCB for a 6502 Based Computer

    62 parts11
  • 4 layers189.4 × 59.1 mmFlippyDriver, the printed circuit board in 3D

    FlippyDriver

    NietoSkunk/FlippyDriver

    Driver board for Luminator MAX3000 Flip Dot Panels

    344 parts10MIT
  • 2 layers235 × 176.5 mmCpu, the printed circuit board in 3D

    Cpu

    Edgeworth/memepu

    cmake -DUSEAFL=yes -DCMAKEBUILDTYPE=Release $PFX/verymeme AFLSKIPCPUFREQ=yes AFLPRELOAD=/usr/local/lib/afl/libdislocator.so \ afl-fuzz -m 1024M -i $PFX/verymeme/testdata/memelang/parsing -o memelangfuzz \ -x…

    286 parts9GPL-3.0
  • 2 layers166 × 70 mmPrototype, the printed circuit board in 3D

    Prototype

    SteveCooling/MidiKeys

    Will be a complete board with decoders for multiplexed sampling of analog sources and up to 61-key keybeds

    75 parts8MIT
  • 4 layers238.8 × 236.2 mmControl logic midplane, the printed circuit board in 3D

    Control logic midplane

    eryjus/16bcfs

    All material related to the 16bcfs project

    215 parts7
  • 2 layersDisplay and comms, the printed circuit board in 3D

    Display and comms

    LeHack/SPSP

    Particulate matter pollution monitoring system (:poland: System Pomiaru Stężenia Pyłu w powietrzu)

    27 parts3

Questions

How big is the Diode matrix rom dip PCB?

It measures 27.9 × 58.4 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Diode matrix rom dip use?

29 parts, built around the 74HC238D. 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 Diode matrix rom dip KiCad files?

From the charlespax/macroprocessor repository on GitHub, at the commit this page was made from: the board is vm-digital/diode-matrix-rom-dip/diode-matrix-rom-dip.kicad_pcb and its schematic vm-digital/diode-matrix-rom-dip/diode-matrix-rom-dip.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Diode matrix rom dip 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).