You should proceed step by step towards building the CPU by:
Special attention should be given to the pipelined design. Your design should be structural hazards free. Data hazards and control hazards should be solved with hardware stalling.
Starting from a paper-and-pencil design of the major blocks, it is suggested you implement your CPU using VHDL or Verilog (e.g. using Modelsim).
The projects can be carried out in any of the general purpose PC labs in the EV building and in AITS labs on the 8th and 9th floors of the Hall building (e.g., H811, H915, H913). However, the PCs must be booted in Linux since all the project tools are installed under Linux and not Windows. In order to access the Hall building laboratories, check on this web site for the door codes
Those that would like to learn about VHDL can acquire this book:
"It's Only VHDL (But I Like It)" by Tadeusz S. Obuchowicz, Pearson Custom
Publishing (ISBN: 0-536-75112-9). You may also try this tutorial on VHDL
Simulation with Modelsim.
To get started on our Linux environment read these notes.
There you find a Verilog-XL tutorial, a fast start, and a detailed reference
manual on Verilog. If students wish to synthesize their project, it is possible
to run the Mentor Precision RTL syntheis tools f rom the Linux server:
computation.encs.concordia.ca by using the command: ssh -Y
computation.encs.concordia.ca and following the steps in Part II of VHDL
Simulation with Modelsim tutorial. There is also a Verilog on-line
documentation on our Linux system (invoke cdsdoc from a Linux command
prompt. Within the Verilog-XL turbo folder, there will be two user guides from
Cadence). Finally, if you are not sure if you should use VHDL or Verilog, you
may read this note
from Ted which may or may not give you a clear answer!
References:
1. "Computer Organization and Design: The
Hardware/Software Interface" (5th Ed.) by David A. Patterson and John L.
Hennessy, Morgan Kauffman Publishers, 2013. ISBN: 978-0124077263.
2. "MIPS Assembly Language Programming", by Robert L. Britton, Pearson Prentice Hall,
2004. ISBN: 978-0131420441.
It is suggested that you work this project in groups of 4 students.
The load should be distributed among members of the group, e.g.
architecture design, RTL design, control, datapath, pipeline handling,
VHDL/Verilog coding, CAD implementation, simulation, report writing,
poster design, presentation, etc. Each group has to identify a group
leader who will be the contact person with me/TA. A list of all
groups will be posted here.
Last but not least. Each group is required to fill the
Report Confirmation of Originalty form.
Schedule
Technical Support:
For questions related to the project
itself, please contact