= Breadboard Computer Project =
{{{#!html
WINLAB Summer Internship 2024
Advisors: Dr. Richard Howard, Dr. Richard Martin
Group Members: Dilan Gandhi, Rithvik Madiraju
}}}
== Project Objective
{{{#!html
Overview
The goal of our project is to build an 8-bit computer from scratch on a breadboard using different electrical components like Integrated Circuits, LEDs, Wires, etc.
Specific Goals:
- Construction: Build a fully functional 8-bit computer using discrete components.
- Documentation: Create comprehensive documentation covering each step, allowing others to replicate the process. Our aim is to document the step-by-step process, including schematics, notes, and procedures so that others can replicate the creation of their own Breadboard Computer.
}}}
== Week 1
{{{#!html
Week 1 Presentation
Summary
- Familiarized with breadboard computer components: ICs, logic gates, registers, breadboards, wires, and connectors.
- Learned about fundamental computer components: Fetch-Execute Cycle, CPU, RAM, ALU, and BUS.
- Explored the Fetch-Execute Cycle: Fetch, Decode, Execute.
- Studied the CPU: functions, clock, registers, and ALU.
- Understood RAM: its function, volatility, and direct access capabilities.
- Examined the ALU: performs arithmetic and logical operations.
- Investigated the BUS: facilitates communication between CPU, memory, and peripherals.
- Planned tasks for next week: model and test the ALU using TinkerCad, begin detailed documentation, construct the clock monitor, and build the registers.
}}}
== Week 2
{{{#!html
Week 2 Presentation
Summary
- Started and Finished building different components of the clock module
- Started building the A register
- Added more pictures and videos of testing to the documentation
- Tested and troubleshooted problems related to the Clock Module
- First LED wasn't blinking
- Connectivity issues
- Push button wasn't functioning
- Fixed issue due to the different pins on the push button
}}}
== Week 3
{{{#!html
Week 3 Presentation
Summary
- Continued and restarted building of the Clock Module
- Used Oscilloscope to reassure connection
- Fixed the push button to be powered by 555 chip
- Technical issue with Blinking LED
- Fixed response delay from Switch
- Finished building the A-Register
- Used 2 74LS173 chips and 1 7LS245 chip
- Started building the Random Access Memory (RAM)
- Used Inverting Chips, Signal Inversion, and Flip-Flop Chips
}}}
== Week 4
{{{#!html
Week 4 Presentation
Summary
- Continued and restarted building of the Clock Module
- Completed the construction of the B-Register
- Used as temporary data storage, one of the operands for the ALU, and holds data during transfers
- Contains 2 4-bit registers, each storing 4-bits of data
- Includes bidirectional bus transceivers to facilitate data flow between the B-Register and BUS
- Continued building the Random Access Memory (RAM)
- Uses flip-flop chips to store 4 1-bit data units
- A multiplexer (Quad 2-to-1) is employed to channel multiple data lines into a single line
- The BUS transceiver chip is an 8-bit tri-state buffer that allows data to flow bidirectionally between two buses
- Continued documentation, focusing on schematics
== Week 5
{{{#!html
Week 5 Presentation
Summary
- Rebuilt the A and B Registers.
- Completed the construction of the Program Counter.
- Counts in binary to track which instruction the computer is executing
- Utilizes JK flip-flops, which are storage elements that count binary numbers
- Connected to the Clock Module to test counter inputs
- Nearly finished building the RAM.
- Successfully completed the Clock Module.
- Resolved connection issues in all three uses of the 555 Chip: Switch, Button, and Flicker
- Incorporated three logic gates to connect to the clock signal:
- NOT Gate: Inverts input signal
- NAND Gate: Controls clock signal
- AND Gate: Combines signals
- Conducted tests with the RAM and Program Counter.
- Tested RAM through the Clock Module.
- Continued work on the Instruction Manual.
}}}