bit-lcf / y86_64-tools Goto Github PK
View Code? Open in Web Editor NEWThis project forked from sysprog21/y86_64-tools
Y86-64 Tools: assembler, simulator, Verilog designs
This project forked from sysprog21/y86_64-tools
Y86-64 Tools: assembler, simulator, Verilog designs
/*********************************************************************** * Y86-64 Tools (Student Distribution) * * Copyright (c) 2002, 2010, 2015, R. Bryant and D. O'Hallaron, * All rights reserved. May not be used, modified, or copied * without permission. ***********************************************************************/ This directory contains the student distribution of the Y86-64 tools. It is a proper subset of the master distribution, minus the solution files found in the master distribution. yas Y86-64 assembler yis Y86-64 instruction (ISA) simulator hcl2c HCL to C translator hcl2v HCL to Verilog translator ssim SEQ simulator ssim+ SEQ+ simulator psim PIPE simulator ************************* 1. Building the Y86-64 tools ************************* The Y86-64 simulators can be configured to support TTY and GUI interfaces. A simulator running in TTY mode prints all information about its run-time behavior on the terminal. It's harder to understand what's going on, but useful for automated testing, and doesn't require any special installation features. 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. To build the Y86-64 tools, perform the following steps: NOTE: If your instructor prepared this distribution for you, then you can skip Step 1 and proceed directly to Step 2. The Makefile will already have the proper values for GUIMODE, TKLIBS, and TKINC for your system. Step 1. Decide whether you want the TTY or GUI form of the simulators, and then modify ./Makefile in this directory accordingly. (The changes you make to the variables in this Makefile will override the values already assigned in the Makefiles in the seq and pipe directories.) Building the GUI simulators: If you have Tcl/Tk installed on your system, then you can build the GUI form by initializing the GUIMODE, TKLIBS, and TKINC variables, as appropriate for your system. (The default values work for Linux systems.) Assigning GUIMODE=-DHAS_GUI causes the necessary GUI support code in the simulator sources to be included. The TKLIBS variable tells gcc where to look for the libtcl.so and libtk.so libraries. And the TKINC variable tells gcc where to find the tcl.h and tk.h header files. Building the TTY simulators: If you don't have Tcl/Tk installed on your system, then build the TTY form by commenting out all three of these variables (GUIMODE, TKLIBS, and TKINC) in the Makefile. Step 2: Once you've modified the Makefile to build either the GUI or TTY form, then you can construct the entire set of Y86-64 tools by typing unix> make clean; make ******** 2. Files ******** Makefile Builds the Y86-64 tools README This file misc/ Source files for the Y86-64 assembler yas, the Y86-64 instruction simulator yis, and the isa.c file that is used by the -t option of the processor simulators to check the results against the ISA simulation. Also contains files for the programs hcl2c and hcl2v seq/ Code for the SEQ and SEQ+ simulators. Contains HCL files for labs and homework problems that involve modifying SEQ. pipe/ Code for the PIPE simulator. Contains HCL files for labs and homework problems that involve modifying PIPE. y86-code/ Example .ys files from CS:APP and scripts for conducting automated benchmark teseting of the new processor designs. ptest/ Automated regression testing scripts for testing processor designs. verilog/ System for producing Verilog designs from HCL code
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.