• Stars
    star
    102
  • Rank 335,584 (Top 7 %)
  • Language
    Perl
  • License
    GNU General Publi...
  • Created over 5 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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.

More Repositories

1

acwj

A Compiler Writing Journey
C
10,294
star
2

pdp7-unix

A project to resurrect Unix on the PDP-7 from a scan of the original assembly code
Assembly
429
star
3

unix-jun72

The working source code to PDP-11 Unix from 1972.
Assembly
90
star
4

SubC

A Tour Through the SubC Compiler
C
81
star
5

CSCv2

Version 2 of my Crazy Small CPU
Perl
64
star
6

xv6-freebsd

Ths project adds a FreeBSD libc, other libs and a runtime to the xv6 kernel
C
62
star
7

fbcc

Fabrice Bellard's fbcc C Compiler
C
35
star
8

4bsd-uucp

Simulate a UUCP network with 4.3BSD SimH images
Lex
31
star
9

Apout

A user-mode simulator for various version of PDP-11 Unix
C
28
star
10

h-compiler

This is a compiler for a high-level language that targets the PDP-7 Unix system,
Perl
23
star
11

ULX3S-Blinky

A blinky project for the ULX3S v3.0.3 FPGA board
Verilog
14
star
12

TTL_TicTacToe

An implementation of Tic Tac Toe in TTL logic
Perl
12
star
13

smallc

Derivative of Ron Cain's Small C Compiler
C
11
star
14

MMU09

A 6809 single-board computer with an MMU
C
9
star
15

2FISC

FISC2: A TTL CPU with Some 16-bit Capabilities
Perl
9
star
16

Wish

This is an interactive Unix shell, originally written for the Minix system
C
7
star
17

Nine-E

A Unix-like environment on an 8-bit 6809 single-board computer
C
7
star
18

ZipTutorials

Toy projects I've created as exercises for the ZipCPU tutorials
Verilog
6
star
19

Verilog_tic-tac-toe

An implementation of "Tic Tac Toe" in Verilog. FPGA versus user, FPGA knows how to win!
Verilog
6
star
20

unix_timesharing_paper

This repository tracks the changes the the "Unix Timesharing System" paper written by Dennis Ritchie and Ken Thompson.
6
star
21

FISC

An 8-bit TTL CPU with a Stack Pointer
Perl
5
star
22

build-ubuntu-vm

Automated Unattended Builds of Various Ubuntu VM Images
Shell
5
star
23

SimpleCPU

Verilog
4
star
24

tlearn

Interactive Linux tool to learn command-line skills
Shell
2
star
25

SwiVM

An implementation of the Swieros VM in Verilog
C
2
star
26

Fuzemsys

FUZIX Compiler Kit Emulators with Syscall Support
C
2
star
27

search_backups

Small scripts to build a catalog on backups and search the catalog
Perl
1
star