Designing a proc.

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
Kemp

Re:Designing a proc.

Post by Kemp »

While I remember, second page of this forum:
Processor design
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Re:Designing a proc.

Post 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 :)
suthers

Re:Designing a proc.

Post 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
Xardfir

Re:Designing a proc.

Post 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!
suthers

Re:Designing a proc.

Post 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
paulbarker

Re:Designing a proc.

Post 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.
suthers

Re:Designing a proc.

Post 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
suthers

Re:Designing a proc.

Post by suthers »

does anybody have a web site thats gives examples with logical gates of how basic cpu functions work?
Thanks in advance,
Jules.
paulbarker

Re:Designing a proc.

Post 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).
suthers

Re:Designing a proc.

Post by suthers »

thanks that was realy usefull,
Jules
btbx
Posts: 8
Joined: Tue Aug 14, 2007 8:57 am

Post 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
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Post 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
Post Reply