0042: Control Logic Expansion (Part 3) Cleanup & Test | 16-Bit Computer From Scratch
*Description:*
In this video I perform a massive cleanup effort to make sure I have all my control signals wire-up properly. This is all in preparation for performing the NOP test again and then testing a Larson Scanner (which is also known as the Knight Rider effect).
Additionally, the code for the Control Logic and Test EEPROM are updated to support the new tests.
Things do not go as well as I had hoped, but given the number of changes made it was to be expected. Ultimately, I end the video before I get too far into troubleshooting and will follow this video up shortly with the troubleshooting and fix.
*Chapters:* 0:00 Intro 1:43 Fetch Register Dignal Delay 2:41 Join Fetch & Instruction Registers 4:06 Attach Clock to Fetch Register 4:39 Power for Clock & Memory; Connect Jump & Control Breadboards 5:04 Land Fetch Register Controls 5:17 Update PC Register Controls 7:10 Land R1 Controls 8:05 Control Clock & Square Memory Module 8:26 Extend 12 bits of Instruction Register 9:48 Label LEDs 10:08 Fetch Register Logic Part 2 13:16 Updating Control EEPROMs 14:06 NOP Test 2.0 14:18 Debugging the Firmware 15:44 Debugging the Hardware 19:06 Solder Bridge 20:25 Code Changes Review 22:14 The BIG Test 28:11 Wrap-Up
*Description*
In this video I solder up the Program Counter Register PCB and install that into the build, replacing the breadboard version.
At the same time, I perform some cleanup of the PCB layout in KiCad.
Of course, this solder-up is not without its problems and I end up leaving a few on the table to solve later.
*Chapters:*
0:00 Intro
0:50 Bulk Decoupling Cap Silkscreen
1:23 Custom EEPROM Replacement Update
2:43 Different Tweezers
3:40 Back Silk Updates for ICs
5:20 Capacitor Footprint Cleanup
7:57 Front-Side IC Silkscreen
10:06 Design Rules Check
10:24 Soldering Pins
13:32 Replacing the PC Register
17:45 Applying Power
22:36 Pull-Up Resistors
23:35 Let's go to the PCB Design
27:37 Confirming What I am Testing
28:25 JMP Test Program
29:35 Giving the Problem Some Clarity
33:33 Timing Revisited
35:24 Wrap-Up
*Resources:*
* 16-Bit Computer From Scratch Complete Playlist: https://www.youtube.com/watch?list=PLUF7WfBe0k3g9wpTtg41QP3jl5y8T1aGV
* ALU Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3hUjV-G_ApJ1jRvpVhnAkqG
* Clock Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3grwqFJM1aVwYW6K9bRCkGN
* Register Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3h1K0GHuQcwE9RUwpX6pBFm
* Intruction Cycle Playlist: https://www.youtube.com/playlist?list=PLUF7WfBe0k3hAeAdKv5JcBrV_JbujD6l_
* Memory Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3ixg4C006_Uq6aZ8vYzlPSM
* KiCad Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3jGLDCGYyv_KxkEMcUfhyN0
* Assembler Source Code: https://github.com/eryjus/asm/tree/v0.0.5
* Control Logic Source Code: https://github.com/eryjus/control-logic/tree/v0.0.8
* Simple Test Source Code: https://github.com/eryjus/16BCFS-tests/tree/Video-0059
* CircuitVerse Project Link: https://circuitverse.org/users/160845/projects/16-bit-computer-from-scratch
*Additional Tags:*
#Homebrew
#Breadboard
#PCB
#KiCad
#74LS
#IC
#SMD
#schematic
#CircuitVerse
*Description:*
In this video, I work on several small utility PCBs. These PCBs are intended to assist with my breadboard layout, making the next builds a little easier. And neater. I hope.
Anyway, I take a have to create a brand new footprint from scratch for the very first time. It's documented here so if it does not go well when I get the PCBs, you will know where to look for the root of the mistake.
This video was fun to make, and I needed something fun after all the troubleshooting I needed to do to solve the problems with the Control Logic Timing.
*Chapters:*
0:00 Intro
1:13 Schematic
3:19 Footprints
4:31 PCB Layout
12:34 Exporting Gerbers
14:50 8-LED Array
15:22 4-LED Array
15:43 Checking the Gerbers
15:55 New Switch Discussion
17:42 Confirming the Datasheet
19:58 Making the Footprint
25:13 Footprint Corrections
26:09 Switch Schematic & PCB
27:37 Wrap-Up
*Resources:*
* 16-Bit Computer From Scratch Complete Playlist: https://www.youtube.com/watch?v=XH92d93l5ww&list=PLUF7WfBe0k3g9wpTtg41QP3jl5y8T1aGV
* Clock Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3grwqFJM1aVwYW6K9bRCkGN
* Register Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3h1K0GHuQcwE9RUwpX6pBFm
* Intruction Cycle Playlist: https://www.youtube.com/playlist?list=PLUF7WfBe0k3hAeAdKv5JcBrV_JbujD6l_
* Memory Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3ixg4C006_Uq6aZ8vYzlPSM
* KiCad Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3jGLDCGYyv_KxkEMcUfhyN0
* Assembler Source Code: https://github.com/eryjus/asm/tree/v0.0.3
* Control Logic Source Code: https://github.com/eryjus/control-logic/tree/v0.0.6
* Simple Test Source Code: https://github.com/eryjus/16BCFS-tests/tree/Video-0045
* CircuitVerse Project Link: https://circuitverse.org/users/160845/projects/16-bit-computer-from-scratch
*Additional Tags:*
#Homebrew
#Breadboard
#PCB
#KiCad
#74LS
#IC
#SMD
#schematic
#CircuitVerse
...
https://www.youtube.com/watch?v=qn8GHRB_tdc
*Description*
In this video I get back to a breadboard and tackle cleaning up the EEPROM Replacement. I am now looking at a Serial EEPROM, but I have absolutely no tooling to be able to handle this IC.
Today I focus on the programming of this EEPROM using an Arduino and building out a purpose-built client application which will be used to interact with the Arduino.
This tool is far from complete and ever farther from having the polish that is required, but you can find the work in progress in my GitHub repository.
Thanks to Ben Eater for the inspiration for hand-coding the SPI protocol. See his video here: https://www.youtube.com/watch?v=MCi7dCBhVpQ
*Chapters*
0:00 Intro
2:10 Part 1: Datasheet Review
8:42 Part 2: EEPROM Programmer Breadboard
13:22 Part 3: Read STATUS Register
17:50 Part 4: Write the STATUS Register
21:18 Part 5: Interacting With the EEPROM
26:15 Part 6: The Basic Client Program
28:12 Part 7: Wrap-Up
*Resources:*
Kind Donations (see https://github.com/eryjus/16bcfs/blob/master/LICENSE.md for details):
* Buy me a Beer: https://ko-fi.com/eryjus
YouTube Links:
* 16-Bit Computer From Scratch Complete Playlist: https://www.youtube.com/watch?list=PLUF7WfBe0k3g9wpTtg41QP3jl5y8T1aGV
* ALU Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3hUjV-G_ApJ1jRvpVhnAkqG
* Clock Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3grwqFJM1aVwYW6K9bRCkGN
* Register Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3h1K0GHuQcwE9RUwpX6pBFm
* Intruction Cycle Playlist: https://www.youtube.com/playlist?list=PLUF7WfBe0k3hAeAdKv5JcBrV_JbujD6l_
* Memory Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3ixg4C006_Uq6aZ8vYzlPSM
* KiCad Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3jGLDCGYyv_KxkEMcUfhyN0
CircuitVerse Models:
* CircuitVerse Project Link: https://circuitverse.org/users/160845/projects/16-bit-computer-from-scratch
GitHub Repo:
* *16bcfs Complete Repository:* https://github.com/eryjus/16bcfs
*Additional Tags:*
#Qt6 #Homebrew #Breadboard #PCB #KiCad #74LS #IC #SMD #schematic #CircuitVerse #ALU #555 #Computer #Emulator #SPI #Arduino
...
https://www.youtube.com/watch?v=5eYsiBxQHG0
*Description*
This video was a long time coming and I apologize for the delay.
In this video I take on the final cleanup for the Control ROM Control circuit. I make a bit of a mess of it and I end up having to re-debug the circuit to get it working again.
That said, I have a completed schematic and I am ready for something new.
*Chapters*
0:00 Intro
0:55 Part 1: Control ROM Module PCB Routing
6:12 Part 2: Inspecting the Gerbers
12:25 Part 3: Control ROM Control Cleanup (Part 1)
17:57 Part 4: Control ROM Control Cleanup (Part 2)
23:13 Part 5: Reconciling the Clock Signal
25:16 Part 6: Some Last Bits of Cleanup
26:34 Part 7: KiCad Schematic Cleanup
29:13 Part 8: Wrap-Up
*Resources:*
Kind Donations (see https://github.com/eryjus/16bcfs/blob/master/LICENSE.md for details):
* Buy me a Beer: https://ko-fi.com/eryjus
YouTube Links:
* 16-Bit Computer From Scratch Complete Playlist: https://www.youtube.com/watch?list=PLUF7WfBe0k3g9wpTtg41QP3jl5y8T1aGV
* ALU Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3hUjV-G_ApJ1jRvpVhnAkqG
* Clock Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3grwqFJM1aVwYW6K9bRCkGN
* Register Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3h1K0GHuQcwE9RUwpX6pBFm
* Intruction Cycle Playlist: https://www.youtube.com/playlist?list=PLUF7WfBe0k3hAeAdKv5JcBrV_JbujD6l_
* Memory Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3ixg4C006_Uq6aZ8vYzlPSM
* KiCad Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3jGLDCGYyv_KxkEMcUfhyN0
CircuitVerse Models:
* CircuitVerse Project Link: https://circuitverse.org/users/160845/projects/16-bit-computer-from-scratch
GitHub Repo:
* *16bcfs Complete Repository:* https://github.com/eryjus/16bcfs
*Additional Tags:*
#Qt6 #Homebrew #Breadboard #PCB #KiCad #74LS #IC #SMD #schematic #CircuitVerse #ALU #555 #Computer #Emulator #SPI #Arduino #EEPROM
*Description:*
In this video I complete the new Control Logic Circuit wire-up, setting up all my new signals to match the code that I updated in Part 1.
*Chapters:*
0:00 Intro
1:52 Strip Board Soldering
5:01 Control Logic Code Change Review
8:31 Control 1 Wire-Up
14:54 Control 2 Wire-Up
18:30 Control 3 Wire-Up
23:34 Part 2 Wrap-Up
*Resources:*
* 16-Bit Computer From Scratch Complete Playlist: https://www.youtube.com/watch?v=XH92d93l5ww&list=PLUF7WfBe0k3g9wpTtg41QP3jl5y8T1aGV
* Clock Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3grwqFJM1aVwYW6K9bRCkGN
* Register Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3h1K0GHuQcwE9RUwpX6pBFm
* Intruction Cycle Playlist: https://www.youtube.com/playlist?list=PLUF7WfBe0k3hAeAdKv5JcBrV_JbujD6l_
* Memory Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3ixg4C006_Uq6aZ8vYzlPSM
* KiCad Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3jGLDCGYyv_KxkEMcUfhyN0
* CircuitVerse Project Link: https://circuitverse.org/users/160845/projects/16-bit-computer-from-scratch
* Assembler Source Code: https://github.com/eryjus/asm/tree/v0.0.1
* Control Logic Source Code: https://github.com/eryjus/control-logic/tree/v0.0.3
* Simple Test Source Code: https://github.com/eryjus/16BCFS-tests/tree/Video-0039
*Additional Tags:*
#Homebrew
#Breadboard
#PCB
#KiCad
#74LS
#IC
#SMD
#schematic
#CircuitVerse
...
https://www.youtube.com/watch?v=8ergzm5X1uc
* Description*
I might have a problem with my JMP instruction. The first test was not able to discern if I was loading and executing the correct instruction after the JMP was executed.
So, in this video, I get to testing that to see if I have a problem and resolve it.
*Chapters:*
0:00 Intro
1:04 Problem Statement
3:19 Creating the Test
4:17 Small Assembler Change
5:10 Executing the Test
6:04 Wrap-Up
*Resources:*
* 16-Bit Computer From Scratch Complete Playlist: https://www.youtube.com/watch?v=XH92d93l5ww&list=PLUF7WfBe0k3g9wpTtg41QP3jl5y8T1aGV
* Clock Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3grwqFJM1aVwYW6K9bRCkGN
* Register Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3h1K0GHuQcwE9RUwpX6pBFm
* Intruction Cycle Playlist: https://www.youtube.com/playlist?list=PLUF7WfBe0k3hAeAdKv5JcBrV_JbujD6l_
* Memory Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3ixg4C006_Uq6aZ8vYzlPSM
* KiCad Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3jGLDCGYyv_KxkEMcUfhyN0
* Assembler Source Code: https://github.com/eryjus/asm/tree/v0.0.4
* Control Logic Source Code: https://github.com/eryjus/control-logic/tree/v0.0.6
* Simple Test Source Code: https://github.com/eryjus/16BCFS-tests/tree/Video-0051
* CircuitVerse Project Link: https://circuitverse.org/users/160845/projects/16-bit-computer-from-scratch
*Additional Tags:*
#Homebrew
#Breadboard
#PCB
#KiCad
#74LS
#IC
#SMD
#schematic
#CircuitVerse
...
https://www.youtube.com/watch?v=dnTC-OarvKQ
*Description*
This is not the video I wanted to make. It's not in the plans at this time to have to take a step back to make significant changes. But that is exactly what I have to do.
This video (which follows closely behind the last one on the Carry Flag: https://youtu.be/H3B27hP6pS8) illustrates the problems I am having with the timing of this computer. If I am to be successful with this built, I need realize my situation and backtrack a little bit.
I am still pressing forward with the build, but I am going to start with a different approach.
In the meantime, join me as this train wreck unfolds.
*Chapters*
0:00 Intro
1:11 The Test Plan & Test #1
2:31 Stable Again
4:05 One Other Problem
5:54 Test #1 Again
6:34 C-Flag Timing, Again
10:06 Test #1 for the Third Time
10:49 Test #2
11:23 Test #3
11:46 Second Problem to Solve
14:20 Checking the Schematics and PCB Design
15:23 Finding the Problem?
15:47 Re-Testing
16:08 Test #3, Again
16:21 Test #4
16:46 Test #5
17:12 ADC Timing Issues
19:12 2 of These Things Are Not Like the Others
21:30 Updating the C- and N-Flags
22:17 Testing the Changes
22:56 Wrap-Up
*Resources:*
* 16-Bit Computer From Scratch Complete Playlist: https://www.youtube.com/watch?list=PLUF7WfBe0k3g9wpTtg41QP3jl5y8T1aGV
* ALU Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3hUjV-G_ApJ1jRvpVhnAkqG
* Clock Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3grwqFJM1aVwYW6K9bRCkGN
* Register Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3h1K0GHuQcwE9RUwpX6pBFm
* Intruction Cycle Playlist: https://www.youtube.com/playlist?list=PLUF7WfBe0k3hAeAdKv5JcBrV_JbujD6l_
* Memory Module Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3ixg4C006_Uq6aZ8vYzlPSM
* KiCad Playlist: https://youtube.com/playlist?list=PLUF7WfBe0k3jGLDCGYyv_KxkEMcUfhyN0
* Assembler Source Code: https://github.com/eryjus/asm/tree/v0.0.10
* Control Logic Source Code: https://github.com/eryjus/control-logic/tree/v0.0.15
* Simple Test Source Code: https://github.com/eryjus/16BCFS-tests/tree/Video-0074
* CircuitVerse Project Link: https://circuitverse.org/users/160845/projects/16-bit-computer-from-scratch
* 16bcfs Emulator: https://github.com/eryjus/16bcfs-emulator
*Additional Tags:*
#Homebrew
#Breadboard
#PCB
#KiCad
#74LS
#IC
#SMD
#schematic
#CircuitVerse
#ALU
#555
#Computer
...
https://www.youtube.com/watch?v=NPJOLGQxgo8
My name is Adam. I'm building a 16-bit computer from scratch. I hope you will join me on this journey.
16-Bit Computer From Scratch Complete Playlist: https://www.youtube.com/watch?v=XH92d93l5ww&list=PLUF7WfBe0k3g9wpTtg41QP3jl5y8T1aGV
16-Bit Computer From Scratch Register Module Playlist: https://www.youtube.com/watch?v=PiZ3pYomPFE&list=PLUF7WfBe0k3h1K0GHuQcwE9RUwpX6pBFm
In this video I provide signal separation from the register output and the LEDs, driving them with a Line Driver.
I also get another mailbag, which I share for some future videos.
Finally, I start to define the clock cycle and what tasks are to be completed when. This will be a living document while we build out the computer.
Additional Tags:
#Homebrew
#Breadboard
#PCB
#KiCad
#74LS
#IC
#SMD
...
https://www.youtube.com/watch?v=ghWq6xt_lnw