Page 2 of 2

Re:Designing a proc.

Posted: Fri Jun 30, 2006 5:43 pm
by Kemp
While I remember, second page of this forum:
Processor design

Re:Designing a proc.

Posted: Sat Jul 01, 2006 7:37 am
by Candy
Kemp wrote: While I remember, second page of this forum:
Processor design
wait, right, that was me. Still busy though, although a dozen or so projects will come first :)

Re:Designing a proc.

Posted: Sun Jul 02, 2006 1:02 pm
by suthers
Thanks Ive found a progrm to design and sim without an FPGA board(called dip trace) but its really hard to use because there are way to many peases available (when you select transistor you get like a 1000 transistors that do exactly the same thing but have a different design number.il probably quickly get use to it.
But I havent even managed to do a sim yet.
I also use PSpice which have some other usefull things like calculate voltages and resistance automativally for you and they both take the same schematic file format and have the same libs pre installed.
It's so complex I havent even completed a flip-flop yet.
Thanks,
Jules

Re:Designing a proc.

Posted: Wed Jul 26, 2006 5:23 am
by Xardfir
Hiya,
Suther, I was just wondering out of interest, have you already completed the logic or are you starting with the basic transistors themselves?
Building any kind of electrical device is much the same as programming. Like starting with a flow chart, breaking things down into blocks and then breaking those blocks down into gates / transistors etc.
PSpice can simulate something as complex as a microprocessor (unless you're talking about something like a PDP-11), but as Candy points out - There'll be a whole lot of waiting going on.
Come to think of it, several companies in the 1970's built their own PDP-11's because they couldn't afford one. Xerox PARC (the guy's who invented all the GUI stuff) if I recall built their first one. The schematics should be out there somewhere........
http://home.alltel.net/engdahl/PDP-11.htm
Anyway, I wouldn't worry about anything physically electrical until the design works on paper. At that point you should be able to convert it to VHDL & friends.

A book I would recommend is "Computer Organisations and Design by David Patterson & John Hennessy". The book shows the design and construction of a MIPS code processor from the first adders, comparators, right through to a full implementation of the MIPS instruction set. Comparisons with different ways of implementation (performance / cost / complexity) are also made.
(MIPS Trademark, Copyright, Patented etc.... Silicon Graphics)
Compare this with say the ARM architecture or even the humble 6502 block architecture (million of C64's still runnning on that chip!)

Basically what I recommend is following a TOP-DOWN design process. What will you use your processor for?
8-Bits is good for microcontrolling, 32 a minimum for desktop.
8 Bits is easy(er) due to less circuitry, just have realistic expectations on what it will be capable of doing. Kind of like implementing a new compiler in hardware is suppose.
Only once you've got a design that meets your need can you go to the books and figure out how the stuff is implemented in hardware. Bipolar/CMOS/GAs/Bi-Cmos/SOS/SOD/TTL(If you want to build that PDP-11!)
Anyway, I'll shut up now. Hope this stirs the brain porridge.

P.S. If you already have a working logic design I humbly apologise for my rambling!

Re:Designing a proc.

Posted: Mon Aug 28, 2006 1:33 pm
by suthers
no im starting with transistors, thanks alot for the information it helped alot but i havent made much advance yet im on holiday seying friends so I dont have much time
thanks,
Suther

Re:Designing a proc.

Posted: Sun Sep 03, 2006 5:39 pm
by paulbarker
Be very careful if working from the transisters upwards: the list of different models all correspond to transister packages, I doubt you'll find one which matches the characteristics of a MOSFET at the size you'd find on a modern processor.

My advice - stick to working from logic gates up, then when finished (ie. in 30 years) design how the logic gates are made from transisters. Most simulators will simulate logic gates anyway. Look at the design of PICs (Programmable Integrated Circuit, not the Peripheral Interrupt Controller) and AVRs.

Note: If you don't understand slew rate, stay away from transister circuits for now.

If you don't understand me, read up on digital circuit design before going any further.

Re:Designing a proc.

Posted: Mon Sep 04, 2006 6:57 am
by suthers
dont worry I did read up a bit before starting I do know about logic gates and stuf and thanks for the idea it was getting really anoying all the model numbers
Thanks,
Suthers

Re:Designing a proc.

Posted: Mon Sep 04, 2006 11:25 am
by suthers
does anybody have a web site thats gives examples with logical gates of how basic cpu functions work?
Thanks in advance,
Jules.

Re:Designing a proc.

Posted: Mon Sep 04, 2006 11:45 am
by paulbarker
Start with the ALU - google "ALU design". Another good trick to learn is how to build registers using d-type (or JK) flip-flops. The flip-flops are in turn built from logic gates (as shown at Wikipedia).

Re:Designing a proc.

Posted: Mon Sep 04, 2006 1:58 pm
by suthers
thanks that was realy usefull,
Jules

Posted: Wed Aug 15, 2007 4:06 am
by btbx
What about using SystemC to create reconfigurable computer?

http://www.celoxica.com/products/agility/default.asp

"The Agility Compiler provides behavioral design and synthesis for SystemC. It is a single solution for FPGA design and ASIC/SoC prototyping. Early TLM models can be quickly realized in working silicon yielding accurate design metrics and RTL for Physical design"

RTL: Register Transfer Level.

There is an attempt to port Linux kernel to SystemC and run Linux without any ordinary CPU (with hard core).

In the future, it will be possible to put FPGA on multi socket AMD motherboards (Torrenza and Celoxica). Intel had similar technology with Geneseo.

Other approach:

FPOA from MathStar:

FPOA stands for Field Programmable Object Array. It is a field programmable device in the form of a two-dimensional array of Silicon Objects (SOs). Silicon Objects are 16 bit configurable machines, such as an Arithmetic Logic Units (ALU), Multiply-Accumulators (MAC), or Register Files (RF). Both the Silicon Object behavior and the interconnection among Silicon Objects are field-programmable.

Virtual Processor and FPGA from Mitrionics:

http://www.mitrionics.com/default.asp?pId=22

Posted: Fri Aug 17, 2007 3:07 am
by JamesM
gEDA is the way forward.

I used it to design and simulate a simple RISC cpu, based on my lecturer's design called the "Jorvik 5". A cpu that can add, subtract, jump, branch, halt is not really very difficult. gEDA can simulate really quite complex things. (It did my 16-bit multiplier really quite well :P)

JamesM