- 1.
- Required Material:
All students should have access to ICS151/ICS152 textbook "Principles of Digital
Design" for refreshing their memory.
- 2.
- Course Objective:
The objective of this course is to learn how to specify, model, optimize,
design and test hardware executing a given software. For the modeling we
will be using the hardware description language VHDL and corresponding
commercial simulators and other CAD tools. Given models on three
different levels of abstraction, students will be asked to enhance these
models by optimizing the hardare/software design.
Finally, the models are analyzed by executing certain benchmarks in order
to ensure satisfaction of performance constraints.
- 3.
- Tentative Lab Outlines:
The lab portion of this course consists of 5 assignments. Each
assignment involves the design, modeling and simulation of a module or
feature of the digital processor or the ASIC.
Lab 1 requires to execute the given C program in order to
extract test vectors and input patterns which will then be used to
debug the behavioral VHDL model given in class. Students will compose
C and VHDL code and make sure that both descriptions execute the same
functionality.
In Lab 2 the FSMD model of computation will be introduced into
the design. We will be developing the FSMD model for the program given
in Lab 1. In addition, students are required to optimize the design for
performance by applying loop unrolling, chaining and multicycling
techniques. Finally, the model has to be tested and simulated in order to
prove equivalence with the model of Lab 1.
Lab 3 requires students to introduce multithreading and
pipelining techniques into the model obtained in Lab 2. The model
is tested to prove equivalence with the model in Lab 2.
Lab 4 is targeted towards development of a structural
register-transfer model in which the original C program is modeled as
a control unit plus datapath. Furthermore, the control unit is modeled
as an FSM and the datapath as a netlist consisting of storage elements
and functional units.
Lab 5 is the final assignment in which students combine all
the design techniques learned so far in order to explore performance/cost
tradeoffs and generate the most optimal design under the given constraints.
The result is modeled and tested on the register-transfer level described
in Lab 4.
The lab format may change a little through the quarter. However, you should
plan or spending approximately 10 hours a week in the lab. You can often
reduce the time spent in the lab by doing your designs before coming to the
lab. If the lab gets crowded and students have trouble accessing the
machines, we will use sign-up sheets for scheduling use of the lab.
- 4.
- Course Schedule:
During the class lectures, we will discuss principles of modeling,
software/hardware optimization and implementation, and how these issues
are related to the lab assignments.
The lectures serve primarily as a guide to the labs. Their primary objective
is to discuss lab assignment and to review material. All announcements will
be made at the beginning of the class. It is your responsibility to come to
class and not to miss the announcements.
- 5.
- Grading:
Since this is a lab course, your grade will depend primarily upon your
performance in lab assignments that are completed on time. The weights
for the different labs are given in the quarter schedule at the end of
the syllabus.
You will be required to demo your simulation run to the TA during the TA
office/lab hours. The TA will run several test cases on your design, so make
sure that you have tested your design completely before you are ready to
demo it. Your grade will depend on the number of test cases that perform
satisfactorily on your model. Your final grade will be based on your
cumulative performance on the lab assignments and the final completion of
the processor or ASIC.
- 6.
- Late Policy:
No late assignments will be accepted. It is your responsibility to schedule
your time around interviews etc. that you may have to go for. We will be
handing out lab assignments well in advance, so there should be no excuse
for late work. In the case of extenuating circumstances, see the instructor.
- 7.
- Drop Policy:
Students will not be allowed to drop the course after the seventh week of
instruction.
- 8.
- Lab Policy:
No students may modify the system software on the workstations in any way.
Students caught modifying the software will be subject to discipline as
outlined for malicious conduct in the university regulations.
Any students caught putting a program containing a virus on any computer
will be subject to discipline as outlined for malicious conduct in the
university regulations.
Theft of software from the systems is subject to course expulsion and
possible criminal charges.
- 9.
- Lab Guidelines:
Always design your system on paper and think of your modelling strategy
before writing the VHDL code. This saves time and lets others use the
computers more productively.
Organize your design as library directories, so that they can be used in
later assignments.
Make sure that your design submissions have your name, ID#, the date written
on them.
You may be required to give a demo of a completed assignment to the TA.
In addition, most lab assignments require a short write-up. Details will be
provided in the lab handouts.
Each students should read the bulletin board,
ics.155b, for announcements etc.
Students are responsible for reading this bulletin board as lab
discussions, corrections and modifications will be posted there outside
of class meetings.