Instructables

DIY CMOS RAM Memory

Featured

If you have seen my other instructable on ram memory, you probably know that I used transistors to make a register. In this instructable I will show you how to make a register using CMOS gates.

If you haven't seen my other instructable, check it out http://www.instructables.com/id/DIY-RAM-Memory-Register-Style/

 
Remove these adsRemove these ads by Signing Up

Step 1: What is CMOS?

CMOS stands for Complementary Metal Oxide Semiconductors.  Its a form of logic that uses very little current and requires no resistors.  It uses MOSFETs in a complementary arrangement, so you use a P-channel and an N-channel MOSFET at one time.  The cool thing about CMOS is that when one MOSFET is on, the other is off, so gates don't use very much current. Another thing about MOSFETs is that the gate is not connected in any way to the drain or source so it requires no resistor, unlike ordinary bipolar transistors.

Step 2: Why use CMOS?

Now the question becomes, why use CMOS? The other circuit used half the number of transistors, and wasn't as complex. Well a reason for using CMOS is power consumption. The CMOS circuit uses less than 5 milliamps per bit maximum (when both switches are off and the LED is off, it uses less that a microamp). The other circuit used 15-25 milliamps per bit (depending on the switches and LEDs. Now let's put that into perspective, an 8-bit CMOS register would use less than 40 mA, but an 8-bit RTL (resistor-transistor logic) registe would use 120-200 mA!! Thats a huge difference.

Step 3: What You Will Need

There is a very simple parts list for this project:

***These are per-bit numbers***

8 2N7000 Small signal n-channel mosfet
8 BS250 Small signal p-channel mosfet
2 Pushbutton switches
2 10K ohm resistors
1 1K ohm resistor (or whatever value is needed for your LED)
1 LED
***These are necessary no matter how many bits you make***
Wire
Breadboard
5V power
pliers (not necessary, but very very close)
1-40 of 64Next »
nancyjohns1 year ago
How do you program it? I think its really cool.
I am looking for a schematic so I can make my own ssd even if it is 1 to 8 bits big. Where could I find one or an instructable. I want it to remember the bits even with no power.
Teslaling (author)  WakeUpWolfgang2 years ago
The problem with an electronic circuit that remembers its data when the power is lost is that it requires a floating-gate transistor. Floating-gate transistors have a gate, source and drain like regular fets, but there is also a second gate that isn't connected to anything, hence it's floating. Putting a large charge on the gate will put a small charge on the floating gate, just enough to turn on the transistor. Then a large charge of the opposite polarity on the gate to remove the charge on the floating gate. The best option you would have is a really big capacitor on the gate and a transmission gate between the transistor-capacitor pair and the rest of the circuit. It won't be permanent, but it will last for a long time (depending on the size of the capacitor.)
So is that how it works in a flash drive and a ssd and there is no permanent soultion? I am planing on making a computer from scrach and making my own parts this is the only part i am having trubbles with. sry for bad spelling i dont have spell check on my tablit
MattTheGeek3 years ago
it's Incredible how far we have gotten in electronics and semiconductors. Great instructable.
I have GOT to find that article I had (it was an April Fools article in an electronics magazine) that showed how to construct a one BIT memory with tubes......foot print, about the length and width of an large encyclopedia, and the height off the table, about 14 inches. :-) It worked too, if you could find a USE for a single BIT LOL
Teslaling (author)  Goodhart3 years ago
THATS AWESOME!!!!!!!!! I would so build it (or maybe 8)!!!
So far, I haven't found the schematic nor the plans, in hard copy nor on line, the closest thing I have found so far is the WOM (write only memory) :-)
tinker2343 years ago
hey is this computer memory and could i make a 16 trigbyte hard drive
Teslaling (author)  tinker2343 years ago
Technically yes, it is computer memory, but it is ram, not a hard drive. A hard drive saves memory even when it loses power, this will lose its data after the power is removed.

And as takide said, it would take trillions of transistors.
ok thanks so i could
Teslaling (author)  tinker2343 years ago
Yeah if you really want to...
so hey could i put a cell phone battery on board to power it alll the time
Teslaling (author)  tinker2343 years ago
Haha!!! The next solid state drive, and its easier than ever to clean up your hard drive, just disconnect all power!!!
i know but im talking about using a cell phone bTTERY TO POWER IT WHENM THE COMPUTER IS OFF
Teslaling (author)  tinker2343 years ago
Yeah, i understood that, but the first thing i thought of was a sales gimmick thing. You could use a phone battery to keep power, just make sure that it can be recharged in circuit, and can go for a while in between charges.
yaha i know hey what about the power always powering the circut but the cell phone battery in case of blackout
Teslaling (author)  tinker2343 years ago
That would definitely be a much more secure way to do it.
i know
you would need TRILLIONS of transistors dude, thats why most computer ram systems are put into microchips so that they can cram TONS of transistors into a chip, thus storing your data.
ok how do i do that
you could do it though....
mnova3 years ago
What should my input voltage be?
Teslaling (author)  mnova3 years ago
It really depends on your transistors, but 3.3v to 5v should work. 5v will almost definately work, 3.3v might work. I would not reccomend going over 5v because most small signal msofets have a gate voltage of 5v
mnova Teslaling3 years ago
I used 4.5 volts (3 AAA) batteries, BS170 for the N-channel MOSFETS and zvp2106a for the P-channel MOSFETS. . . . . I actually heard the circuit fry. -_-
IMG-20110513-00252.jpg
Teslaling (author)  mnova3 years ago
Thats not good!! My guess is that a few of your transistors are backwards. The BS170 has a reverse voltage diode in it (which shorts if the transistor is backwards) that will fry if you put too much current thru it. 3 AAA's is definitely enough to fry the transistors.

The Datasheet for the ZVP2106A didn't say whether or not it has a diode in it, but be cautious and check your circuit.

Good luck!!!
laserjocky3 years ago
Wow this gives me some renewed appreciation for RAM... I've got a few billion of these little puppies sitting beneath my fingertips at the moment. Incredible.
gamini3 years ago
Thanks for this .

Can I save some of my information ?

parukboy3 years ago
This looks very similar to a negative edge flip flop
Teslaling (author)  parukboy3 years ago
Thats because it IS very similar. The main differences are that this is a latch not a flip flop, and that it is positive edge triggered!
Any tests on the frequency you can achieve with this? (i'm not thinking of any practical use, I'm just curious)
Teslaling (author)  elias.alberto3 years ago
No tests, but the MOSFETs are rated at a few MHz so it should be fast...in theory...
I think the main limiter of frequency for this would be the capacitance of the breadboard its self, i managed to get about 60khz out of a 555 timer cleanly driving a mosfet, remembering that if a mosfet isnt driven properly, it heats up due to being stuck between cut off and saturation :) Crossing wires also add capacitance.
Teslaling (author)  pyrohaz3 years ago
I didn't think of that, but it would definitely play a factor in speed. Thanks for that information.
Woah , good start for you .
Who knows , you might join a big shot company dealing in memory and taking care of the ... 10nm process ? ;)
Geosync3 years ago
Thanks for the excellent demo. It's a great reminder of what VLSI chips comprise. I see the beginnings of a real iPod killer here. All you need is more CMOS and an acre (or two) of land to wire them on.
Teslaling (author)  Geosync3 years ago
What would we call it? The iPod MEGA?!?!
seanroberts3 years ago
Thanks for this. I was trying to make logic from discrete components myself and I decided to go with cmos because it is easier to implement (not having to worry about resistor values, how many gates can be connected together and such). People told me that I wouldn't be able to find complimentary p channel and n channel mosfets in order to make this work. I was excited to see your other transistor instructable because I thought you could provide me with some answers, but was bummed to see it was ttl. I am glad you have made the cmos one and I can finally move along with my project.

A quick question, how closely matched are the p channel and n channel mosfets? Was time spent to determine a suitable pair or were two just picked that were on hand?
Also, where did you purchase the transistors?
Teslaling (author)  seanroberts3 years ago
I got them at Jameco, but Mouser and Digi-Key both have them. The bs250s are a lot more per transistor (close to $0.50) but the 2n7000s are very cheap.
1-40 of 64Next »
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!