Program Counter PCB – Superscalar 8-Bit CPU #15

preview_player
Показать описание
Since the program counter has all the features we need for the time being, let's convert the program counter breadboards into a dedicated PCB. And while we're at it, let's expand it from 8 bits to the full 16 bits. In this video we take a deep dive into capturing the schematic of a PCB, laying out components, assembling and soldering the manufactured PCB, and integrating it back into the build.

This video series explores the concepts and techniques that make modern computer processors so incredibly fast and powerful. I build my very own 8-bit processor from individual logic gates and gradually evolve it to become a superscalar out-of-order machine. Along the way, we take a deep dive into contemporary computer architecture in a hands-on fashion and rediscover some of the foundations of modern computing.

0:00:00 - Intro
0:00:42 - Schematic
0:15:58 - Layout
0:34:12 - Assembly
0:52:25 - Soldering
0:57:11 - Testing
1:08:35 - Outro

#homebrew #8bit #breadboard #superscalar #computer
Рекомендации по теме
Комментарии
Автор

Please continue this series, I am tackling the challenge of designing a superscalar pipelined 16bit cpu and this really helps

BOTOND
Автор

Can't believe this channel has so few subscribers, really nicely put together videos, to notch production values.

schrodingerscat
Автор

Can't believe I sat through all that, just as well the board worked straight off! I think you'll need to do a tutorial on how to do board layouts at some point as that went by too fast.

LukeAGuest
Автор

It would have been cool to have a common Vcc/Clock/Reset/(keypin)/GND connector for all of the PCBs.

donwald
Автор

Is there any other way to get this board apart from JLCPCB? The 74HC283 is out of stock and I didn’t want to try to source it from elsewhere because last time I tried soldering with heat gun didn’t end up so well 😢

davidrosset
Автор

(Late to the party here, sorry!) (1) How did you specify the V scoring on that break-apart board? (2) How did you get JLC to do it without charging more than it would cost to get an equivalent number of single boards?

ketv
Автор

Such a nice work routing, it was meditative. I have a question about your JLCPCB order for breakout boards though. Their docs seem to say, that if they find multiple non-connected designs, they'll just charge you for each design independently. How did it work out for you?

veremenko
Автор

Can you explain carry look-ahead adders they never make sense.

donwald
Автор

The purpose of the relative base is to have eg. stack relative programs?
Could do that in a RISCy way too I think - sum the base with the offset into another register, use that register as the absolute jump location.
Doable as pseudo instruction in the assembler if you declare that some registers are for "assembler use" - so you can use them for variables in function calls or some values that you need in the nearest future in the program and don't care about being overwritten.
This really makes me want to draw up some "MIPSy" 16-bit CPU ;D

akkudakkupl
Автор

You don't preheat the board before flowing the paste?

donwald
Автор

I’m stuck in address 1010 in the Program Counter, when I clock it it shows in Memory but won’t progress further. Any clues what might be wrong?

davidrosset
Автор

is this close to Ben Eater's SAP1?

johnbrogan
Автор

I certainly wouldnt have chosen to duplicate the adders but rather muxed their inputs.

protonjinx
Автор

On decoupling caps: my preferred solution is to put them (and other passives) on the back. Few folks do this and I’m not sure why. The only drawback is you need mounting posts on the corners to bring the board off the table when attaching the parts to the back, with suitable holes for the screws holding the posts in in your stencil if you really need one, but it works well: place the (decent size) cap in the centre of the back of the IC with some fat traces going through a via to the power pads on the front.

lawrencemanning
Автор

I’ll never like this style of schematic. Far better is to use symbols that don’t resemble the physical parts. Do you not have busses in that schematic capture tool? Case in point: what if you suddenly had to switch to a different package type for the IC? This would be much easier if logical symbols were used. It really goes against the principle of what a schematic is for; they are more then a means to design a PCB they are for explaining how the circuit works. Also how come you didn’t use KiCAD, which is far more friendly for people building their own?

Sorry for coming across as negative. I love what you’re doing.

lawrencemanning