Designing a proc.
Designing a proc.
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
Thanks in advance,
Julian
Re:Designing a proc.
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.
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.
Every good solution is obvious once you've found it.
Re:Designing a proc.
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).
- Colonel Kernel
- Member
- Posts: 1437
- Joined: Tue Oct 17, 2006 6:06 pm
- Location: Vancouver, BC, Canada
- Contact:
Re:Designing a proc.
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.
Top three reasons why my OS project died:
- Too much overtime at work
- Got married
- My brain got stuck in an infinite loop while trying to design the memory manager
Re:Designing a proc.
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.
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.
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
and posibly some things I could read up on to learn a bit about the subject.
thanks in advance,
Jules
Re:Designing a proc.
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?
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.
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
Thanks in advance,
Jules
Re:Designing a proc.
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.
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.
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.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
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.
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.
Thanks in advance,
Jules.
Re:Designing a proc.
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.
any books then, because obviously the net is not a good place to find it.
thanks in advance,
Jules.
thanks in advance,
Jules.
Re:Designing a proc.
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.
- Colonel Kernel
- Member
- Posts: 1437
- Joined: Tue Oct 17, 2006 6:06 pm
- Location: Vancouver, BC, Canada
- Contact:
Re:Designing a proc.
Computer Architecture: A Quantitative Approach
If you don't understand this book, you need to learn a lot more about basic digital logic first.
If you don't understand this book, you need to learn a lot more about basic digital logic first.
Top three reasons why my OS project died:
- Too much overtime at work
- Got married
- My brain got stuck in an infinite loop while trying to design the memory manager