This extended segment covers advanced memory architecture concepts and their practical implementation. It introduces sense amplifiers as static RAM cells using two inverters (MOSFETs) that latch and amplify data signals, creating stable data display without continuous power. The video addresses the challenge of simultaneous reading causing multiple sense amplifiers to latch different data values, and demonstrates solutions using transistor-controlled signals (MOSFETs for write, NPN transistors for read) that enable single-signal addressing. The segment culminates in scaling the 2x2 array to a full 8-byte dynamic RAM memory array, incorporating sense amplifiers for automatic charge refresh during read operations. The final implementation combines diode isolation, sense amplifiers, and transistor-controlled addressing into a practical dynamic RAM system capable of storing and retrieving multiple bytes of data reliably.
Approfondir
Prérequis
- Pas de données disponibles.
Prochaines étapes
- Pas de données disponibles.
Approfondir
DIY Dynamic RAM from scratch with Capacitors and DiodesIndexé :
Home made 8 bytes of Dynamic RAM from scratch using discrete components. Experimentally derived and scaled up. Will put it to use in upcoming videos. #Dram #dynamic #ram #diy
All right, now it's the next day.
And uh let's see what these if these capacitors are still holding charge.
They sure are.
And the power's been off.
Same pattern as I programmed into them yesterday.
That's pretty good.
That's almost like RAM.
But here's a little capacitor experiment. We have a 1,000 microfarad capacitor.
The positive end going to these two buttons, one that turns it off, one that one that turns it off, one that turns it on.
And this is this button is connected to the ground of the capacitor. And then the output is going through this LED driver.
So, this is what makes the capacitor um able to function.
Right? So, I could without the ground being on, um if I ground the capacitor now, there's nothing in the capacitor because it would show up in the LED. Um I could, without grounding it, turn this LED on, so theoretically all the positive >> [clears throat] >> uh charge should go into the capacitor.
However, because it wasn't grounded, if I ground it now, nothing happens.
Um but if I pre- ground it and then press the positive, now the capacitor has all the charge stored in it. It's charged up instantly.
Now, if I want to discharge the capacitor, if I try to turn this off while it's not grounded, and I press that button and try to ground it, it's still fully charged.
Um so, in order to discharge it, I have to press this button while it's grounded.
And in that way, the capacitor becomes addressable as a uh something to store a bit.
So, right now, it's got a zero in there. But, if I want to change it to a one, I do that, and now, it's got a one in there.
Every time I read it by grounding it, um, it's got a one. So, that leaves us to the ability to address individual capacitors within a RAM uh capacitor memory array.
Now, to make this more complicated, I've added this second capacitor. So, both the positive sides of the capacitor are connected [clears throat] to this um bit line, which uh gives it a plus or a minus, or a one or a zero. And the negatives of these two capacitors are connected to these separate two buttons.
So, in this way, this is address the first address, this is the second address. So, um if I want to see what's on the capacitor now, I press the second address, and that one's storing a one. And the first one also storing a one. Now, let's make it uh this one store a zero.
So, discharge that. Now, zero, one. And let's switch that over now.
So, make that a one, and make that a zero. So, now, when I press this, it's zero. When I press this address, it's one.
And so, in that way, we have one bit line >> [clears throat] >> with two addresses.
And these are the storing charge. Um and without them being grounded, the the charge gets just trapped in here.
Um so that is how we're going to slowly build a memory array. Now what I've done is I've attached the second bit line uh and same address on the negatives.
And let's see what happens.
Um so this controls the second bit line, and so let's address this first set of capacitors and put one there.
You see both of them go on. And that's not supposed to happen.
And when I put when I address the second one, I just want this one off and this one on.
But you see how both of them go on.
Um so it's erratic behavior. The charge gets spread across.
Um I could turn them both of them off.
Um and that one and this one, both of them are on. But let's turn this one off.
And now when we address it, we get that.
When we address this one, we still have the negative. Let's put that on there.
And as you can see, the charge gets spread across both. So when you address each of these, um it changes to whatever is on the other one.
So that is why we're going to need diodes to um direct the traffic of uh the charge current um in the appropriate direction so that um the charge sharing doesn't happen amongst the capacitors.
So now, I've uh gotten rid of all the capacitors except one. And what I have is the negative side of this electrolytic capacitor connected to ground via these two diodes going in opposite directions. The one going towards ground is the right diode, and the one going away from ground is the read diode. This is equivalent to putting them in the opposite direction to the positive end.
So, um this is the this connected to this bit to this uh uh LED.
So, to read it, let's Well, let's see.
If I hit the right one, let's see what happens. Nothing.
If I read it, nothing. There's nothing there.
Okay. Now, if I want to press read, and I turn this on and write to it, the light goes on, but if I read it with that off, nothing happens.
So, in order to write to it, I have to press the right one, which activates this diode, connects that, [clears throat] and I'm going to press it one there.
Now, when I read it, if I hit right again, nothing happens.
Um but if I read it, light's up.
And so, using these diodes, these capacitors become individually addressable.
Um and they won't share any uh charges cuz they have their own individual um grounding diodes.
So, let's test that out with a 2x2 array.
So, this is the setup I'm going to use to test out a 2x2 capacitor RAM array.
So, now I have the 2x2 array.
And um and each one each of these capacitors has its own read and write diodes.
Um so, the write button is there, read button is there for address mo- two. Address one, write button, read button, and then this controls the bit uh line for uh bit one and bit two.
So, bit one and bit two are the LED drivers here. So, as of now, let's read what's in there.
So, that has a value of 01 at this address. And let's read this one.
And this has a value of 10.
So, now let's change that by turning off the one and writing in a one here.
Okay, now we'll read that.
Button's a little sticky here. There it is.
Okay.
And this value, let's get rid of that one and put it in the first bit.
Nope.
Can't I got to write it to the first bit.
So, now when we read that, it's 10 on address one and 01 on address two.
And in this way, using these diodes, this individually allows individual addressing through a single word line, which is an address line, and it's got a separate write and read and for each address.
And so, in that way, we can use signals to control that um to make an upscaled version of this 2 by 2 uh dynamic RAM array and make it into something bigger.
Before I do that, I'm going to introduce the concept of a sense amplifier, which is basically a static RAM memory cell using two inverters. Uh but I'm going to implement that with two MOSFETs as inverters, as you can see in the circuit here.
So, this is basically a sense amplifier. It's a two transistor static RAM cell.
And basically two set up is two inverters, transistor-based inverters.
And uh the output is looped back on itself, so it latches.
So, the other output is going to this uh LED driver here, another transistor.
And so, using this wire, if I just push it on, it latches on.
So, whatever data value, whether it's high or low, gets latched. And when I turn it off by grounding it, it stays. So, it's basically a static RAM cell.
Um and what it does is it just amplifies the data bus signal coming in.
So, here's our 2 by 2 array incorporating a sense amplifier for every bit line.
And as you can see here, uh if I read the top address, uh the data value is 1 0, and the bottom address, um the value is 0 1.
Uh the only And I don't have to keep pressing the button in order to have the data displayed. It just latches on with the sense amplifier and by reading it, it basically feeds back charge into the capacitor circuit so it refreshes it while it does that. Um, the only issue with this is that to you have to de-latch um unlatch the stored data and um in order to do that, you actually have to turn it off and on. Um, otherwise if you read the two different uh areas of the data at the same time without unlatching them, you see they both latch on and that's not exactly what we want. And that extra step of having to turn it off is [snorts] not ideal.
So, as you could see here, um rewriting the data uh for each address line and all those extra steps of turning it on and off at each point um makes it cumbersome and it's difficult uh to do.
But here, the data values on the top address are rewritten >> [clears throat] >> um to what the bottom address was and vice versa.
So, in order to fix the latching and de-latching problem uh the first thing I wanted to do was replace the grounding buttons for the reads and writes at each address line with a way to trigger the read and write with the just a positive going signal.
Um so I could use a button here and the way I did that was to replace it with transistors.
Um MOSFETs for the rights and regular NPN transistors for the reads.
And in this way, I can get a digital signal to trigger the address changes for the reads and the writes. And here it is implemented on the 2 by 2 array.
And subsequently, I have it on a perf board for full eight addresses that I made.
Then next, um in testing this out, what I realized that when uh pressing the right of a separate address where the transistor or the bit line is off, would de-latch the previously addressed uh bit value.
And then reading it would rewrite it onto the data bus. So, um in this way, a single signal delivered to the read and write with the read being delayed by a fraction of a second, would de-latch the previous data value and re-latch the new value on the new address that's being addressed with a single signal at each address point.
So, this is the final circuit of the 2 by 2 array with the sense amplifiers drawn in.
And the address lines controlled with a signal from the left side.
And here it is being tested out with just wires being plugged into the positive rail and switching the 0 1 at address 1 and the 1 0 at address 2.
And then subsequently, I attached it to >> discharges right buttons where you could see the the transistor addressing and the two long wires, the black wire and the blue wire with the various buttons being pressed at address zero and address one.
And and there are the sense amplifiers on the left side of the screen and the two buttons controlling the different addresses and those are positive going signals that trigger each individual address.
So, now we're going to scale up our 2x2 array, which uh has served us well for testing and design purposes to a full uh array of eight bytes of dynamic RAM memory using these capacitors. I had decided to build this in a modular fashion with the RAM array and the control elements with separate modules that I could just interconnect.
This way I'm going to try it out first with out the sense amplifiers and then add those in.
So, here's my capacitor RAM or dynamic RAM using just capacitors.
And I have eight bytes here and I've programmed some values in and they're going to be read out on the um the LED's here and I have read and write. So, these are the write column and this is the read column.
And so, I have some pre-programmed values here and they're all different. And if I press read these are all on.
Next byte.
And that.
That.
That.
We're going towards the middle. Then I have a random one.
F1 and X.
Then I have that.
This is 1010 with AA.
And this which is 55.
And X.
And So, let me use this address.
Uh let me see this one.
Let's see something like this. Nope.
That one.
And that one.
Yeah, that one. And I'll light up the two in the middle.
So, to do that, I'm going to put on the two ones in the middle.
Oops.
Those are not the middle.
This is going to be a pain in the butt.
I'm going to write it to address [clears throat] two.
So, here it goes.
And I hit the right button for address two.
Now, I'm going to turn this off. This is basically the data bus.
And let me read address two.
Now, it's those two bits that are lit.
And the RAM value is still stored in the capacitors.
Address zero through address seven.
And uh and these are the bit lines and they're all cross connected.
It works beautifully. Dynamic RAM using capacitors.
So now I'm going to add in the sense amplifiers in order to allow automatic refreshing of the capacitor charge every time the data value is read. So it'll be like a read write refresh cycle.
Um and additionally even though these capacitors hold store charge for a long time cuz they're large um we need a value a way of doing this in order to truly make a dynamic RAM array.
Now I've created a set of eight sense amplifiers.
And what they do is they take the signal that's coming on the bit line and every time you read it, it refreshes it.
And so with the capacitor RAM it almost never goes off. It's almost basically non-volatile.
So if I was going to go to address one then you get the floor the pattern of hex 55 and and address two I have hex AA set.
That's AA.
And that works. And if you look at what the oscilloscope is reading it's at 5.1 volts which is refreshed with the sense amplifier.
Now I just need to make the control signal happen.
Now the only thing left to add here is the control signal that um de-latches the latched data of the previous address and re-latches it by combining the read and write signal into a single um positive-going signal.
As you could see from the capacitor the 2x2 array experiments, um pressing the right um will de-latch the data on in from the previous address from any other address except for the one except for if the bits are also lit on the next address.
So, um here it is demonstrated once again in terms of how the signal has to happen.
Right.
And read.
And write again.
If I hit read on the first one, they all light up.
And that's how it works.
So, once again, by combining the read and write signals uh in a write followed by a slightly delayed read with that uh resistor, you get a single addressable signal that automatically triggers the data to be displayed the minute a upcoming um uh trigger on the address is made.
I did this using diodes here, but um and the reason for that is because I wanted to leave the initial uh the initial write and read individual signals um intact and alone. That way they could be triggered from an outside source such as uh uh a different integrated circuit that's trying to write to the RAM address or uh read from the RAM address.
And here you could see I'm switching between address zero and one quickly just with a wire connected to the positive rail.
Um just going back and forth quickly.
And it's working pretty well.
Here's the final product.
And that controls all of it.
Including the sense amplifiers.
And it's just a one button push.
And there it goes.
Thank you guys for watching. Hope it was enjoyable.
Vidéos Similaires
How Persia Made Ice Without Electricity #HistoryShorts
theshadowofempires
936 views•2026-05-15
How Ancient Japan Defies Earthquakes Without A Single Nail ⛩️⚡ #shorts
JapanBeyond_History
860 views•2026-05-17
Boeing C-17 Globemaster III | The World's Most Advantage #military #militarytechnology #shorts
Miltechidn
847 views•2026-05-15
Jeff Lutz's Drag and Drive Pro Mod is BACK with a Noonan HEMI and FT700PLUS! | FuelTech USA
FuelTechUSA
163 views•2026-05-15
The Brake Temperature Explained
PositiveAttitudeAviation
833 views•2026-05-18
Corebooting The Last Great ThinkPad
theradlectures
324 views•2026-05-22
NC750X DCT 2026 - Shock Therapy - Little links, Big difference
Adventures_NC750X
185 views•2026-05-22
The Most Expensive Commercial Airplane in the World | Worth $445 Million!
AeroMonitor
108 views•2026-05-20











