0070: Timing Issues Part 3: Control Signals | 16-Bit Computer From Scratch
*Description* This video attends to the control signals and makes sure they are all happening with the correct timing. Some corrections were made.
Also, near the end of this video disaster strikes as my oscilloscope starts to malfunction. While I believe I have all my signals timed properly, I am not able to accurately review the signal levels.
*Chapters* 0:00 Intro 1:32 Setting the Stage for the Tests 3:53 Main Bus Assert 5:42 &Latch 7:29 Is the &Latch Signal Correct? 8:03 Rethinking the Problem 9:55 Load/Inc/Dec 11:21 Researching the Signals 14:58 De-Installing the Delay 15:15 Eliminate the Reset Delay 16:27 Disaster! 17:21 Instruction Suppress Sloppy Testing 19:06 Wrap-Up
*Description*
This video seeks to advance the emulator software build and provide me some foundation for the hardware parts of the build.
The video addresses emulating the ALU Adder and includes some cleanup from the realizations I have had about the root cause of my stability problems (thanks to @lsfornells, also known as @relaycomputer).
I also spend a little time cleaning up the clock (back to a 2-cycle clock) and the clock mode selection.
*Chapters*
0:00 Intro
7:40 Part 1: ALU A & ALU B Inputs/Outputs
9:22 Part 2: 74xx540 & 74xx283
13:37 Part 3: Referencing the Build
16:36 Part 4: Emulating the ALU Adder
23:44 Part 5: Emulating the Proper Clock
*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
* CircuitVerse Project Link: https://circuitverse.org/users/160845/projects/16-bit-computer-from-scratch
* *16bcfs Complete Repository:* https://github.com/eryjus/16bcfs
*Additional Tags:*
#Qt6 #Homebrew #Breadboard #PCB #KiCad #74LS #IC #SMD #schematic #CircuitVerse #ALU #555 #Computer #Emulator
...
https://www.youtube.com/watch?v=S1E7nCPiSWU
*Description*
In this video I complete the SPI EEPROM Programmer I started in Video 85. This includes these features:
* Write an EEPROM from a binary prepared on the host computer
* Read an EEPROM and write it to a file on the host computer
* Send a binary to an EEPROM and compare it contents to that on the EEPROM, reporting the page-level differences.
The client application is completed as well.
*Chapters*
0:00 Intro
1:09 Part 1: Handshaking
5:37 Part 2: Programming an EEPROM
10:01 Part 3: Reading an EEPROM
13:17 Part 4: Verifying the Contents of an EEPROM
16:07 Part 5: Soldering the Programmer
18:33 Part 6: 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=gp5PWdW_t3E
*Description*
This video focuses on completing the build-out for the ALU Add circuitry. I do not get to test the new circuit in this video because I need an R2 register to have a second something to add.
0:00 Intro
1:21 Extracting the Flags Breadboards
3:40 Creating the !C Signal
7:27 Why Am I Latching a '1'?
9:08 Latching Inverted Carry
9:41 ALU Results Line Drivers
11:08 Line Driver Wire-Up
13:45 Joinng the Adder to the Flags
14:34 Z Flag CircuitVerse Plan
15:34 Breadboarding the Z Flag
17:24 Z Flag Cleanup
18:46 The Other Flags
21:04 Other Flags Cleanup
21:59 Carry Flag Input Design
23:06 Carry Flag Input Flaw and Wire-Up
28:01 ALU A & ALU B
31:07 Control Signal Consolidation
33: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.6
* Control Logic Source Code: https://github.com/eryjus/control-logic/tree/v0.0.9
* Simple Test Source Code: https://github.com/eryjus/16BCFS-tests/tree/Video-0061
* 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
*Description*
This video completes the load of the EEPROM to SRAM for the Control Logic.
The original design on paper was close, but there are a couple of major additions to get the timing working properly and avoid additional race conditions.
*Chapters*
0:00 Intro
0:47 Part 1: Creating a 74xx164 IC for the Emulator
1:08 Part 2: 74xx164 Code Walk-Through
4:12 Part 3: Some Rookie Mistakes
6:04 Part 4: Close But....
8:20 Part 5: No Longer Crashing; Time to Debug
9:20 Part 6: Failure! But I'm Happy....
13:09 Part 7: Block Diagramming Deterministic Behavior
18:02 Part 8: Block Diagram Optimizations
21:10 Part 9: It Was Close! (Well, Maybe Not...)
24:26 Part 10: The SRAM Latch Solution
26:25 Part 11: Is It Actually Working?
28:53 Part 12: 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
...
https://www.youtube.com/watch?v=tryx-WDJvsE
*Description*
In this video, the R2 Register gets installed and tested.
I also re-order the instruction set to make things work cleaner in the assembler, I discover a timing problem with the reset circuitry. I get to the root of the problem and I am able to explain the root cause and how to get around it.
I do end up getting the R2 Register installed and properly tested, but it is not without its own issues.
*Chapters*
0:00 Intro
2:07 Confirming the Build Works Still
2:42 Testing the New Hardware
4:26 Testing Again
5:52 Assembler Changes
10:23 Control Logic Changes
12:47 Timing Issues Explained
14:20 Demonstrating the Problem
16:18 Reset Circuit?
18:55 Getting to the Problem
20:49 I Found the Problem!
22:57 Next Steps for This Concern
24:02 R2 Wire-Up
28:41 R2 Test Code
29:28 Testing R2
31:37 Control ROM Bug
32:00 R2 Re-Test
33:51 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.7
* Control Logic Source Code: https://github.com/eryjus/control-logic/tree/v0.0.10
* Simple Test Source Code: https://github.com/eryjus/16BCFS-tests/tree/Video-0063
* 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
* Description*
In this video, I begin the process is designing and building the Arithmetic Logic Unit (ALU). We begin by identifynig all the intructions that I want to be able to support.
I identify some impacts on the Instruction Register and discuss some future changes to that register along with the Control Logic. We get into the ALU flags and how they will impact the instruction execution.
Finally, walk through the design mock-up in CircuitVerse and then build it on breadboards.
*Chapters:*
0:00 Intro
0:15 Goals
2:34 Arithmetic Instructions
3:58 Logic Instructions
4:40 Shift Instructions
5:43 Other Instructions
6:10 16bcfs Flags
7:24 More 16bcfs Flags
9:16 Instruction Register Concerns
11:15 Conditions
13:19 Flags Modeling
16:27 Breadboarding the Flags
22:31 Reset Signal Cleanup
23:07 Lower Portion Cleanup
24:34 Upper Portion Cleanup
25:48 Other Singal Cleanup
27:54 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.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=X29ST-q3euE
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
In this video I discuss my interpretation of decoupling capacitors and how I will use them during my build-out. I am trying to get ahead of ground noise issues and I believe that decoupling capacitor placement is what is required.
Part of my approach is a departure from what I consider common practice. Am I right? Am I way off base? Who knows! This is why it's, "The World According to Adam."
Now, I would not knowingly present any false information. That said, there is also a chance I am wrong here.
I also make an attempt at a full ground layer for a breadboard which ends up in a FAIL.
Additional Tags:
#Homebrew
#Breadboard
#PCB
#KiCad
#74LS
#IC
#SMD
...
https://www.youtube.com/watch?v=9wUBhAnc1Ng
*Description*
In this video I tackle the Voltage Drop Issues which have troubled me when I use the USB power supply at exactly 5.0V DC.
This involves a rework of the current Register Backplane PCB.
I am able to bodge the current backplane and get the voltage drop to be significantly less.
*Chapters*
0:00 Intro
1:06 Problem Definition
2:43 Power Supervisor Datasheet
5:28 Register Backplane PCB Design
8:34 PCB Design Cleanup
10:38 Standoffs
11:34 Current Draw
13:57 Current/Voltage Checks Revisited
15:45 Is a Bodge Possible?
17:05 Bodging the Backplane
18:42 First Bodge Point
20:26 One Side of the Backplane
20:50 USB Connectors
21:56 Cross Connected VCC and GND
22:53 Testing the Bodge
24:44 Re-Testing the Whole Build
26: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.7
* Control Logic Source Code: https://github.com/eryjus/control-logic/tree/v0.0.11
* Simple Test Source Code: https://github.com/eryjus/16BCFS-tests/tree/Video-0063
* 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
...
https://www.youtube.com/watch?v=Y3rqRq2cANQ
* Description*
I had an epiphany!!
In this video I discover a simplification of the flags output and resulting simplification into the Control Logic. I implement the controls necessary on the breadboards.
*Chapters:*
0:00 Intro
0:35 My Epiphany
5:10 Some Boolean Algebra
9:09 The Simplification
9:52 New Flags Circuit Model
11:05 Flag Signal Breadboard
14:32 Breadboard Clean-Up
19:47 8-LED Graph Solder-Up
22:34 Adding in the LEDs
24:01 Testing the Flags
27:33 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.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=rrnHTHCvauA