• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Circuit Simulation Software

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

Shell

Member
Joined
Jul 21, 2006
Location
CYYZ Pearson
So ya... I use Logisim and CircuitSimulator quite often, they're crude, but usually get the job done.
But not this time...
Anyone know of something which can handle great complexity?
I want to make a microprocessor but these things croak after ~35 transistors/gates, so I can only sketch up small components, I can't see if they actually work together on a larger scale.
The design I have is mind is pretty... strange. It's a little bit MIPS-like, but I'm just saying that because that's the closest thing that comes to mind.
One thing I like is the fact that memory is allocated in blocks with a PID assigned.
It eats RAM like a pig, but it's fast and secure, everything is managed with a "hardware scheduler" and "loop checker".
Too lazy to describe but basically the scheduler is what queues work and minimizes wait-states while the looper is what executes software... chopped up ALU?
Pic related, a crude, tiny piece of a whole I have in mind. 5 transistors per bit stackable XNOR(actually 4-transistor XOR with a P-type and resistor stuck on the back)... couldn't find the design on the interwebs, maybe I invented something...
 

Attachments

  • wot.gif
    wot.gif
    18.9 KB · Views: 164
Last edited:
Double posting. :sn:

I got bored and actually "finished" the above posted, problem is it's WAY too complex for circuit sim to handle and I can't test it properly, oh well, at least I roughly know my idea can work, it'll need fixing up but the transistor count won't go up. 10-per bit(so comparing two 4-bit numbers only needs 40), stackable, equals/greater-than/less-than all in one package.

The only thing I have left to do is make the loop/scheduler, I have the math and advanced logic chunks sketched out, but that thing is FAR too complex to be anything more than a flow chart, it's the hub to everything.

Instruction set is looking like it'll be 5-bit... 4 not enough, 6 too much.
Memory management is nightmare-tier, there's a conventional address, PID, internal addressing*.
*Programs can read/write directly to RAM while being DMZ'd from RAM blocks which don't have the same PID, by cutting out the OS performance is increased and security is great since it's hardware level, managed by the kernel which sits in PID-0, the root ID... maybe I'll have more than one ID which has special permissions...

Speaking of permissions, I guess I'll go dual license... CC-BY-NC-SA and "get permission for commercial use". Kinda stupid to think of that so early... hopefully work won't pull me away.

EDIT: Newer pic.
 

Attachments

  • EqLeG_2.gif
    EqLeG_2.gif
    30.4 KB · Views: 132
Last edited:
Don't people typically use a hardware description language for this? Something like Verilog or ActiveHDL? That's what we used to code up microprocessors when I was in school.
 
Don't people typically use a hardware description language for this? Something like Verilog or ActiveHDL? That's what we used to code up microprocessors when I was in school.
Yes, %99.999 of the time they do, and I hate that. Noone is creating new circuits, just scripting up what they want and leaving the program to string together a pile of stock gates into a monster. The software can't invent things.
ActiveHDL looks better, can it run advanced circuit sims? They only advertise features I hate and things free software can do... although it's much more powerful.
Basically right now I just create modular components individually from scratch which do what I want and stick them in a logic sim, expressing them with the stock gates... funny thing is with the stock gates the transistor count would be 2-4x higher. :sly:
Whoops, there's a resistor missing in that pic, the string of them on the right at the bottom has just a wire.
 
Ah, I see what you mean. You want to take your gates built out of discrete analog components and build a CPU. Hmm. I don't really know, but there are a lot of SPICE-based simulators that can at least do something with more than 10 transistors. I don't know if there are a lot of people out there doing what you want to do...usually it's broken up into parts. One group is building gates, another is stitching them together.
 
I'm having a hard time picking what type of memory to use, there's two designs I like.
One is a more conventional cell with 2 N-MOSFETs, the other uses a Thyristor and a P-MOSFET, the latter uses fewer components* but it's not as easy to work with. *Fewer on the macro scale... I think; on ICs resistors are pretty trivial, but there's more traces so I guess the T-RAM is still simpler. T-RAM consumes no power on 0 state which is nice since unused RAM doesn't eat power if zero'd, which is exactly what I'd do... although in 1 state it consumes more on a macro off-the-shelf scale.
I don't like 1-Transistor RAM since it uses a capacitor and needs refreshing.
Such a simple thing but I can't choose, funny how I made these before googling them and discovered T-RAM is still in it's infancy... I don't see much 2-T RAM either.

I'll post some interesting bits when I have the time, busy time of year.
EDIT: Forgot I had a pic of them stuck together: http://img805.imageshack.us/img805/7964/tram2tram.gif
 

Attachments

  • RAMs.gif
    RAMs.gif
    6.1 KB · Views: 115
Last edited:
Back