Skip to content
Permalink
20a8d079f9
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

Programming Assignment 1: Non-pipelined riscv-uconn Simulator

A non-pipelined CPU simulator for the RISC-V riscv-uconn instruction set architecture. The simulator translates machine code created by the riscv-uconn assembler, and executes instructions one at a time. Each instruction goes through a Fetch, Decode, Execute, Memory, and Writeback stage of processing.

Build Instructions

$ make

Unit Tests

Several unit tests are provided in the unittests directory. These unit tests must be assembled before use with the simulator. Ensure that the assembler is compiled (this should be done after completing PA0). The unit tests can all be assembled by executing the following command:

$ ../assembler/assembler unittests/unit_test_file.asm <path>/unit_test_file.out

where unit_test_file is any of the unit test files (written in riscv-uconn assembly) in the unittests directory. You may also use the provided `assemble_all.sh' script:

$ bash assemble_all.sh

Usage

$ ./simulator <path>/unit_test_file.out

where unit_test_file.out may be any assembled program file generated by the riscv-uconn assembler.