Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Questions regarding my rather ambitious project

Status
Not open for further replies.

ACF2802

New Member
I've been studying computer and processor design for years now, and at several points I got the idea to start a project or two, usually consisting of building my own computer or processor from discreet components.

I've played around with relays I had and made a 8 bit adding circuit, and decided I was going to make a full relay based computer. I have the knowledge of processor design required, and constructing logic gates with relays was really simple, but before I knew it, my ideas for the project became a little too ambitious. In other words, I wanted to take it further than just the basic design, and I realized the over development of this design would be wasted by the inherent limitation of the speed of the relays.

Anyway, I've though some more, and have look at similar projects. Specifically I've looked at home built computers that were created out of 74 series TTL logic ICs. Of course, I wanted to take it one step further, and built it without the use of any ICs (yes, I know, you must think I'm crazy or simply a masochist.)

The basic idea was to design and build individual component cards, each card would consist of a handful of simple logic gates (a hex inverter for example) and then these cards would then be inserted and configured accordingly. In the end, I would really simply be replacing the TTL logic ICs with comparable, home made logic cards. The design isn't too different from what you might have seen in a UNIVAC style transistor computer.

While I know the design of computers at a logic level, I'm a little bit hazy when it comes to the transistor level. My question would be, what type of transistors would be best to use, and what type of logic design? For instance, I could use BJT transistors and Resistor-Transistor logic, or I could use MOSFET transistors in a CMOS style logic. There will likely be a lot of logic gates in this. My guess is it could end up being close to a thousand or more, but possibly less.
 
Last edited:
My god, I think you are out to recreate the DEC PDP8. I learned to program in assembly code for the PDP8 using an ASR33 teletype and punched paper tape. Before that, I learned to Program in Fortran on a Univac that used vacuum tubes...
 
Interconnect would be my greatest challenge. So I would be looking at an approach that would be forgiving of mistakes first and foremost.

This makes me think of RTL for some reason. It's predictable and static-safe when left open-circuit. It's short-safe except to Vdd. And transistors are less than a penny. The disadvantage is that it can be power hungry, but power hungry means a milliwatt per gate if it doesn't need to be lightning fast.
 
Google "relay computer".
There are actually a couple of people who have built quite basic computers using relays. There is also a Youtube video showing its operation. Awesome!

As other poster correctly mentioned, the biggest challenge is in the point to point wiring. That was the reason early computers would cost almost a million dollars, back when a million dollars was some real serious money.
 
Yeah, I'm well aware of Harry Porter's relay computer and Relay Computer Two. They were some inspiration, but my ideas were becoming much more complicated then their designs.

Interconnection was the reason I decided to create the computer using many identical logic cards, each card consisting of a small number of identical gates. These cards would then be inserted into one of several boards with a wire wrapped backplane, and these separate boards would be connected by another backplane. That way, each individual card can be tested and verified to work by itself.

In the end, the wiring would be no different then a project like BMOW or any other 74 series TTL computer.

My problem, is that I lack some of the knowledge in building the transistorized logic gates to create these logic cards. Particularly, I'm not sure which design I should go with and what type of advantages I'd gain or disadvantages.

Lower power consumption would be nice, but if this beast ends up guzzling 1000W or something, it wouldn't matter too much to me. Speed is defiantly good. I'd love it if I could break the 1MHz barrier, although I really don't know what type of clock speeds to expect. I'm not really sure how delicate MOSFETS are, but I'd rather not have to tip toe around this thing. Also, price would be an issue. I may end up needing thousands of whatever type transistor I choose.

I'm personally leaning toward CMOS, but I really just don't know at this point.
 
CMOS for a discrete transistor design does not work very well. The reason being that it would be be difficult to match individual P and N channel transistors for truly complementary operation, meaning that VGsth, RDSon, capacitance and other parameters would have to be matched statically and dynamically over all environmental conditions. Complementary matching is a snap in monolithic circuits, controlled by feature geometry but is not practical with discretes.

Now, if you really want to use CMOS devices, employ 4069U gates as your basic building blocks. These are unbuffered inverters, consisting of a single N and P channel transistor each. You get 6 such device pairs per package, and being monolithic, they will be fully complementary and matched.

These are not 'true" ICs only packaged as such.
 
Last edited:
Well then, that explains why no amount of searching turned up any type of CMOS circuit made from discrete transistors. Too bad, I rather like the beauty of CMOS design. :(

For this project, however, I'll choose TTL over CMOS if it means keeping it as discrete transistors. I assume there's no point in choosing Resistor-Transistor or Diode-Transistor logic over Transistor-Transistor, right?

What type of transistors would be best suited for the job? I'd guess either 2N3904 or 2N2222, but I really don't know a tone about choosing the right transistor.
 
Well, I suppose I should have also considered the other alternatives. CMOS might not be feasible, but I suppose NMOS would, wouldn't it?

I suppose the best candidates would be NMOS, TTL, and possibly ECL.
 
Last edited:
Yeah, I'm well aware of Harry Porter's relay computer and Relay Computer Two.
...

Harry Potter and the Relay Computer of Doom??

I haven't seen that movie. Or the sequel... I guess it was made for the geekier members of the fanbase. ;)
 
Interconnection was the reason I decided to create the computer using many identical logic cards, each card consisting of a small number of identical gates. These cards would then be inserted into one of several boards.....
Yes, and that way, when it takes over the world you can slowly pull it's cards from the rack in a shower of sparks as it pleads with you to let it live. :D

Seriously though, I would think that DTL or RTL would be easier to implement. I seem to remember that TTL logic uses transistors with multiple emitters, though you could probably parallel the transistor collectors and bases leaving the emitters separate for inputs.
 
CMOS for a discrete transistor design does not work very well. The reason being that it would be be difficult to match individual P and N channel transistors for truly complementary operation, meaning that VGsth, RDSon, capacitance and other parameters would have to be matched statically and dynamically over all environmental conditions. Complementary matching is a snap in monolithic circuits, controlled by feature geometry but is not practical with discretes.
I believe you overstate the case for the required matching of the two transistors. It's not that critical for logic circuits if you aren't concerned about achieving the maximum speed. Just use NMOS and PMOS transistors with similar characteristics and a threshold voltage that's less then your desired supply voltage.

The interesting thing about CMOS logic is that it's easy to build NAND, NOR, or other types of gates by connecting the appropriate transistors in series or parallel as required. For example for a two input NAND gate, connect two P-channel transistors in parallel and two N-channel transistors in series. (The CMOS circuit for an EXCLUSIVE-OR gate is left as an exercise for the reader). All gates require just a complementary transistor pair for each input. CMOS logic has no resistors and, of course, the power consumption is very low.
 
Last edited:
Yes, and that way, when it takes over the world you can slowly pull it's cards from the rack in a shower of sparks as it pleads with you to let it live. :D

As soon as it's out of development and construction, I'll be sure the first thing I do is to teach it to sing Daisy Bell.

Seems that I might need to do a bit of investigative work myself. I'll look into getting a signal generator and a logic probe. Then I could build some simple logic gates using TTL, ECL, NMOS and CMOS. I'll test them for power consumption and try to find their maximum operating frequency. Could anyone recommend what transistors I should use?
 
Last edited:
Oh boy, working on a maximum budget of ~10,000 transistors is really limiting my imagination. >_<

I set out to start designing some simple circuits, I picked a Real Time Clock circuit, and what I came up with requires ~410 logic gates which would probably be ~2,460 transistors. If the clock alone takes up 1/4th of the budget, I don't think I'm going to get very far. :eek:

**broken link removed**

Here is the basic design. Maybe I'm making it more complicated than it needs to be, but I doubt it.
 
If you are going to use that many transistors, then use low cost, general purpose devices like the 2N3904 (NPN) and 2N3906 (PNP).
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top