Skip to the content
2 layers249.9 × 89.4 mmCSCvon8, the printed circuit board in 3D

A crazy small 8-bit CPU built with only seventeen 7400-series chips.

Size
249.9 × 89.4 mm
Copper layers
2
Thickness
1.6 mm
Parts
55
Nets
136
Pads
521
Tracks, vias
2,041, 34
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
27 Mar 2019
Updated
7 May 2020

Overview

CSCvon8 is an open-source printed circuit board by DoctorWkt, from the DoctorWkt/CSCvon8 repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 249.9 × 89.4 mm with 55 parts on 136 nets, routed with 2,041 tracks and 34 vias.

It is built around the UM245R, AT27C1024-70PU and 74HCT574D, with the 74HCT04D, 74HCT138D and 74HCT139D among its other parts. Its parts include 21 capacitors, 19 ICs, 7 connectors, 5 resistors and 2 switches. It belongs with the retro computing and games boards of this library.

Main components

11

README

README.md

CSCvon8: 8-bit von Neumann Crazy Small CPU

This repository holds the files for my 8-bit "big brother" CPU to the 4-bit Crazy Small CPU. This is a von Neumann style CPU designed with 7400-style logic chips, 32K of RAM, 32K of ROM and a UART. The CPU requires only seventeen chips, not including the clock circuitry. A short video is here.

The overall design of the CPU is covered in Docs/CSCvon8_design.md. Also read the getting started guide and the guide to building the PCB version.

As at the 18th May 2019 I have the CPU running solidly at 3.57MHz on the PCBs that I ordered from the PCB design in the Schematics folder. I've kept a journal with details of my progress from the initial design phase through to the successful build.

The files and folders in this repository are:

  • Docs, documents on the design and how to use the tools below
  • Examples, example programs for the CPU
  • Schematic, a KiCad schematic of the CPU
  • cas, the assembler for the CPU
  • clc, a very crude compiler that outputs assembly that can be given to cas
  • csim, a simulator of the CPU written in Perl
  • disasm, a tool to disassemble the instruction ROM contents
  • gen_alu, a program to generate the contents of the ALU ROM
  • gen_ucode, a program to generate the contents of the Decode ROM
  • journal.txt, my running journal of the design and implementation of CSCvon8

There is also a Verilog version with the top-level file being ttlcsvon8.v, the testbench is icarus_tb.v and the Makefile will build and run the Verilog testbench. Some notes on this implementation are in the Docs/implementation_notes.md file.

Parts

55
QtyValueFootprintReferences
190.1uFCapacitors_THT:C_Disc_D4.7mm_W2.5mm_P5.00mmC4, C5, C6, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22 +3
574HCT574Housings_DIP:DIP-20_W7.62mm_SocketIC4, IC5, IC7, IC8, IC12
210KResistors_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P1.90mm_VerticalR5, R6
274LS593Housings_DIP:DIP-20_W7.62mm_SocketIC9, IC10
2SW_Push_DualButtons_Switches_THT:Push_E-Switch_KS01Q01SW1, SW2
110uFCapacitors_THT:CP_Radial_D5.0mm_P2.00mmC1
11KResistors_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P1.90mm_VerticalR2
11MResistors_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P1.90mm_VerticalR4
11N4148Diodes_THT:D_DO-35_SOD27_P2.54mm_Vertical_AnodeUpD1
120KResistors_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P1.90mm_VerticalR1
1220uFCapacitors_THT:CP_Radial_D8.0mm_P5.00mmC3
128C256Housings_DIP:DIP-28_W15.24mm_SocketIC2
174HCT04Housings_DIP:DIP-14_W7.62mm_SocketIC17
174HCT138Housings_DIP:DIP-16_W7.62mm_SocketIC16
174HCT139Package_DIP:DIP-16_W7.62mm_SocketIC15
174HCT151Package_DIP:DIP-16_W7.62mm_SocketIC11
174HCT161Housings_DIP:DIP-16_W7.62mm_SocketIC13
1AS6C62256Housings_DIP:DIP-28_W15.24mm_SocketIC1
1AT27C1024-70PUHousings_DIP:DIP-40_W15.24mm_SocketIC14
1Address Bus Pin HeaderConnector_PinSocket_2.54mm:PinSocket_1x18_P2.54mm_VerticalJ3
1Areg Pin HeaderConnector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_VerticalJ6
1Breg Pin HeaderConnector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_VerticalJ7
1Data Bus Pin HeaderConnector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_VerticalJ2
1ECS-100A-035QX14T50B1.843200B50TT:QX14T50B1.843200B50TTU1
1IR Pin HeaderConnector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_VerticalJ5
1Jumper_3_Bridged12Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_VerticalJ1
1M27C322-100F1Housings_DIP:DIP-42_W15.24mm_SocketIC6
1NE555Housings_DIP:DIP-8_W7.62mm_SocketIC18
1UM245RHousings_DIP:DIP-24_W15.24mm_SocketIC3
1uSeq Pin HeaderConnector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalJ4

Similar boards

  • 2 layers231.3 × 96.5 mmFISC, the printed circuit board in 3D

    FISC

    DoctorWkt/FISC

    An 8-bit TTL CPU with a Stack Pointer

    59 parts7GPL-3.0
  • 2 layers214.6 × 123.2 mmFISC2, the printed circuit board in 3D

    FISC2

    DoctorWkt/2FISC

    FISC2: A TTL CPU with Some 16-bit Capabilities

    73 parts10GPL-3.0
  • 2 layers368.3 × 215.9 mmTTL 6510 Computer fab, the printed circuit board in 3D

    TTL 6510 Computer fab

    StefansAI/TTL-6510-Computer

    Yet another CPU made from TTL chips

    330 parts1
  • 2 layers297.2 × 180.3 mm8bit computer, the printed circuit board in 3D

    8bit computer

    vascofazza/8bit-cpu

    Schematics & code for my 74LS-based 8-bit MK1 CPU

    377 parts317MIT
  • 2 layersLM80C R6, the printed circuit board in 3D

    LM80C R6

    leomil72/LM80C

    A Z80-based homebrew computer withTMS9918, AY-3-8910, Z80 CTC, Z80 PIO, and Z80 SIO

    153 parts123GPL-3.0
  • 2 layers235 × 158.8 mmGigatron, the printed circuit board in 3D

    Gigatron

    flypie/Gigatron

    This is a version of the files from https://gigatron.io/ altered to work on a vanilla KiCAD 5.1.6. Changes are minimal in the schematic and PCB, layout has only been changed where dimensions or orientations changed as a…

    151 parts2
  • 4 layers244.5 × 393.4 mm8-bit cpu, the printed circuit board in 3D

    8-bit cpu

    nurk/8-bit-cpu

    8-bit CPU

    458 parts
  • 4 layers280 × 140 mmP8x control card, the printed circuit board in 3D

    P8x control card

    ksr/p8x

    Generated by generators/genkicad.py from the canonical geneagle netlist (CARDS["peripheral-card"]), same standard as the memory card: 4-layer (F/B signals, In1=GND, In2=VCC planes), a bypass cap above each IC, a…

    58 parts

Questions

How big is the CSCvon8 PCB?

It measures 249.9 × 89.4 mm and has 2 copper layers, 1.6 mm thick.

What parts does the CSCvon8 use?

55 parts, built around the UM245R, AT27C1024-70PU, 74HCT574D and 74HCT04D. 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 CSCvon8 KiCad files?

From the DoctorWkt/CSCvon8 repository on GitHub, at the commit this page was made from: the board is Schematic/Schematic.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the CSCvon8 design in my own project?

Its repository publishes it under the GPL-3.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).