8-bit computer build: Connecting the bus

  Рет қаралды 254,694

Ben Eater

Ben Eater

Күн бұрын

In this video, we'll first build a simple 8-bit register to store the contents of the computer's output. Then we put everything we've built so far together. Everything is tied together through the common bus and common clock signal.
Support me on Patreon: / beneater
See eater.net/bbcp... and eater.net/bbcp... for more.
Additional parts for the output register:
- 1x 74LS273 (Octal D flip-flop with clear)
- 1x 74LS08 (Quad 2-input AND gate)
You could also use two 74LS137s like
Additional parts for the bus
- 8x 10kΩ resistors
- 8x LEDs
- Lots of breadboards, wire, and patience :)

Пікірлер: 276
@lwizzit
@lwizzit 5 жыл бұрын
Ben, i know it sounds very basic, but I would love to see a video on how you prepare your jumpers. They are so perfectly measured and configured that you must have uniquely efficient method. Please share!
@pixelgoose98
@pixelgoose98 3 ай бұрын
he made a video on it called breadboarding tips and tricks
@GothPanda
@GothPanda 7 жыл бұрын
I spent all day watching these, and I absolutely, can't wait for the next video. I am absolutely going to have to try this myself, and see what else I can do with it. Thank you so much for being an inspiration, and not only documenting the process, but showing us the ins and outs and whys. You have a knack for explaining things in a way that I've actually been able to grasp them. Thank you again so much.
@danny_racho
@danny_racho 3 жыл бұрын
I don't think after 3 years you even started with this yet mate ;)
@hariranormal5584
@hariranormal5584 3 жыл бұрын
@@danny_racho Bad to judge people like that, rather should say "He's working at amd" ;)
@pigggy2313
@pigggy2313 2 жыл бұрын
So Trevor, did you do it ?
@giantneuralnetwork
@giantneuralnetwork 7 жыл бұрын
The moment it starts counting.. so amazing! The work + educational value you're building here is inspiring.
@isbestlizard
@isbestlizard 5 жыл бұрын
HEY you should hook up the video card you made to your 8 bit computer and make it play PONG or something :D
@bobdagamer640
@bobdagamer640 4 жыл бұрын
The video card could only display still images and couldn’t be updated on the fly Also it would probably more than double the size of the computer because you would have to calculate all the pixels one by one
@xiar5546
@xiar5546 3 жыл бұрын
@@bobdagamer640 let the man dream.
@KX36
@KX36 7 жыл бұрын
If you're worried about your power rails, you'd be better off adding decoupling caps to each breadboard rather than making massive ground loops and Vcc loops. Ground loops don't sound like they should be a big deal for low speed digital logic, but as the circuit gets bigger the pulse current around the loop on each clock when every transistor simultaneously switches may become significant enough to cause some problems by changing Vcc and ground voltages in different parts of the circuit, as well as induce magnetic fields within the loop. This is all made much worse when there's no decoupling. Obviously it works fine for now but it may come to a point where it causes headaches and it's not clear why.
@KC-rd3gw
@KC-rd3gw 3 жыл бұрын
Keep in mind the breadboards also add a lot of capacitance to both the power and ground rails. It would definitely make sense for a more power hungry IC with really fast switching times that's in a remote part of the board. I wonder if a small bulk decoupling cap at the far ends of the rails would be enough?
@danman32
@danman32 3 жыл бұрын
Indeed, include decoupling capacitors at each breadboard. However the decoupling capacitors won't solve the voltage drop at the far end of the power paths caused by inherent resistance in the wiring and breadboard. So multiple power connections to the breadboards is important.
@TenguSteel
@TenguSteel 5 жыл бұрын
Question: Would it make sense to add a clock bus, another strip to your bus and use it for clock instead of doing so much custom wiring for the clock?
@jakobzorz7383
@jakobzorz7383 5 жыл бұрын
i thought of that too
@davidmcgill1000
@davidmcgill1000 5 жыл бұрын
Could've had clock and reset shared on their own strip, yes.
@sanderc25
@sanderc25 4 жыл бұрын
yes, that's a good way of thinking to be honest. But I think he did it this way so everyone could get it how a computer works
@_Gecko
@_Gecko 3 жыл бұрын
I’ve been wondering that about the clock, power, and reset lines
@enterpriset
@enterpriset 3 жыл бұрын
Interested to see so many had the same thought!
@adamp9553
@adamp9553 5 жыл бұрын
The lines on the bus go ground, ground, ground. (As he's pulling the lines down with resistors.) …I'll see myself out.
@Ramu-10
@Ramu-10 3 жыл бұрын
The lines on the bus go in, the, nose.
@Shyssiryxius
@Shyssiryxius 6 жыл бұрын
I had the bus EXACTLY like Ben using 10K resistors tied to GND except I added current limiting resistors onto the Bus LEDs. With 3 registers connected and the 10K resistors to GND I was getting strange behaviour. If the bus was not loaded with anything (ie: the registers were not outputting to the bus) I found if I loaded from the bus it would read say 0000 0000 as 1111 1111. Any 0 bit would be read high. I need to stress this is without any component outputting. Just using jumpers to give HIGH or LOW signals. If I had a value outputted from a register like 0101 0101 and loaded that onto the BUS and had another register LOAD it I had no issues. I put a multimeter onto the bus and it appears with 5V PSU and 10K resistors to GND the bus idle voltage was .8V and not 0V as I would have thought. Turns out even if the register has a value of 0000 0000 either the 74LS245 or the 74LS173 outputs a 1.34V value (1.4V with no 10K resistor). Interestingly enough this value also fluctuates slightly as the clock pulses. My solution was to use 1K2 resistors instead of the 10K which has reduced the empty bus voltage to .6V which for some reason makes the registers behave again. Im not sure why as the datasheet for LS245 said the HIGH voltage threshold is 2.4 volts which is very much above the 1.34 I was getting. Maybe someone smarter can chime in on what is going on..
@misterjay530
@misterjay530 5 жыл бұрын
Just ran into the exact same issue. Looks like you are the only other person who's encountered this unfortunately :P
@Shyssiryxius
@Shyssiryxius 5 жыл бұрын
@@misterjay530 I was using the cheap ebay BBoards and after completing the machine its not usable. Once I added the EEPROMs to my control logic the ring counter and program counter would both jump counts here and there. Using a different clock with soldered connections improves it but after running for a few mins the ring counter occasionally skips on count T3. If I program the machine to do some of Bens examples the machine seems to calculate the value early and the value is a few digits off. Additionally I have a very unusual problem of if I have the machine count from 0-255 after running for a few minutes the output display gets to 254 and then resets to 240 before counting to 254 and back to 240 and so on. the B register seems to be at fault here but again no idea why when it seemed to work fine earlier. In fact if i used the wires to control the signals (before adding in the EEPROMs to automate it) it worked fine. It seems something about my control logic, ring counter, and reset circuit have caused some issues somewhere. I even bought a dedicated PSU and have the star method of connections going to each of the breadboards from the PSU terminals with voltage readers spread across the board to ensure consistent power delivery which is fine. I've reverted to rebuilding from scratch using the expensive boards and hopefully i'll have a more stable and usable system. Will report back once done :)
@misterjay530
@misterjay530 5 жыл бұрын
Good luck. I ended up swapping out the 10k Ohm resistors for 330 Ohm resistors and it seems to be working fine now.
@Ralf4511
@Ralf4511 5 жыл бұрын
Same problems here. I ended up with 2k2 resistors instead of the 10k. But another solution might be to connect also the unused four bits of the program counter to the bus. So every component will set a defined level at all eight bus lines. Only when the bus is idle, the bus lines will have an undefined level. But that condition will never occur, I think.
@kawkvulcan500
@kawkvulcan500 5 жыл бұрын
Glad to see this post about the pull up resistors. I was a little confused as to why in this video there aren't any, but the next video there is. He must've had some issues at first as well. Great video series! Thanks Ben! I built a "computer" on breadboard back in the late eighties. Z80 cpu and a static ram with LEDs. Let it run till it stops! 🤣
@HenrikDanielsson
@HenrikDanielsson 7 жыл бұрын
I was playing Factorio when noticing this episode. Such beautiful synergy this day brought! :)
@SteveYoung359
@SteveYoung359 3 жыл бұрын
It's like a badge of honor for anyone who has made it this far haha - Even if you've gone back and rewatched every video 25 times - the anticipation for doing the control logic next is too much to handle!!!!
@pilotandy_com
@pilotandy_com 7 жыл бұрын
Thanks for making this series Ben! Such wonderful information presented in a very understandable way. I am thinking I should try this in my FPGA.
@scitwi9164
@scitwi9164 7 жыл бұрын
If you have an FPGA, another idea would be to implement the SHA-256 hash function in hardware and use it for mining BitCoins ;D
@pilotandy_com
@pilotandy_com 7 жыл бұрын
I HAVE an FPGA, I don't know how to do anything with it yet. :P
@wich1
@wich1 7 жыл бұрын
Sci Twi FPGA bitcoin mining is already waaay outdated, it's ASIC or nothing these days
@MichaelFJ1969
@MichaelFJ1969 7 жыл бұрын
I'm actually programming my FPGA, trying to follow Ben's videos as closely as possible. Have a look at: github.com/MJoergen/bcomp
@MichaelFJ1969
@MichaelFJ1969 7 жыл бұрын
What kind of FPGA / board do you have ? I have a Basys2 board with a Xilinx chip.
@chrisbovee7018
@chrisbovee7018 5 жыл бұрын
ben, could one use an EEPROM and some counters to make an adjustable digital clock, such that a computer could adjust it's own clock speed? the computer would put some time in and a counter(+astable clock) would increment up to that time, at which point it would advance the clock 1 cycle. the computer could program itself to run with 5 second cycles, and then mid program it could change to run at maximum clock speed while doing perhaps some repetitive calculations, then slow or even stop itself at some point. A command which asks the operator to advance the clock would basically be a pause instruction i guess? other implementations: a series of frequency dividers going to a ladder of transistors and the computer can choose to connect or disconnect itself from any of them including a manual control line (on a debounced button) or of course a basic DAC resistor ladder on an astable clock such that the computer can, for instance, choose the capacitor charge speed of a 555 clock. that way it could make itself run any speed from max to halted via careful resistor choice.
@bkzzzzz
@bkzzzzz 7 жыл бұрын
finally we will see the Magic of Control Logic in Next Video.
@MIKAEL212345
@MIKAEL212345 7 жыл бұрын
This is what I was waiting for the most!
@smiley235
@smiley235 7 жыл бұрын
Ravindra Badgujar I get butterflies thinking about it.
@oscill8ocelot
@oscill8ocelot 7 жыл бұрын
Clone36 lol me too - we are **such dorks** xD
@jeffnay6502
@jeffnay6502 7 жыл бұрын
I am thinking that you will have to build the Instruction Decoder and the Ring Counter, before you can build the Control Matrix. However, that is because I built both my Instruction Decoder and Control Matrix, using only TTL logic chips. If Ben uses ROMs for all of this, you could be right. Either way I am like you and I can not wait for Ben's next set of videos. They are always right on the mark and incredibly informative.
@scitwi9164
@scitwi9164 7 жыл бұрын
It would be great if Ben took the same approach as you and started from building the instruction decoder from plain old logic gates, and then gradually improved it to use microcode in an EEPROM, similarly to how he did it with the 7-segment display decoder. I think such approach would be a more logically natural progression. It could also influence the instruction set, making it simpler and more organized (because then it is also easier to decode it with plain old logic).
@eraoul
@eraoul 7 жыл бұрын
Amazing video! The bus was always a bit mysterious to me, and you make it so simple. Great to see everything get connected here. The earlier video explaining the tri-state logic for bus connections was also critical. Now it makes sense -- thanks!
@hariranormal5584
@hariranormal5584 3 жыл бұрын
Instructions unclear ended up making ryzen 5
@iainbarnard3322
@iainbarnard3322 7 жыл бұрын
Awesome work Ben!! Cant wait to carry on with the series, I've been binge-watching this series for the past 4days, this is definitely my next project after building a 3d printer. Im studying Mechatronics, and one of my subjects deal exactly(basically) with this project... Cant wait!! Ps when youre done could you do a FAQ and a bill of all materials? Stuff like how you measure your wires and thought process when planning a breadboard. Thanx alot Iain
@massimookissed1023
@massimookissed1023 7 жыл бұрын
Iain Barnard , my own technique is to strip one end of the jumper wire and stick it into the start hole, then use pliers to make all the bends in-situ to route the wire to the end hole, then cut & strip the _end_ end. :)
@scitwi9164
@scitwi9164 7 жыл бұрын
There's a better technique: just strip a long piece of the isolation from the wire. Then measure out a piece of the isolation remaining on the wire to whatever length you need, and cut just the isolation there. The isolation can then freely slide along the wire, maintaining its length. So you can move it to the end of the wire, leaving around a centimetre of non-isolated wire at the end, and you cut the wire on the other side, 1 cm after the isolation. Then repeat with another piece. This way you can make very precise and neat-looking jumpers easily :)
@Ghost572
@Ghost572 6 жыл бұрын
I do the same Massimo!
@Ghost572
@Ghost572 6 жыл бұрын
Thanks for the tip aswell Sci Twi, I didn't think about that.
@garydunken7934
@garydunken7934 7 жыл бұрын
Thank you Ben. So neatly layed out and presented. I like the way you do things without taking shortcuts, for example, the effort you took to make that bus LEDs was awesome. Well done again.
@KeefJudge
@KeefJudge Жыл бұрын
I'm commenting on a several years old video I know, but I wanted to say I've been following this series through recently and found it absolutely fascinating. I've been a programmer all my career so it's been amazing to see such a well explained set of videos on the electronics side of it from first principles to understand what my code is doing on a much lower level than I'm normally exposed to. What's astonished me is how simple the components are, yet what they do in combination is so powerful. This series has been the first time I've actually "got" how semiconductors, diodes, transistors, logic gates, flipflops, register, etc work, so thank you Ben! I'll keep watching the rest of the series (and more of your vids). Thank you and keep it up!
@mx0r
@mx0r 7 жыл бұрын
Is there a reason that the clock is not distributed as another rail in the bus? It would be much nicer from design standpoint and there would be single connection interface per module... and possibly blue led up top to indicate current clock.
@mjsymes
@mjsymes 6 жыл бұрын
Being in the middle of building this - I also wish I'd added a power rail alongside the data bus to help with efficient power distribution before I'd stuck all the breadboards and bus into place. Instead I'm overlaying them creating a multi-layer design. Because.... why not!
@sathvikswaminathan7933
@sathvikswaminathan7933 4 жыл бұрын
Any reason why 74LS273s weren't used for building the registers?
@theairaccumulator7144
@theairaccumulator7144 6 жыл бұрын
Seriously now. How many bread boards does this guy have?
@AstAMoore
@AstAMoore 7 жыл бұрын
Could you put a piece of red electrical tape over the 7-segment LEDs? That should increase legibility somewhat. (If you have a piece of dark red transparent plastic lying around, it’s even better.)
@scitwi9164
@scitwi9164 7 жыл бұрын
Sometimes I wonder why don't these LED displays come with that foil already put on :P Is there any reason one would _not_ want it put on by default?
@AstAMoore
@AstAMoore 7 жыл бұрын
Usually meant to be installed behind a tinted filter of some sort.
@rich1051414
@rich1051414 7 жыл бұрын
Even gluing a tiny piece of printer paper over the 7 segment display helps A LOT. Try it sometime, it actually looks pretty nice for what it is :P Tinted glass works best though(which blocks all color except the color of the LED).
@oscill8ocelot
@oscill8ocelot 7 жыл бұрын
Question: Why did you choose to use dual 74LS173s in the earlier registers you built, instead of the single 74LS273 that you're using for this one? Is it just a matter of what you had on-hand, or is there a practical reason?
@erik19borgnia
@erik19borgnia 5 жыл бұрын
This, I'm having the same dilemma. Why not using the 74LS237 instead of 2x74LS137?
@adamhixon
@adamhixon 5 жыл бұрын
@@erik19borgnia Have you made your decision yet/how did it work out? I know there was some talk on a previous video's comments about ANDing the clock (required w/ the 74LS237) being a bad thing due to the latency it would cause but I really doubt it would matter on a breadboard computer.
@erik19borgnia
@erik19borgnia 5 жыл бұрын
@@adamhixon Actually I had that problem, because it loads on every clock, so you have to AND to a control signal to prevent this. I didn't like that so I choose to use the 74LS377 instead for the registers, which has a ¬G signal that acts as an enable... HOWEVER, in one specific register (B register in the ALU) I used the 74LS237 because I wanted it to be able to reset itself to 0 (and the 377 can't), so I had to use an AND gate in this particular case.
@urgtuiop5455
@urgtuiop5455 3 жыл бұрын
If you used an open collector driven buss you could avoid blowing drivers due to a microcoding error and also have a handy wired-and element.
@chrismitchelmore9379
@chrismitchelmore9379 7 жыл бұрын
Just binge watched the entire series so far. Awesome! Can't wait for the conclusion.
@jpisello
@jpisello 7 жыл бұрын
This brings back so many memories from my freshman Digital Circuits course. We didn't build an entire computer, but we did build several of these circuits. Love this channel!
@marsim4150
@marsim4150 7 жыл бұрын
could you please make a video showing how you've organized your electronic parts, how many parts shoudl be bought, tips and so on.. :-) Thank you for the time spent to make a such great video
@katiagalkina4607
@katiagalkina4607 Жыл бұрын
oh it seems I'm late by a couple of years but it's fascinating to see how your computer is being born! I can feel and see registers, clock, IO and the bus... things that I've only read about many times, but this is another world! I really appreciate it!
@autious
@autious 7 жыл бұрын
Getting the bus into the mix was really a revelation for me. Thanks!
@LeonoraTindall
@LeonoraTindall 7 жыл бұрын
This has been an amazing video series so far, and extremely informative. Thanks so much for documenting all of this!
@Pipiopy
@Pipiopy 7 жыл бұрын
this is the moment when all the super mega hackers of the internet realize they don't know nothing
@sunday87
@sunday87 3 жыл бұрын
Well this is really rewarding after watching the whole series to this point! Even without the control logic the computer can already do something, basically running an infinite loop of a single instruction that was decoded by hand by setting the control signals manually.
@Darkassassin09
@Darkassassin09 5 жыл бұрын
Considering you have the leds connecting the bus to ground, are the pull down resistors even needed?
@chopov11
@chopov11 3 жыл бұрын
Also would like to know why he connected the cathodes of the LED’s to ground, i thought that was positive.
@Darkassassin09
@Darkassassin09 3 жыл бұрын
@@chopov11 no, anode = positive and cathode = negative. I also know the answer to my question after a year; LEDs like any other diode have a voltage drop, they will only pull the bus down to a certain voltage until they don't pass enough current to drain the rest of the charge in a reasonable time/at all
@mxlje
@mxlje 2 жыл бұрын
The first time you run through it and it all works is so incredibly satisfying. What an amazing series. Thank you, Ben!
@andreashammargren751
@andreashammargren751 7 жыл бұрын
Wow, I am so looking forward to the next parts!
@antagonizt
@antagonizt 7 жыл бұрын
I used an LS377 which has an separate enable line
@hiqwertyhi
@hiqwertyhi 7 жыл бұрын
I suppose you could've avoided the extra chip by building the AND gate out of transistors... :)
@JohnDlugosz
@JohnDlugosz 6 жыл бұрын
You could use another address bit to offer a switch to hex display. Actually, that gives you 4 modes: unsigned, signed, hex.... and you could use the last for octal. Use the dot segments to indicate the current mode. And binary is always shown on the lamp LEDs as well.
@myportfoliomax4971
@myportfoliomax4971 7 жыл бұрын
Man, you are cool. Subbed. Clean explanation. That's what I was looking for.
@siddharthahluwalia9796
@siddharthahluwalia9796 6 жыл бұрын
Hey Ben, FYI the pull down resistors on the bus are in fact 1K (not 10K as suggested)
@antkoos
@antkoos 6 жыл бұрын
Make the scientific calculator with these
@pseudo_goose
@pseudo_goose 5 жыл бұрын
You don't actually need to pull the bus to ground; you've already grounded the unused MSB on your buffers for the address and counter! Oh well ...
@404Anymouse
@404Anymouse 7 жыл бұрын
You might try putting a filter on the display. You can look for colored plastic foil or you can try taking masking tape and painting on it layer of red blue or violet sharpie color
@scitwi9164
@scitwi9164 7 жыл бұрын
I had a feeling that you will upload another video in a couple of days :) But I'm starting to get an impression that you're procrastinating the control unit :q
@lallenlowe
@lallenlowe 5 жыл бұрын
You magnificent bastard.
@portal6347
@portal6347 5 жыл бұрын
Allen Lowe it’s just amazing what Ben does imo. My best thing I made can be simplified down to one component. I could never do a full fledged computer like this. (The one component was a button/switch-based programmable painting grid using the MAX7219 circuit.)
@jemlittle1787
@jemlittle1787 5 жыл бұрын
you are the master for your knowledge and explicit presentation. Thank you for making so much so clear
@Brony22
@Brony22 7 жыл бұрын
you should see if you can make a basic keypad with some buttons and switches to allow for more control-ability for this computer and to be easier to do things besides move wires around. love the channel just found you lastnight.
@rich1051414
@rich1051414 7 жыл бұрын
Couldn't you use 2 transistors instead of that quad and gate, or do you plan on using those other 3 gates at some point?
@sjair6526
@sjair6526 Жыл бұрын
We’ll, I think I figured out the ghost in the program counter. It would count from 0 to 3 and never advance. It also was intermittent at first until it finally did it consistently. Turned out the green LED on bit 3 was shorted. Never had that happen before, but that cured the random counter problem. I didn’t use current limiting resistors on the counter output, maybe that would have made it easier to diagnose. Also wound up having to use 3.3k pull down resistors on the bus. 10k left 1.5v on the open bus. All the modules would show high’s when the bus was open. Great learning experience but was pretty frustrating at times
@AlberTesla1024
@AlberTesla1024 7 жыл бұрын
i think next will we the hardwired control logic using eeprom
@sjair6526
@sjair6526 Жыл бұрын
After lowering the recommended 10k resistor to 3.3k, all the modules with exception to the Ram_In responded with a 0 to the open bus. Even with the lower 3.3k resistor, I still get 1.2v on the open bus lines. Leakage current? My solution is to tie all the bits from the program counter to the bus and never read in to a module without another module driving the bus. Not sure if this is a solution or not but the best one I can come up with for now. Made a lot of screw ups in prior module builds so I wouldn’t be surprised if a couple of the bus transceivers might be a little less than peak performing! Maybe supplying a little more leakage current than they should.
@Thermacon
@Thermacon 7 жыл бұрын
Hopefully you can add a user interface:)
@monad_tcp
@monad_tcp 6 жыл бұрын
0:40 I'd be afraid to do that if it was CMOS
@ryandikdan
@ryandikdan 7 жыл бұрын
AHHHH I just watched all of these in 3 days! What suspense!!!!!
@rabiussanyapu
@rabiussanyapu 7 жыл бұрын
Ben will you upload your next video tomorrow? or we have to wait for another week??
@brucealport8009
@brucealport8009 3 жыл бұрын
With the bus pull-down resistors in place I'm still seeing about 1.6v on the pins with nothing outputting to bus. This reads as all 1's if I enable a register for input. Is anyone else seeing this?
@mvargas0302
@mvargas0302 3 жыл бұрын
¡Gracias!
@markothevrba
@markothevrba 7 жыл бұрын
But can it run Crysis?
@RedwoodRhiadra
@RedwoodRhiadra 5 жыл бұрын
With 16 whole bytes of memory, it not only can't run Crysis, it can't even *load* Crysis. It can't even load the *loader* for Crysis :-)
@Engineer9736
@Engineer9736 5 жыл бұрын
It was a joke, Redwood
@randomracoon1906
@randomracoon1906 6 жыл бұрын
sooo satisfying to see the all pieces together for the 1st time...
@burninhell4448
@burninhell4448 7 жыл бұрын
You could have sacrificed the reset pin of the 74LS273 and used 74LS377 instead which has an input enable, that way you wouldn't need the AND gate. That's the way I did it, because in reality you don't need to reset any of your registers during operation. You can just overwrite their contents.
@ZacMitton
@ZacMitton 3 жыл бұрын
Doesn't seem to need the control signal ANDed with the clock pulse, idk
@MaxPicAxe
@MaxPicAxe 7 жыл бұрын
I love this series I didn't know it was still going!
@NillKitty
@NillKitty 4 жыл бұрын
I love that we used 4K of ROM to make the 7-segment displays work on a computer that only has 15 memory addresses. The irony.
@osadzinski
@osadzinski 7 жыл бұрын
I ran into a problem when building your 8-bit computer where the RC circuit for the RAM IN (RI) caused some feedback on the clock signal and effected my Output Register. Was getting random O's getting displayed during a computer run. I needed to isolate that RC circuit by putting 2 remaining NAND gates of the RI 74ls00 in series. After doing that it really stabilized the output display. Just wondering if that is the reason why you switched to using a single 74ls273 for the Output Register.
@StephenBecker
@StephenBecker 7 жыл бұрын
Yeah, I'm building that and having the same problem. From what I can tell with my scope, it is causing there to be a rising edge triggered on the falling edge of the clock. When you say you put two of the NAND gates in series, do you mean you put the one in front and one behind the RC circuit NAND gate?
@StephenBecker
@StephenBecker 7 жыл бұрын
So I just solved the problem differently. I put the clock signal into the resistor through a diode, and then put a 10k resistor to ground on the other leg of the capacitor. Seems to have solved all the feedback issues!
@22jcampb
@22jcampb 3 жыл бұрын
What about dedicated storage registers instead of a fast clock?
@jingerjesus4621
@jingerjesus4621 Жыл бұрын
So you've got a lot of stuff on there - how do you deal with power draw?
@danyala.1659
@danyala.1659 7 жыл бұрын
To build everything so far, the price is over $100!!!! How many more parts to go? Here is how much I have to spend (everything is from ebay)- $15- computer clock $6 -8-bit register $10 - alu $15 - ram module $8 - flip-flip $6 - binary counter $4 - program counter $15 eeprom $10- decimal display mis. $15
@kei_otake
@kei_otake 2 жыл бұрын
the biggest computational crossover ever
@epicDamnWin
@epicDamnWin 6 жыл бұрын
I know i'm late to the show and i'm pretty new to the topic but couldn't you have used just a simple transistor (i know its quick and dirty but it works) to "and" the clock and your signal? The 74LS08 could have been saved by that
@dingodog5677
@dingodog5677 2 жыл бұрын
The ls573 has the outputs on a single side.
@JerryEricsson
@JerryEricsson 6 жыл бұрын
OH WOW SHADES OF LOST IN SPACE COMPUTER!!! Love the LED's, we should make a panel with all of them in line and labels for each set! This would be GREAT!
@chrisjpf33
@chrisjpf33 7 жыл бұрын
HA! I am laughing about what happened at 14:12. Sneaky but I noticed. Good catch.Love your videos, thanks!!!
@erik19borgnia
@erik19borgnia 5 жыл бұрын
Why did you used 2x74LS137 in the other registers instead of a single 74LS237 like with the output one? Thanks for your work, this are great educative videos!
@JetFission
@JetFission 7 жыл бұрын
I'm having no problems understanding the logic behind these circuits, but how do you actually go about planning the electrical circuit? There are so many IC's... how do you know how much power to provide? Where to put the resistors?
@yonatanh8722
@yonatanh8722 3 жыл бұрын
Hi, after connecting all the components to the clock, I noticed that the program counter was now incrementing also on the falling edge of the clock. I've traced the source of this problem to the capacitor on the NAND gate in the memory write module. Now that I watched this video again in slow motion, I am pretty sure Ben's counter is counting on the falling edge as well. Can anybody help me understand why this is happening and how I can fix it?
@Dragonmastur24
@Dragonmastur24 7 жыл бұрын
is the 74273 a dual die in single package chip? is that why the pins are set up symmetrically? This series is sooo good!!! Keep it up, i am enjoying every minute of learning!!
@CrazyMineCuber
@CrazyMineCuber 6 жыл бұрын
How can you use an asynchronous clock in this case (AND-ing system clock) when someone clearly said you could not do logic with the clock when you were doing the registers? They said that one would leave the synchronous realm if one does so. Is it because of our very slow clock speed? Would put constraints on the systems max clock frequency?
@DirtyLilHobo
@DirtyLilHobo Жыл бұрын
I've experienced building several assignment projects on those breadboards in an electrical engineering class. The most frustrating thing was, after several dozen connecting wires to various chips, one loose or misplaced wire can be a nightmare to find. I felt for those students that had to make an entire computer with zip tied bundles of wires extending over several bread boards.
@XtroTheArctic
@XtroTheArctic 4 жыл бұрын
I think the optimal way of describing the same thing would be by saying "control signal enables the enable input of the register and we AND the clock signal to synchronize it with the entire computer" instead of saying it in the opposite order "clock signal enables the register and we AND control signal onto it".
@angelman4374
@angelman4374 5 жыл бұрын
WHY The lines on the bus go ground with resistors ? wouldnt this make the bus bit always 0. doesn't make sense. why is that happened :(
@benjaminreeves4516
@benjaminreeves4516 7 жыл бұрын
I enjoy your videos a lot, very educational to someone like me who wants to get into this sort of stuff but doesn't know how. It would help a lot if you were to make a video explaining things like resistors, breadboards, capacitors, and the different types of each. Thanks!
@kold4642
@kold4642 7 жыл бұрын
Anyone know the exact wire used? I understand it's 22 gauge but I cannot find any with thin insulation. It's all thick and bulky when bunched together.
@WightHouse45
@WightHouse45 2 жыл бұрын
my output module was grabbing 255 from the bus no matter what I did. Only the LEDs at the top, output module address, and 10k resistors were on the bus at the time. Did some tinkering and not sure why but 10k resistors were having the module pull 255 (all 1s) so I switched to 5k resistors and they seem to be working, not sure of the implications though. I can still assert 1s where I want and seems to be working, not sure why 10k resistors weren't working.
@drivers99
@drivers99 Жыл бұрын
Same here. I measured across the resistor and it was 1.5 V or so. I'll try 5k!
@sabaku7732
@sabaku7732 4 жыл бұрын
while building this i was having really weird behavior on the bus lines where certain lines wouldn't pull down to ground when not high. i went on a witch hunt thinking that it must be a faulty module, i disconnected ... all registers and even the ALU ... turned out i just needed to use 5k resisters instead of 10k to make sure lines get pulled down. i cried when it worked.
@lebanbo55
@lebanbo55 7 жыл бұрын
Great video Ben! After you finishing this project , would you like to give us a talk about how signal that carries data from the capacitor of a DRAM cell to the latch of a register works on the circuitry perspective please ? I know how sense amplifier works, I have trouble in visualized seeing the process of how the signal which carries data is generated and sent to the register , and how register receives it and traps it into the latch of register . Thanks in advance.
@karatharp6118
@karatharp6118 4 жыл бұрын
When I connect everything up my program counter goes double time (counts twice per clock cycle)... I found out if I take the 0.01uF capacitor that is acting as an edge detector for the NAND gate for the "Write to Memory" signal, it fixes the program counter issue... but now the edge detector is gone. What is happening here and how can I have the edge detector without it interfering with my program counter?
@andrewmoxon169
@andrewmoxon169 4 жыл бұрын
Hey, I just had the same problem!! Took me a while to work out what was happening. The discharge of the capacitor on clock going low seems to trip the program counter. All you need is a diode on the clock signal which feeds the edge detector (the other clock wires can be left as they are). I didn't have one to hand so just used an LED (which of course is a diode). Put it so that the +ve leg of the LED is towards the clock origin and the negative feeds the edge detector.
@andrewmoxon169
@andrewmoxon169 4 жыл бұрын
See also: www.reddit.com/r/beneater/comments/is7vxb/the_capacitor_used_in_the_edge_detector_of_the/ for other ideas
@karatharp6118
@karatharp6118 4 жыл бұрын
@@andrewmoxon169 Thanks! I have quite a few types of diodes, are there any that wouldn't work for me/break something?
@andrewmoxon169
@andrewmoxon169 4 жыл бұрын
@@karatharp6118 give one a try. You won't break anything. The diode will have a small voltage drop forwards (about 0.7V) but this leaves plenty for the edge detection circuit. Alternatively (as mentioned in the link above) use the NAND chip twice to buffer the signal (preventing return voltages from propagating back up the clock wire)
@AmeanAbdelfattah
@AmeanAbdelfattah 7 жыл бұрын
Every time I watch your videos, I have a "Halt and Catch Fire" ambition.
@TheHomelessNinja
@TheHomelessNinja 5 жыл бұрын
If you had a loose connection on one of the wires (like something isn't working and the wire wasn't set in breadboard proper which is causing it) is there a quick way to check or would you have to reset each wire til you found it?
@AceBruuDofSpades
@AceBruuDofSpades 7 жыл бұрын
Great video again, Ben! Will update my parts list this week. I have to say you make the wiring look very easy :-) Wondering how much time it takes you to cut and strip those wires so neatly, I think it takes me at least a few minutes per wire.
@AlexanderTerry
@AlexanderTerry 6 жыл бұрын
At 6:00 minutes, why not use a button to allow the computer clock into the register chip? (Sorry for not naming the chips right)
@silkdragon47
@silkdragon47 7 жыл бұрын
hey is there any place you recommend buying all these components, wires, breadboards, etc.?
@mohannadissa7677
@mohannadissa7677 6 жыл бұрын
waw u have just built a simple 8086 processor with a simple logic circuits u ar really a legend man
@deathshaker0026
@deathshaker0026 3 жыл бұрын
I love using arduino. I have always wanted to learn how to use cmos and analog to make things. I am a hardware guy so programing is harder for me to do. I love your work.
@cconnerolson
@cconnerolson 6 жыл бұрын
How do you keep your wires so neat? Also do you like measure how long the gaps are or how do you know how long to make them without having to cut and recut them?
@raidenfaden2418
@raidenfaden2418 7 жыл бұрын
Such high quality videos with great descriptions and explanations. Love it! Keep up the good work.
@pac85
@pac85 7 жыл бұрын
for higher clock rates don't you need decoupling caps?
@kz_cbble9670
@kz_cbble9670 2 жыл бұрын
This felt so good to see, connecting the bus, like me and my bois completed something great
@yourtechweekeveryweek6321
@yourtechweekeveryweek6321 3 жыл бұрын
3200mhz breadboard ram
@theodorkvalsviklauritzen3885
@theodorkvalsviklauritzen3885 7 жыл бұрын
There is only one sad thing about getting so far on this computer. It is that the end of the videos is near.
@zes3813
@zes3813 7 жыл бұрын
ts not fun or un funx, no such thing as mesx , mess all about mx humansx, no nerx ts not everyx or playx
8-bit CPU control signal overview
13:17
Ben Eater
Рет қаралды 220 М.
How to Build a 4-Bit Computer on Breadboards Using Individual Transistors
12:44
Global Science Network
Рет қаралды 94 М.
Minecraft Creeper Family is back! #minecraft #funny #memes
00:26
ОТОМСТИЛ МАМЕ ЗА ЧИПСЫ🤯#shorts
00:44
INNA SERG
Рет қаралды 4,7 МЛН
CHUNGUS 2 - A very powerful 1Hz Minecraft CPU
4:42
sammyuri
Рет қаралды 1,7 МЛН
I Made A Water Computer And It Actually Works
16:30
Steve Mould
Рет қаралды 7 МЛН
Hacking a weird TV censoring device
20:59
Ben Eater
Рет қаралды 3,1 МЛН
Why build an entire computer on breadboards?
28:43
Ben Eater
Рет қаралды 3,1 МЛН
Fun with Transistors
24:33
HackMakeMod
Рет қаралды 337 М.
How An Infinite Hotel Ran Out Of Room
6:07
Veritasium
Рет қаралды 30 МЛН
From Transistors To Tetris Part 1 : Computer Architecture
20:17
Lev Kruglyak
Рет қаралды 283 М.
Build an 8-bit decimal display for our 8-bit computer
32:47
Ben Eater
Рет қаралды 964 М.
How the Apple 1 computer works.
18:53
The 8-Bit Guy
Рет қаралды 1,6 МЛН
I Made My Own Computer | Let's See How It Works
7:51
3DSage
Рет қаралды 788 М.