Finding the Critical Path - Making an 8 Bit pipelined CPU - Part 101CritPath
In this video I analyse the cpu and attempt to identify the critical path through the circuit which constrains the clock rate. This was a thoroughly interesting experience which uncovered a few unexpected things but mostly confirmed the circuits workings.
0:00 Introduction 0:36 Discussion 2:16 Get the scope out! 3:39 ALU Inputs 9:03 ALU Output 11:42 Flags 14:28 Pipeline 17:28 Fetch 23:03 Conclusions 24:58 The Critical Path 27:18 Outro ... https://www.youtube.com/watch?v=KeSu7owOr2c
This is a big milestone point, for the core of the cpu only one block of breadboards remains. In this video I convert the ALU output module to a PCB and get the first execution without any breadboards.
0:00 Introduction
2:29 Schematic
11:12 PCB Layout
20:51 PCB Unbox
21:11 Soldering
26:55 Test and Bughunt
33:10 Bodge Fix
41:17 Final Test
...
https://www.youtube.com/watch?v=UCk36aS62P4
Now the cpu core is essentially complete and on PCB, I'd like to do a video soon as a kind of architecture retrospective. I've got a few things planned that I'd like to talk about but the comments here is an opportunity for you to ask any questions or make any comments about the cpu architecture. I'll try and answer everything in the retrospective video. Ask me anything (about the cpu core).
...
https://www.youtube.com/watch?v=Zawjki48dFU
I'm trying to finalise the pipeline, so in this video I implement the contention handling logic I proposed in video 65. This should improve the instructions per clock slightly but most importantly it will making programming the cpu a bit easier.
I actually ended up being able to fit it all onto the exiting fetch breadboard, the result is one of the most packed breadboards to date in the build.
...
https://www.youtube.com/watch?v=8Guvt8gU6xI
The channels "Simple Electronics" and "Junk From Work" did a face to face live stream speed challenge on this kit, and then put out the challenge for anyone else to try and build their build times. I wanted to spend an evening away from my CPU build so I thought I would take them up on it.
Opening the package on camera was the first time I had seen this kit in person, so this is my first (and probably only attempt). No record for me but to be honest I thought my time would be a lot worse.
Current Known Challenge times:
Pile of Stuff - https://www.youtube.com/watch?v=SrmbIKYftDs
Simple Electronics - 17:46 - https://www.youtube.com/watch?v=E4jVPdeHrSo
Junk From Work - 17:37.0 - https://www.youtube.com/watch?v=_A12X7h-8_A
Gadget Reboot - 11:06 - https://www.youtube.com/watch?v=5qtA-_2QCDY
Junk from work (attempt 2) - 10:43 -https://www.youtube.com/watch?v=3LTtqwn47F0
Simple Electronics (attempt 2) - 08:21 - https://www.youtube.com/watch?v=Ejqoli4cayw
...
https://www.youtube.com/watch?v=DioN6ZXzC94
In Part 91 I described my plans for a shadow ram system that copies from a rom chip to ram to give me lots more memory flexibility. Behind the scenes I designed a small pcb to help prototype that, so in this video I solder that up and build the copy circuit.
0:00 Introduction
1:22 Schematic EDA
3:21 Unbox
4:45 Soldering
6:00 Test Code
9:14 Basic Counter
16:06 Memory Interfacing
25:09 Outro
...
https://www.youtube.com/watch?v=yR9cw7QehCg
In this video I use a cut down (half size) version of the counter register to experiment with interfacing with a bus. I explain a simple circuit built on a separate breadboard for testing, it uses a set of dip switches and the 74LS541 line driver chip.
I originally planned for this and the next part to be one video. I'm trying to target 15-20 minutes per video (yes, I've overrun that quite dramatically in the past) so I cut this one short at a convenient spot so as not to rush the next part.
...
https://www.youtube.com/watch?v=KHKunZx2R9A
This project feels like it's coming together quickly now, for the GPR's the circuit re-uses chips (74LS541 and 74LS574) and concepts from previous sections of the build.
There are a couple of hard breaks in this video, firstly where I discovered I had cut a set of wires to the wrong length and secondly where I had to debug my bus test module (From Part 3). I didn't edit my debugging in as it was just some bad contacts on a cheap ebay dip switch and the was mostly just me obscuring the camera.
To speed things along I build 2 gpr's (I currently plan for 4 in the final cpu but I don't need more than 2 before moving to pcb) which will be sufficent for building and testing the next few components. The registers are complete from a storage perspective but will gain some circuitry for ALU interfacing.
...
https://www.youtube.com/watch?v=kbByLdv7XFY
This was on track to be a very long video, so I recorded a simpler voice over a decreased the time for the eda. Most of the schematic was made already anyway.
This was the first pcb I had to do a serious bodge for. I had some bodge wires on the bus control but it was previously working and that was mostly just tidy up. I do need to buy a better knife for track cutting.
0:00 Introduction
0:36 Design and Layout
6:19 Unboxing
7:30 Soldering
13:06 Hot Air
19:29 Test
21:43 Bodge
26:06 Install & Test
...
https://www.youtube.com/watch?v=R2L1cOltR9A
I've been working on a separate mini-series to build a ttl-uart from scratch, in this video I integrate the UART into the main cpu build to run it through it's paces but also to get an opportunity to test the cpu with the lcd display limiting the clock.
After some basics tests of send and receive I convert the prime number finding demo to use the serial port and make it generate all the 16bit primes as fast as my current clock will allow it.
...
https://www.youtube.com/watch?v=gASZXYR-lro