We're going to ask you to first implement a single-cycle version
of the SLOOP machine. Given the sketch of the datapath, you should
probably follow a course something like:
- Skim the 6502 Intro to get a feel for the 6502 ISA. You don't
need to understand this in incredible detail, but it will help.
- Read and get a good understanding of the SLOOP ISA Spec.
- Read the 6502 to SLOOP Translation Spec. Again, you don't need
to understand this in gory detail, but it will give you a feeling for
what the Fetch unit is doing.
- Study the Datapath sketch. Convince yourself that to a first
approximation, it can implement the SLOOP instruction set.
- Start thinking about control. In particular, you'll have to
build an ALU control unit and a regular control unit. Doing this
is the crux of this assignment. The SLOOP ISA is simple enough that
you ought to be able to (after identifying the control signals from
the sketch) write a table that maps Opcodes/Instructions to control
signals. Once you have control worked out (on paper) translating it
into a SMOK component should be easy.
Running and Testing
In order to assist you in debugging, we've provided some infrastructure.
At the time of writing, it's not all available through SMOK, but will
be soon. We do run a "shadow" simulation under the covers so that
we can verify that your simulation is doing the right thing. We will
stop your simulation when it appears to be behaving incorrectly.
In order to test your design, you'll need some test programs. More on
this later.
Error Checking
This assignment is hard enough. Don't worry about unknown opcodes and
other weird things that might happen.
Evaluating Your Design
Again, the person(s) who minimize cost and/or cycle time will win
a special prize.
Turn-In
Please turn in the following (more detail later):
- Printouts of your machine. We'd
like a printout of the global view of your machine, as well as detailed
printouts for your subcomponents (such as ALUControl and Control).
- The .sloop file for your machine,
electronically.
- Two questions about the course.
This is Too Easy
Well, you can probably guess that we'll ask you to pipeline this
sucker before long, so may as well get working on that...
dugan@cs.washington.edu