Sunday, June 3, 2012

Building a DRAM cell

Digi-Key is an amazement to me. They stock literally thousands and thousands of parts, yet I can place an order for a strip of 25 transistors at 9pm and they'll be in the mail later that night. Sure, you pay a premium on an order that small (the BSS83s cost 80 cents each in single-unit quantities versus 25.2 cents/each for an order of 10,000), but if you only need 10 what are you going to do? And it's still cheaper than buying the same part at RadioShack, if they even carry what you need. But I digress.

How do you package something half the size of a grain of rice? They're set up for automated installation, so they come packaged in a strip of plastic called a tape. Here's a picture of some cut tape:
See the bumps in the back of the plastic tape? Those are little pockets containing the transistors. The greenish rectangles with the silver pins are the Surfboard® prototyping adapter boards, and the tiny black rectangles in the upper corner of the Surfboards are the transistors mounted on them.

The plastic bag is made of a static-protective material, and the cut tape comes inside that.

Remember the three-transistor DRAM cell? On the right is a Surfboard with three transistors wired to form a DRAM cell. The little black rectangle on the left is the storage element, the one in the middle is the write-enable transmission gate, and the one on the right is the read-sense transmission gate. To give you a sense of scale, I've photographed it against a pad of graph paper -- each small grid square is 0.1 inch. As I said, these things are half the size of a grain of rice, and I lost one while mounting it by squeezing it too hard and it shot out of the tweezers like a watermelon seed, never to be seen again.

Does it work? Oh, yeah, it works. I have a bunch of modern microcontroller chips known as PICs made by a company creatively named Microchip left over from an old project. I programmed one to drive the DRAM control signals with timing similar to the 4004 and wired it up on a solderless breadboard. To that I added the DRAM cell and the other transistors needed to drive it just as the 4004 would.

The results were very encouraging. I tested it slow speed to make sure the DRAM would hold its state longer than a 4004 would need it to, and I tested it running as fast as the PIC would run the program, which produced timing almost as fast as the fastest a 4004 could run.

Cool, eh?

No comments:

Post a Comment