ECE 449 Assignment 4
Reference:
RiSC-16
computer
- Add an external timer to our second NiosII system for the purpose
of measuring interrupt latency. Have one of the switches start the
timer, and let the NiosII system stop the timer. The number of cycles
should be displayed on the 7-segment displays and available for input
to the NiosII system (via PIO interface). Use this system to measure
the interrupt latency - from the time the switch is toggled until the
NiosII system is able to stop the timer.
- We have previously noted that the library strlen
function is optimized to process 32-bit words rather than 8-bit bytes.
Write a test program in C and use the debugger to step through the
code for strings of different lengths and determine how the algorithm
in strlen works. You may also extract the strlen
code, export it to another environment (e.g. Microsoft Visual C) and
test the code there.
- Download the
jsim1
project that implements the load/store operations of
the RiSC-16 processor. Do the following
- Run the project and fix any faults in its operation (hopefully
none)
- Write a simulator in C that reads the memory
initialization file and executes the program cycle by cycle.
- Write a filter program that reads a vector table file and outputs
only time values corresponding to positive clock edges. You can
specify a starting time and clock period (e.g. 30 ns start and 40 ns
period).
- Write a behavioral simulator in C
for the RiSC-16 computer. (see Prof Jacob's writeup
p1a.pdf.
- Write an assembler in C
for the RiSC-16 computer. (see Prof Jacob's writeups
p1a.pdf and p1b.pdf).
- Design a processor (in Verilog) that implements
the ADD, ADDI, and LUI instructions.
(see Prof Jacob's writeups p2a.pdf and
p1b.pdf).
Maintained by John Loomis,
last updated 18 March 2010