In the last video, we looked at the 74 l s 1 89 which was the S Ram chip that we're gonna use for the memory in our computer.
And remember, it's ah gives us 16 4 bit words.
Of course, we want 16 bites or 16 8 bit words.
So we're gonna need to use two of these chips.
I've got two of these chips here on then.
The other thing is that the output data is is the compliment of the story so that it's got these inverters on the output, which we really kind of don't want.
So we're gonna have to re invert those s O Russell gonna use two of the 74 l s.
04 chips mature.
These inverters and each a chip has six.
And burgers were only gonna use four of them from each chip.
We'll start out by sticking these things on the board.
We got our 2 74 l s 1 80 nine's and our 2 74 l s.
There are four inverters.
It's now this hook up power to each of these in the last pin.
Here is the five old power and then this.
Ah, Pinedo or pin seven on these chips is ground and south 10 7 on these chips cause he's her 14 pin chips instead of 16 pin chips.
And I got all these turns up in one is over here on the left a little dot there indicates pin one Get the power hooked up for all of them.
The first thing I'll hook up is the for the 74 Ellis 1 89 Got the outputs here.
I'll put 123 and four.
I'm gonna hook these up to the inverters because these thes outputs are inverted and we wanna re invert them so that we get the right output here.
So first thing I'd do is hook up those outputs.
So that's the first.
The four outputs of this first chip now are connected.
Thio four of the inverters on this first trip here.
So these are the inputs input for 123 and then four up here.
So just corresponds to these inputs on these inverters for these and then this one up here and we're not gonna use these two the next.
I'll do the same thing for the second pair of chips.
There were a few people that comment on the last video asking.
You know why I used the 74 l s 1 89 when you've gotta hook these inverters up to and it's it's, you know, it seems a little bit inconvenient and and, Yeah, it is a little inconvenient.
It doesn't seem terrible, but, uh, you know, I looked and there was a 74 less to 19 but I couldn't seem to find that anywhere.
But if I guess if I could get my if you get your hands on one, that one doesn't require the inverters on any others.
Other ships, too.
You know, I just didn't do a ton of research to find the absolute best chip.
I'm just kind of using what I've got available.
But, uh, you know, if you've got if you want to find a different chip and use that in yours, I definitely encourage you to do that, you know?
Uh, hopefully these these videos are kind of inspiring you to to try some of your own things because of you.
You know, if you want to build this and make some modifications to it, not only you're gonna probably learn more by trying your own modifications, but you'll be even even more proud of what you felt when when you're done.
But in any event now we've got our all of our outputs of our 74 less 1 80 nine's hooked up to our inverters.
And so now we should somewhere in here have inverted or actually a nun inverted outputs now from our memory.
So of course, we will be able to see what's going on here.
So I'm gonna hook up.
Some led is to each of the outputs.
So the opportunities inverters now, are you?
In 246 on.
Then on the one here, it's going to be pinned.
Ate up here and then over on the on the Yeah, I'm the one on the right here.
I used pin.
It'll beep in 12 and then again, 24 and six down along the bottom here, so I could just took some ladies up to those pins here so we can see what's going on.
So that's two pins to four and six.
Um, you know that melty using this this inverter appears that's gonna be pinned, ate up here.
So I just took up a little jumper that brings it down to the bottom here.
And I could hook my led up right there in line and then same thing ever in this side.
Just hook up a little jumper, too.
Bring that down here so I could hook my led up down here and then on this chip again.
It's just pins to four and six.
And there we go.
That should be the, uh, the outputs of the of the inverters, That air coming from the outputs of our of our Ram chips over here.
Next time I look at the pen out of the Ram chip, there's a pin to is a chip select and its active low on DDE that basically allows us to enable or disable each of the chips.
And in our case, we always want them to be enabled.
So what I'm gonna do is I'm just gonna tie pin, too, on both of these chips low so that both of these chips will always be enabled and then to control whether the output of these chips is actually going out on the bus.
I'm going to use the 74 less to 45 that we've used many times before.
And our registers, which is this, uh, eight bit tri State buffer.
I'll just add this in over here.
In this case, it's a 20 pen.
Ships of pin 10 over here is ground and pin 20 up here is gonna be five power.
And again, this is a bi directional buffer, but we're only going to use it in one direction.
So we'll just set the direction pin, which is pin 12 to 5 volts.
So that will set the direction so that it's always going from the bottom eight pins to the top eight pins and then these bottom cities bottom, you know, pins was too through.
Nine are gonna be our inputs.
And so I'm just gonna hook those up to our eight led us.
Here are eight bits.
Okay, it's a now, all of our outputs here that air correctly inverted, are now obsidian puts of our of our Tri State buffer so we can hook our bus in over here.
Now if we look back at the pin out of our 74 less 1 89 again, um, the other pins that we haven't hooked up yet.
So far are the data inputs S o d one d two d three d four.
And then you know the other four bits on the other chip.
A swell as our address lines.
A zero, a one, a two and a three.
So this is a four bit address, Uh, and we've got two chips on.
And so what we want to do is we wanna tie a zero together from both chips and then tie a 12 a one on the other chip a 22 a two a three day three So that when we have our forbid address, it's addressing both chips at the same time.
And then, you know, one ship will have the high four order data bits and the other chip will have the low forwarder data bits.
So basically, what we're gonna do is just tie these thes four address lines together.
So the first address on a zero is pin one.
So just type in one on these two chips together.
And then the second address line has been 15 here and pin 14 and pin 13.
So that ties the address lines.
The four address bits from the two memory chips together.
And what kind of run out of room on this board?
But what I'll What I'll do is I'll just hook up some some wires here for those four address lines and just hook these up here.
So we've got basically four address lines, so the 1st 1 is is pin one here.
And then the 2nd 1 is this guy here, then this and then this.
So I'm just gonna hook them all to ground for now.
So basically setting all my address is 20000 and then eventually will have another input coming from our memory.
I just register that will come in to hear.
We'll hook that up later and then same thing for the data lines.
So the data in the first bit is, is coming is input for the first business is here and then input for the second bit is here and then so on for each bit, of course, important to make sure we keep these in order based on how the bits or order here and ultimately, how they're going out on the bus.
Otherwise we get bits out of order things.
They're not gonna work correctly.
So these air that these are the date eight data inputs.
Now, to the to the memory, we've got our address lines, which we will use to set the address where they were reading or writing.
We have the output that is shown on these ladies and also can be sent to the bus here on.
Of course, we need our output enable, which is just gonna be this pin here on this chip so we can set that higher loaded, depending on whether we want output the data to the bus, Whoever address lines, then we have our data input on you.
Would you would think normally this would come in from the bus, but for now, I'm not gonna hook it directly to come in from the bus because when we're programming the computer, we actually don't want to come from the bus.
We wanted to come from our dip switches that we're gonna use to program the computer so we'll talk about that in future video.
But for now, we've got we've got our memory.
We've got the inverters that get the output re inverted so it matches what we've stored we have our buffer that's gonna buffer us out to the bus.
We've got our address lines and our data inputs, and we want to test this a little bit.
We can we can power it on, and it looks like we're getting all zeros.
Either that or it's not working.
Um, I don't know.
Let's try changing that, writers, Okay, We're starting to get some things.
Um 01 thing actually forgot to hook up.
It is our right signal.
If we want to write data into memory, we need a signal to do that.
And that's just gonna be this right enable, which is on pin three and so coarse with her writing.
We want to write to both chips at the same time.
So hook pin three on both of these chips together, and we've got our right signal here, and it is active low.
So if it's high and then we're not writing, and then if we bring this low than that will write whatever data is here into our chips.
So it's powered up again and see what's going on.
So, yeah, you notice when we powered up, you get kind of a random random data.
Okay, now it's consistent.
But it's different than it was before.
I don't know, but any that normally when you powered up, you're just gonna get have some kind of garbage in the memory and until until we actually write it.
So right now, we've got a zero going in here.
So if we change our right enable it writes that zero now to that address.
And, of course, that's address zero.
If we go to address one, we see we have some other garbage in there and we could write a zero to that.
Or we could write something else.
Remember, these are our input.
So we have, you know, 00000 But let's change this bit here to a 1001000 Now, if we write that, there we go.
We get that written to address memory location one course, we go back to address zero.
We still have the zero that we put there.
If we go back to address one, we get that data we put there.
Let's try going to address.
This is three right.
0011 in binary.
Um and lets you know we get some garbage in there or whatever.
Let's just write some other little data pattern here.
So let's just alternate bits.
This is 01010101 And if we take our right enable Low for a moment.
It writes that data into address three.
And, of course, we go back to address one.
We get what we put there.
If we go back to address zero, which have zero there, it looks like we've got our memory working pretty well.
Uh, I guess the only other piece we haven't tested is our 74 l s to 45 to see if our buffer out to our bus is working.
Um, I guess we could hook some smelly tees up, honey on the output side of this here.
So, you know, essentially just hook up a few ladies over here.
Maybe I won't even hook them all up.
I just want to I just want to see if it works.
First off, let's go back to something that has some of those bits on up.
There we are.
So we can see that those last three bits are out there and then we should be able to disable that with our output.
Yep, and that looks like it's working pretty well.
So in the next video is what we'll do is we'll hook up our address lines to our address register and our data lines to our data.
Input on both of these are going to be either coming from address registers or the data bus, or we're gonna have a switch that will allow us tow to program the computer.
You know, kind of like what I'm doing here.
I'm setting these wires and toggle ing the right, but it'll be a little bit nicer.
Will use will use and dip switches and stuff to allow us to program the computer.