CHUMP Computer Hero Image
Digital Electronics + Computer Architecture
Development of a 4-bit computer from discrete logic, beginning with the clock and program counter and expanding into EEPROM, an ALU, RAM, registers, and control logic.
Type
4-Bit Computer
Architecture
Discrete Logic
Memory
AT28C16 + 74LS189
ALU
SN74LS181
Development
Breadboard Electronics
Computer Architecture
Project Context
The CHUMP was developed across two projects. The first established the clock and program counter as a platform for the computer. The second completed the 4-bit computer and tested the custom program code developed during the previous project.
Reference
01
CHUMP was developed as a 4-bit computer built from breadboarded digital logic, bringing together timing, counting, memory, arithmetic, registers, and control.
The first stage focused on the computer's clock and program counter, creating the platform required for the remaining computer architecture.
The final stage connected EEPROM, the arithmetic logic unit, multiplexer, RAM, address register, and accumulator to the existing clock and program counter.
02
The clock acts as the computer's heartbeat, synchronizing operations across the system.
The clock circuit uses three 555 timer ICs, one 74LS04 Hex inverter, one 74LS08 Quad AND gate, and one 74LS32 Quad OR gate.
The clock is adjustable from less than 1 Hz to a few hundred Hertz. A slide switch toggles between automatic and manual modes. Automatic timing comes from the 555 timer while manual input comes from a push button.
A debouncing circuit was used to eliminate ripple from the mechanical push button and produce a clean square-wave output.
CHUMP Clock Circuit
Adjustable automatic and manual clock
Clock Components
Qty.
555 Timer IC
3
74LS04 IC
1
74LS08 IC
1
74LS32 IC
1
1 kΩ Fixed Resistor
6
220Ω Fixed Resistor
2
1µF Capacitor
1
10nF Capacitors
2
100nF Capacitors
4
100000 MΩ Potentiometer
1
0.5mm Orange LED
4
Slide Switch
1
Push Button
1
Wires
Custom Assorted
Full Breadboard
1
03
The program counter uses a 74LS161 4-bit counter with a NAND gate and slide switch to toggle between automatic and manual input modes.
In automatic mode, the counter counts from 0 to 15. Manual mode takes input from four rocker switches.
The NAND gate output connects to the Load pin of the 74LS161. A high signal activates automatic mode while a low signal activates manual mode.
Program Counter
74LS161 automatic and manual counter
Program Counter Components
Qty.
74LS161 IC
1
3904 NPN Transistors
2
Yellow Rectangular LED
4
0.5mm LED
1
Slide Switch
1
4 Gang Rocker Switches
1
1 kΩ Fixed Resistor
7
Wires
Assorted
04
Two AT28C16 EEPROM chips were used as the Program EEPROM and Control EEPROM.
The AT28C16 has 24 pins, including A0-A10 address pins, IO0-I/O7 data inputs and outputs, Write Enable, Output Enable, and Chip Enable.
Each chip can store up to 2048 bytes. The Program EEPROM is where the code is loaded. The Control EEPROM takes the code from the Program EEPROM and splits it into eight bits: a high and low nibble.
Program + Control EEPROM
AT28C16 EEPROM architecture
EEPROM Programmer
Arduino Nano and SN74HC595N shift registers
05
A dedicated EEPROM programmer was assembled using an Arduino Nano and two SN74HC595N shift registers.
The programmer was created using circuit diagrams from Ben Eater and used two shift registers with assorted jumper wires.
The shift registers were required because the Arduino Nano did not have enough pins to connect directly to the EEPROM.
06
The SN74LS181N ALU provides the arithmetic and logic operations within the computer.
The ALU has 24 pins, two sets of four operand inputs, and four function-select inputs. It also includes mode carry, carry input, comparator output, and carry output.
Operations are selected through the four select lines S0-S3. For basic load, addition, and subtraction functions, the ALU works with the clock circuit, Program ROM, Control ROM, accumulator, and multiplexer.
07
Multiplexer
The multiplexer has 16 pins with four gates. Four bits of data from two sources can be selected using the common Select and Enable inputs.
Its four outputs provide the selected data in non-inverted form.
RAM
The RAM has 16 pins. A0-A3 are address inputs, D1-D4 are data inputs, and O1-O4 are inverted data outputs.
The RAM stores the program being executed along with the data required by the program. An inverter chip is used in parallel with the RAM outputs to un-invert the output.
08
Registers connect the computer's data path to the RAM, multiplexer, ALU, and clock circuitry.
Address Register
The address register has 16 pins with six inputs and six outputs. Its inputs come from the multiplexer and its outputs connect to the RAM inputs.
A clock connection transfers data on the D inputs into storage during the low-to-high clock transition. A Master Reset simultaneously clears all flip-flops.
Accumulator
The accumulator forms part of the completed CHUMP architecture alongside the ALU, multiplexer, RAM, address register, clock, and program counter.
09
The final CHUMP integrates the clock, program counter, EEPROM, ALU, multiplexer, RAM, address register, and accumulator into a complete 4-bit computer.
Final CHUMP Computer
Final circuit mounted on the CHUMP backplate
CHUMP Final Components
Qty.
74LS157 IC
1
74LS161 IC
1
74LS174 IC
1
74LS181 IC
1
74LS377 IC
1
74LS189 IC
1
AT28C16
2
10 LED Barograph
2
Resistor Network
2
Square Yellow LED
4
Square Red LED
4
Square Green LED
4
Wires
Custom Assorted
Full Size Breadboard
4
Complete 4-Bit Computer
Clock, counter, memory, ALU, and register architecture
CHUMP