/***********************************************************************
* Sequential Y86-64 Simulators
*
* Copyright (c) 2002, 2010, 2013, 2015 R. Bryant and D. O'Hallaron,
* All rights reserved.
* May not be used, modified, or copied without permission.
***********************************************************************/
This directory contains the code to construct simulators for SEQ,
SEQ+, and the variants of it described in the homework exercises.
**************************
1. Building the simulators
**************************
Different versions of the SEQ and SEQ+ simulators can be constructed
to use different HCL files when working on the different homework
problems.
Binary VERSION HCL File Description
ssim std seq-std.hcl Standard SEQ simulator described in textbook.
ssim full seq-full.hcl For adding iaddq to SEQ.
ssim+ std seq+-std.hcl Standard SEQ+ simulator described in textbook.
The simulators run in either TTY or GUI mode:
o TTY mode: A simulator running in TTY mode prints all information
about its runtime behavior on the terminal. It's hard to understand what's
going on, but useful for automated testing, and doesn't require any
special installation features.
o GUI mode: A simulator running in GUI mode uses a fancy graphical
user interface. Nice for visualizing and debugging, but requires
installation of Tcl/Tk on your system.
The Makefile has simple instructions for building TTY or GUI
simulators. A TTY simulator runs in TTY mode only. A GUI
simulator can run in either TTY mode or GUI mode, according to
a command line argument.
Once you've configured the Makefile, you can build the different
simulators with commands of the form
unix> make clean; make ssim VERSION=xxx
where "xxx" is one of the versions listed above. For example, to build
the version of SEQ described in the CS:APP text based on the control
logic in seq-std.hcl, type
unix> make clean; make ssim VERSION=std
To save typing, you can also set the Makefile's VERSION variable.
***********************
2. Using the simulators
***********************
The simulators take identical command line arguments:
Usage: ssim [-htg] [-l m] [-v n] file.yo
file.yo required in GUI mode, optional in TTY mode (default stdin)
-h Print this message
-g Run in GUI mode instead of TTY mode (default TTY mode)
-l m Set instruction limit to m [TTY mode only] (default 10000)
-v n Set verbosity level to 0 <= n <= 2 [TTY mode only] (default 2)
-t Test result against the ISA simulator (yis) [TTY model only]
********
3. Files
********
Makefile Builds the SEQ and SEQ+ simulators
Makefile-sim Makefile for student distribution
README This file
seq+.tcl TCL script for GUI version of SEQ+
seq.tcl TCL script for GUI version of SEQ
ssim.c Base sequential simulator code and header file
sim.h
seq-std.hcl Standard SEQ control logic
seq+-std.hcl Standard SEQ+ control logic
seq-full.hcl Template for the iaddq problem (4.34-35)
seq-full-ans.hcl Solution for the iaddq problems (4.34-35)
(Instructor distribution only)