ECE Undergraduate Laboratories
ECE 459 - Advanced Computer System Design Laboratory

Course Narrative

This course is the design laboratory component of the advanced computer systems technical track offered to Computer Engineering students in their senior year. The experiments emphasize advanced CPU (Central Processing Unit) design concepts. They include RISC (Reduced Instruction Set Computer) CPU approaches, CPU exception handling, shared-memory multiprocessor design and programming, special-purpose systolic array designs for matrix-matrix operations and designs targeting FPGAs (Field-Programmable Gate Arrays). Software programs are also developed to test the capabilities of these hardware designs.

Laboratory Manual

  • ECE 459: Computer Systems Design Laboratory, version 2, by S.G. Ziavras.
  • Helpnotes and part of the syllabus co-developed with S.F. Beldianu.

Course Syllabus

Experiment Weeks
1. MIPS Assembly Language Programming: Matrix Multiplication 1-2
2. MIPS Assembly Language Programming: Recursion 3-4
3. Systolic-Array Implementation of Matrix-By-Matrix Multiplication 5-7
4. Shared-Memory Multiprocessor Design and Programming for Matrix Multiplication 8-10
5. CPU Design with Support for External Interrupts 11-14

Lab Reports

The lab reports are due on the week following the last week of the experiment. Groups with up to two students will submit a joint report. Lab reports should use the following format:

Introduction - Explain what you are trying to do and why you are doing it.

Procedure - How do your code and methods work (e.g. high-level description)? How did you execute your experiment (equipment, setup, etc)? What test cases did you run?

Results - What was the outcome of your efforts? Include screen shots of output, figures, scope traces, etc.

Discussion - Explain your results. Why did you obtain the results you obtained? Did you meet what you were trying to do? Were there any problems? How did you overcome these problems?

Conclusion - Summarize the experiment and its outcome.

Appendix - Code - Add your final, commented code as an appendix. If the code is too big to be appended, attach to your report a zipped folder with all project files.

Program Code & Commenting

Commented code is required for ALL lab reports. Your comments should explain what each section of your code does, how it does it and why it is needed. You do not have to comment every single line.

Grading Policy:
Reports:    25%  
Laboratory Effort:    25%  
Presence in Laboratory:    25%
Quality of Experimental Results (including Demo):    25%

The NJIT Honor Code will be upheld. Any violations will be brought to the immediate attention of the Dean of Students.