Transistorized gates on Logisim

Thread Starter

Theor

Joined Aug 1, 2012
5
Hi everyone!

Over the last few months I've become obsessed with building my own homebrew computer.
Instead of doing everything with breadboards and 7400s, I'd like to go for a very simple architecture (SAP1 or alike) and implement it with NPN transistors.

I use Logisim to simulate the logic, and unfortunately the lack of diode is proving troublesome.

For instance here is a transistorized XOR gate:



It takes five diodes and Logisim can't simulate them, being a pure logic simulator. Without a XOR gate I can't even build an adder.

I've tried other simulators (Hades) and none of them simulates diodes. I don't know of any software that would let me design and simulate a homebrew CPU both at the logical and electrical level (I'd like to keep my hands off verilog at the moment).

Any advice or suggestion?
 

MrCarlos

Joined Jan 2, 2010
400
Hello Theor

So you are looking for a simulator that could simulate diodes. Right??

Try the LiveWire. It is very simple to use and It has Diodes in it’s libraries.

Greetings
at your service
 

Thread Starter

Theor

Joined Aug 1, 2012
5
Hi McCarlos and thank you for your answer.

Indeed I am looking for a program that could visually simulate a complex circuit (a very simplified computer involving transistors, diodes, and a little memory).

Thank you for suggesting Livewire, I've tried it and it would have been perfect if it didn't lack a crucial component: memory (even 128 bytes would be enough to validate the architecture).
It would also be a big asset if it could simulate a little ROM for the microcode (I believe only Logisim and Hades do that).

If anyone has an idea or suggestion...
Thanks in advance!
 

takao21203

Joined Apr 28, 2012
3,702
Hi McCarlos and thank you for your answer.

Indeed I am looking for a program that could visually simulate a complex circuit (a very simplified computer involving transistors, diodes, and a little memory).

Thank you for suggesting Livewire, I've tried it and it would have been perfect if it didn't lack a crucial component: memory (even 128 bytes would be enough to validate the architecture).
It would also be a big asset if it could simulate a little ROM for the microcode (I believe only Logisim and Hades do that).

If anyone has an idea or suggestion...
Thanks in advance!
Such software probably does not exist, since circuits like that probably have little real-world application. Even PAL/GAL seems to have come out of fashion.

It is difficult enough to build a small computer using GAL chips. It was done 30 years ago!

Nowadays it is often done with CPLD, for instance MAX3000A (a small CPLD from Altera).

You could use baseline PICs for logic, they can be fitted with small programs so they behave like logic ICs (however max. Speed is about 1 to 2 MHz).

Also to emulate a PROM, you can easily use a PIC 16f57 for that.

MC6810 is a 128 bytes SRAM IC, of course no longer manufactured, but possible to obtain.

If you want to build 128 bytes RAM with transistors, good luck. You will need a large PCB. And a big power supply as well. Building a X/Y decoder will also be challenging to match the driving levels.
 

Thread Starter

Theor

Joined Aug 1, 2012
5
Hi Takao.
Yes, nowadays it's mostly done through Verilog/VHDL implemented on an FGPA or big CPLDs like the Alteras.
However I want to use pure TTL logic for this project (see BMOW for instance). The most interesting implementation I've found so far is Dieter Muller's MT15, a 16 bits computer built from ~3000 NPN transistors.

While this last one is the most interesting, it is also well beyond my scope and I will go for a much, much simpler 8 bits architecture. The memory will be a regular SRAM IC, only the ALU will be made of transistors.

The thing is I'd really like some software simulation before buying all the remaining components. At the worst case I'll use an abstracted model in Logisim, but I had hoped I'd find something that would simulate closer to the metal. Thanks anyway for your insights.
 

takao21203

Joined Apr 28, 2012
3,702
Hi Theor,

I am aware of projects like BMOW. If that is what you bargain for?

Maybe you can use PROTEUS for your purposes. I have downloaded it,
but never really used it so far. I tried to place some analogue components,
no problem. It is normally used to simulate microcontroller circuits!

Sure a large number of transistors can be used to build a computer.
But why do you want to do it?

Is it the main purpose to build a CPU from discrete components?
Or to see how large transistor circuits behave?

I was just saying, if I would want to build a CPU discretely, I would use baseline PICs to emulate logic. Not very fast- but also early CPUs only had speed of some 100 KHz.

Many years ago I built a LED 7seg decoder only from transistors + diodes, for sure a learning experience, but stretching over one full proto board, just for a single digit.
 

takao21203

Joined Apr 28, 2012
3,702
http://www.6502.org/users/dieter/timeline/timeline.htm

Actually look at the bottom, the page was updated recently.
This is how you can end up!

Means I think it is best to build digital circuits using the modern technology, and going the way of lowest resistance.

A few years ago I have built this: (see attach).
It is a minimal 68000 computer. The controller chip (TQFP) was hand soldered!
It was never powered up, even if it probably works as intended.

2010 I built a message in space from TTL chips. I got it working to a degree it was possible to enter 4-bit chunks into the "program memory", and also set the address pointer.

Increasing the address pointer, all what's needed for a message in space. And somehow, it has similarities with a primitive CPU core. Add some branching support, all what is needed...

Not to mention, but I scrapped the message in space- when I saw the additional extreme effort to wire it!
 

Attachments

Thread Starter

Theor

Joined Aug 1, 2012
5
Maybe you can use PROTEUS for your purposes.
Downloaded the trial version, tried it for an hour. Indeed it's the answer to my needs!
Obviously it doesn't come for free, but after trying Verilog, I found that even wirewrapping was actually pleasurable, so I'm willing to pay.

But why do you want to do it?

Is it the main purpose to build a CPU from discrete components?
Or to see how large transistor circuits behave?
For the same reason than most hobbyists probably do: the pleasure of understanding, designing and building a complex machine. Going at the lowest level gives an even greater satisfaction as it brings a total understanding of the machine.
Ready-made ICs act like blackboxes, and it doesn't feel as much like the machine is made whole by myself.
Also, just like mechanics, there is the beauty of watching it work.

Another word about your last message, indeed this is quite an undertaking so I'm keeping things as simple as possible:
- stripped-down (yet microcoded) 8bits architecture
- power input, memory input, EEPROM progamming and clock signal from my Arduino
- data input from a dual 8 DIP switches
- data output to DIP LEDs or a double 7 segments.
The main board is wirewrapped, which is a pain, but less than soldering tiny components (also makes it easier to debug and fix).
I've ruled out breadboards for anything but testing; too noisy, add too much capacitance, and way too fragile in the long run.
 
Top