Page 1 of 2
Designing a proc.
Posted: Thu Jun 29, 2006 3:16 am
by suthers
I have resently started designing a processor but its really anoying to right everything on paper does anybody no a CAD tool for processors (with logical gates and stuff) and a few tutorials because I don't know much about the subject
Thanks in advance,
Julian
Re:Designing a proc.
Posted: Thu Jun 29, 2006 3:25 am
by Solar
Uh... what?
You're designing a processor? Do you intend to emulate it, build it yourself (FPGA?), or to have it built by external manufacturer? Whatever you chose, that will limit your choices in tools, because the emulator / FPGA hardware / manufacturer will expect a certain input format, and the logic used is quite different.
Re:Designing a proc.
Posted: Thu Jun 29, 2006 5:59 am
by Kemp
My advice would be to do all the research and reading *before* even starting to design. First off you'll have the background knowledge to deal with problems before they even become problems and won't "design yourself into a hole". Secondly if you do come up against a problem you'll have knowledge about how that sort of problem has previously been solved (or at least know where to look to find out).
Re:Designing a proc.
Posted: Thu Jun 29, 2006 9:36 am
by Colonel Kernel
I agree with Kemp -- do the research first. If you feel like trying some logic designs, google for "VHDL". It's a hardware description/simulation language that is somewhat close to Ada in syntax.
Re:Designing a proc.
Posted: Thu Jun 29, 2006 9:47 am
by Candy
If you want to design an actual processor, you'll need some form of realising your design into a product, some form of designing and some core logic behind it. The core logic is how a processor is built (TLB, logic behind paging, ALU usage, register allocation, register rotation, scalarity etc), the design method will probably be by using a multi-level hardware description language (HDL), which allows defining basic blocks and reusing them to define something larger, and the implementation method depends on your aspirations and your budget. If your budget is below a few million euro's / dollars, I'd try the FPGA method. If your budget is below a few hundred or thousand, you won't get it working.
If you have a few million dollars, pay somebody to do it for you.
So, in short, use an FPGA or use transistors to do the same. I'd always choose the first, one because you can reconfigure it easily, two because it's both faster, more reliable and less tedious to make.
You describe what happens in an FPGA as a certain cause connecting to a certain action. A lot of causes cause a lot of actions, connecting them gives a processor.
That is the short overview.
Re:Designing a proc.
Posted: Thu Jun 29, 2006 1:58 pm
by suthers
Ya that may be a good idea does anybody now a good simple VHDL tutorial (Im using the BlueHDL VHDL 'compiler')
and posibly some things I could read up on to learn a bit about the subject.
thanks in advance,
Jules
Re:Designing a proc.
Posted: Thu Jun 29, 2006 2:21 pm
by Candy
Very simple tutorial: just make a few basic programs first.
1. light a led (on a testboard) - tests whether your configuration works
2. make a counter - tests whether you have the basic grasp of logic behind temporalizing all events and actions
3. make an adder - tests for logic combination
The rest I haven't figured out since I haven't done anything else myself. Don't have time nor an FPGA board to do it on.
Just a small question, do you have an FPGA board and does it work?
Re:Designing a proc.
Posted: Thu Jun 29, 2006 3:24 pm
by suthers
No, I thought that using a VHDL compiler whould alow me to emulate a circuit board on the machine. I there any such CAD software were I can just position a logical gate on a circuit and create one, set input in the ports I want and then run it and get the out put on each port + do you now were I could buy logical gates?
Thanks in advance,
Jules
Re:Designing a proc.
Posted: Thu Jun 29, 2006 4:35 pm
by AxelDominatoR
If you are under linux/unix you could give a try on
gEDA (
http://geda.seul.org ).
Else maybe this page on wikipedia has something of interest to you:
http://en.wikipedia.org/wiki/Electronic_design_automation
At last, you could check
www.opencores.org to get an idea about how much complex a processor is.
Re:Designing a proc.
Posted: Fri Jun 30, 2006 2:17 pm
by Candy
suthers wrote:
No, I thought that using a VHDL compiler whould alow me to emulate a circuit board on the machine. I there any such CAD software were I can just position a logical gate on a circuit and create one, set input in the ports I want and then run it and get the out put on each port + do you now were I could buy logical gates?
Thanks in advance,
Jules
A VHDL compiler compiles it to hardware-synthesizable output (or stuff to place on an FPGA). A VHDL simulator emulates it - but don't even expect kilohertz speeds for more complex designs. You really want to use an FPGA for stress-testing - or a server farm.
Just a small hint, my previous job included regularly recompiling a design with a software processor. Each compile, successful or not, took at least 2 hours on a P3-500 and 15 minutes on a dual Xeon with 1GB of memory per processor. Simulating was impossibly slow to test software.
Re:Designing a proc.
Posted: Fri Jun 30, 2006 3:02 pm
by suthers
oh god this isnt going to be easy, but the thing that AxelDominatoR works it emulates it on the PC virtually but now were can I read up about designing procs. I searched Google and it only comes up with things about bistables, half adders and full adders which isnt very useful, can anybody help me to find interesting tutorials please and if anybody has any recomendations, please fell free to give them.
Thanks in advance,
Jules.
Re:Designing a proc.
Posted: Fri Jun 30, 2006 3:12 pm
by Kemp
I guess I have a slight advantage here, having spent half an academic year covering processor design (along with any prior knowledge/my own reading), though that's only the basics plus a high-level overview of some of the more complicated stuff. As to non-university places to find information, I have no idea
Re:Designing a proc.
Posted: Fri Jun 30, 2006 3:37 pm
by suthers
any books then, because obviously the net is not a good place to find it.
thanks in advance,
Jules.
Re:Designing a proc.
Posted: Fri Jun 30, 2006 4:50 pm
by Kemp
If you have access to a decently stocked university library (preferrably one with a floor dedicated to computer science) then they should have an entire set of racking dedicated to processor stuff, or at least ours did. I dunno the names of individual books though as I just went through and picked ones at random that looked interesting.
Re:Designing a proc.
Posted: Fri Jun 30, 2006 5:31 pm
by Colonel Kernel
Computer Architecture: A Quantitative Approach
If you don't understand this book, you need to learn a lot more about basic digital logic first.