103 lines
2.8 KiB
Plaintext
Executable File
103 lines
2.8 KiB
Plaintext
Executable File
Operating System Verified on:
|
|
1. Ubuntu 14.04
|
|
2. Ubuntu 16.04
|
|
3. Ubuntu 18.04
|
|
|
|
|
|
HOW TO setup Tejas
|
|
-----------------------
|
|
Building
|
|
---------
|
|
how to setup the simulator for the first time.
|
|
|
|
Pre-requisite:
|
|
1. Download Intel PIN. Tested for version 3.7 Kit: 97619
|
|
https://software.intel.com/en-us/articles/pin-a-binary-instrumentation-tool-downloads
|
|
|
|
2. Java version: openjdk8
|
|
3. make
|
|
4. ant
|
|
5. g++
|
|
|
|
Commands to build:
|
|
--------------
|
|
|
|
Make changes to (set absolute path as per your machine) :
|
|
|
|
src/simulator/config/config.xml
|
|
src/emulator/pin/makefile_linux_mac
|
|
|
|
Run:
|
|
ant make-jar
|
|
|
|
If everything goes well, this will create a jars folder with tejas.jar in it.
|
|
|
|
Testing
|
|
----------
|
|
cd scripts
|
|
./test.sh
|
|
|
|
|
|
# Examples of configure parameters:
|
|
|
|
|
|
|
|
|
|
modifying and testing the simulator
|
|
-----------------------------------
|
|
|
|
testing
|
|
-------
|
|
|
|
committing
|
|
---------
|
|
|
|
ChangeLog
|
|
---------
|
|
|
|
|
|
Tejas directory structure
|
|
------------------------------
|
|
|
|
doc - contains explanation of the functionality and working of
|
|
source code with suitable examples
|
|
LICENSE - Contains the terms and conditions for use, reproduction and distribution
|
|
MAINTAINERS - who is responsible for what description
|
|
NOTICE - copyright notice
|
|
README - Contains instructions to build and provides overview of Tejas
|
|
src - all real code for Tejas is in this directory (description below)
|
|
TODO - if you have some time available and you want to have some fun,
|
|
check this file and help improve Tejas
|
|
|
|
|
|
src directory structure
|
|
-----------------------
|
|
|
|
configure - configuration script
|
|
emulator - source files of the emulator (Implemented in C++)
|
|
simulator - source files of the simulator (Implemented in Java)
|
|
|
|
/src/simulator/ :
|
|
generic - functionalities used across packages
|
|
for example : event queue is used by memory-system and pipeline
|
|
misc - miscellaneous functions
|
|
memory - cache simulator
|
|
pipeline - pipeline simulation
|
|
config - used to set various configuration parameters such as underlying architecture,
|
|
number of cores, and branch-predictor
|
|
power - power modelling of the system using performance counters
|
|
net - simulate the on-chip network to estimate the delay due to bus-contention
|
|
emulatorinterface - interface to the emulator
|
|
|
|
|
|
/src/simulator/emulatorinterface :
|
|
translator - translates the assembly-format of the executable to abstract instruction
|
|
translator/x86 - x86 translator
|
|
translator/mips - mips translator
|
|
translator/arm - arm translator
|
|
communication - used to take the value from the emulator
|
|
communication/shm - shared memory
|
|
communication/pipe - pipe
|
|
communication/network - network
|
|
communication/socket - sockets
|
|
instruction - abstract format of the instruction |