This shows you the differences between two versions of the page.
start [2013/01/22 11:11] chenhan created |
start [2013/06/26 14:01] (current) chenhan [Build the simulation framework] |
||
---|---|---|---|
Line 19: | Line 19: | ||
DySER project wiki pages: | DySER project wiki pages: | ||
- | * [Tutorial|Tutorial]]: Evaluation with Gem5, VCS, and FPGA. | + | * [[start#Getting Started|Getting Started]]: Evaluation with Gem5, VCS, and FPGA. |
- | * [[Manual|Manual]]: Manual for the tools in the toolchain. | + | * [[start#Manual|Manual]]: Manual for the tools in the toolchain. |
- | * [[Release issues|Release issues]]: Known issues in the release. | + | * [[start#Release issues|Release issues]]: Known issues in the release. |
- | * [[FAQ|FAQ]]: Frequently asked questions and answers. | + | * [[start#FAQ|FAQ]]: Frequently asked questions and answers. |
- | ====== Tutorial ====== | + | ====== Getting Started ====== |
- | This tutorial will guide you to run your first gem5 simulation, | + | This section will guide you to run your first gem5 simulation, |
VCS simulation and FPGA simulation. | VCS simulation and FPGA simulation. | ||
- | + | ||
- | For now, the tutorial is only for UW-Madison students. | + | |
===== Preparation ===== | ===== Preparation ===== | ||
Line 60: | Line 59: | ||
Download {{:dyser-r1.0.tar.bz2|dyser-r1.0 tarball}}. | Download {{:dyser-r1.0.tar.bz2|dyser-r1.0 tarball}}. | ||
- | Internal tutorial for vertical group people is [[projects:dyser-internal-tutorial|Here]]. | + | Internal tutorial for vertical group people is [[internal:dyser-internal-tutorial|Here]]. |
Untar the file: | Untar the file: | ||
Line 75: | Line 74: | ||
* Tools (dysched, gen_dyser_config etc.,) will be in $(INSTALL_DIR)/tools | * Tools (dysched, gen_dyser_config etc.,) will be in $(INSTALL_DIR)/tools | ||
* Building HW toolchain: | * Building HW toolchain: | ||
- | * You will find three directories in dyser-r1.0/hw: dyser-1.0, hardDySER, opensparc. The detailed description of the toolchain is in the [[HW toolchain|Manual section]]. To set up the toolchain, navigate to: <code>cd dyser-r1.0/hw/opensparc</code> and look for <code>OpenSPARCT1.bash</code> | + | * You will find three directories in dyser-r1.0/hw: dyser-1.0, hardDySER, opensparc. The detailed description of the toolchain is in the [[start#HW toolchain|Manual section]]. To set up the toolchain, navigate to: <code>cd dyser-r1.0/hw/opensparc</code> and look for <code>OpenSPARCT1.bash</code> |
* dyser-r1.0/hw/opensparc/OpenSPARCT1.bash: this is the file you need to modify and source for your environment | * dyser-r1.0/hw/opensparc/OpenSPARCT1.bash: this is the file you need to modify and source for your environment | ||
* Modify line 6(HW) and 7(SW) to point to your install directory <code># ***Modification required for new install*** | * Modify line 6(HW) and 7(SW) to point to your install directory <code># ***Modification required for new install*** | ||
Line 86: | Line 85: | ||
export DRMJOBSCRATCHSPACE=/scratch/vcsjobscratch | export DRMJOBSCRATCHSPACE=/scratch/vcsjobscratch | ||
</code> | </code> | ||
+ | * There might be other path variables that have to be changed. For example, the PERL_PATH variable. Make sure all path variables points to the correct place. | ||
* Run: <code>source OpenSPARCT1.bash</code> | * Run: <code>source OpenSPARCT1.bash</code> | ||
Now we are ready to run benchmarks! | Now we are ready to run benchmarks! | ||
Line 91: | Line 91: | ||
The DySER evaluation framework can evaluate the design on 3 different platforms: | The DySER evaluation framework can evaluate the design on 3 different platforms: | ||
- | * [[Run gem5 simulation|gem5]] | + | * [[start#Run gem5 simulation|gem5]] |
- | * [[Run VCS simulation|Synopsys VCS]] | + | * [[start#Run VCS simulation|Synopsys VCS]] |
- | * [[Run a benchmark on FPGA|Xilinx FPGA]] | + | * [[start#Run a benchmark on FPGA|Xilinx FPGA]] |
We will begin the tutorial with a test benchmark, cumsum. | We will begin the tutorial with a test benchmark, cumsum. | ||
==== Run gem5 simulation ==== | ==== Run gem5 simulation ==== | ||
Line 144: | Line 144: | ||
==== Run a benchmark on FPGA ==== | ==== Run a benchmark on FPGA ==== | ||
- | (Make sure you have read the [[Preparation|preparation]].) | + | (Make sure you have read the [[start#Preparation|preparation]].) |
The DySER FPGA evaluation framework is based on OpenSPARC, and the detail of | The DySER FPGA evaluation framework is based on OpenSPARC, and the detail of | ||
Line 223: | Line 223: | ||
DySER programming. | DySER programming. | ||
Besides the c code, a DySER config should be created | Besides the c code, a DySER config should be created | ||
- | with the DySER program using the [[dysched|dysched]] GUI. | + | with the DySER program using the [[start#dysched|dysched]] GUI. |
With DySER program and DySER config file, | With DySER program and DySER config file, | ||
we can evaluate the DySER architecture in the framework. | we can evaluate the DySER architecture in the framework. | ||
Line 262: | Line 262: | ||
CFLAGS += -O3 $(FLAGS) -DONEWIDE -DFF | CFLAGS += -O3 $(FLAGS) -DONEWIDE -DFF | ||
The above is the CFLAGS you want to add, the **-DFF** is an flag for gem5 detail timing simulation. | The above is the CFLAGS you want to add, the **-DFF** is an flag for gem5 detail timing simulation. | ||
- | More detail can be found in the [[SW toolchain|SW manual]]. | + | More detail can be found in the [[start#SW toolchain|SW manual]]. |
TARGET = $(BUILDDIR)/test.splyser | TARGET = $(BUILDDIR)/test.splyser | ||
SRC = test.c | SRC = test.c | ||
Line 391: | Line 391: | ||
Now you should have a FPGA which is configured as an OpenSPARC with cumsum hardDySER. | Now you should have a FPGA which is configured as an OpenSPARC with cumsum hardDySER. | ||
- | After following the instruction in [[Run a benchmark on FPGA|Run a benchmark on FPGA]](continue at XMD part), | + | After following the instruction in [[start#Run a benchmark on FPGA|Run a benchmark on FPGA]](continue at XMD part), |
you should be able to boot Unbuntu and run the cumsum benchmark. | you should be able to boot Unbuntu and run the cumsum benchmark. | ||