We did similar projects as part of our ECE degree. In general we would start with boolean algebra and logic design, then proceed to computer organization and last to computer architecture (one semester each). Your project would be at the computer organization level. IIRC adding a pipeline would move it to computer architecture level. I understand that reading outside a class may be a bit boring, but these courses gav…
What is the difference between Computer Organization and Computer Architecture?
Designing a CPU in VHDL, Part 1: Rationale, Tools, Method
41–45 of 45 posts
Re: Designing a CPU in VHDL, Part 1: Rationale, Tools, Method
#42Earlier quoted context omitted.
As of 2007-2011, Patterson and Hennessy books were in use in courses I took as well. Great stuff, but the treatment on GPUs was a little out of date even a year or two after being published (GPGPU was just getting started and evolving rapidly).
Their Computer Organization and Design, had a new edition in 2013, that may cover GPU stuff better, havn't read it myself thou. Still havn't seen a book that covers SIMD very well?
Sounds promising. The 4th edition just had the GPU content stuffed into an appendix.
Re: Designing a CPU in VHDL, Part 1: Rationale, Tools, Method
#43Please do yourself a favor and use Verilog instead. I understand that VHDL forces you to write cleaner code, but it's also frustrating for no good reason. Also, start looking into pipelining ASAP. Implement one micro-arch, benchmark it, then try to do better. It's a great way to learn.
Cheers for the tips. I'll eventually move to Verilog, but as others point out, I think it's good to walk before I run. Regarding pipelining, I'm getting right on it - and the iterative benchmarking is something I plan to do. Thanks again :)
VHDL is dead in the industry(). While VHDL is slightly better for teaching, why not learn directly what everyone else uses? Also, because VHDL is such a pain to support for CAD tools, more tools support Verilog only, or support VHDL as a second-class citizen.
() my european friends hate me each time I say that, but it's true.
Re: Designing a CPU in VHDL, Part 1: Rationale, Tools, Method
#44I found both to have their little quirks, but personally liked Verilog syntax a little better - modules concept made a lot more sense coming from a software background. Do you have an existing instruction set you're planning on supporting?
Re: Designing a CPU in VHDL, Part 1: Rationale, Tools, Method
#45Earlier quoted context omitted.
Cheers for the tips. I'll eventually move to Verilog, but as others point out, I think it's good to walk before I run. Regarding pipelining, I'm getting right on it - and the iterative benchmarking is something I plan to do. Thanks again :)
Also, feel free to contribute to the Verilog tutorial I started for software engineers, it's on WikiBooks at https://en.wikibooks.org/wiki/Programmable_Logic/Verilog_for... VHDL is dead in the industry( ). While VHDL is slightly better for teaching, why not learn directly what everyone else uses? Also, because VHDL is such a pain to support for CAD tools, more tools support Verilog only, or support VHDL as a second-c…