Go to file
Rajshekar K K b834fdbefe added rate control for writes issued to memory system 2021-11-26 16:53:37 +05:30
benchmarks initial commit 2020-07-04 12:04:37 +05:30
licenses/apache-commons-pool initial commit 2020-07-04 12:04:37 +05:30
scripts initial commit 2020-07-04 12:04:37 +05:30
src added rate control for writes issued to memory system 2021-11-26 16:53:37 +05:30
tests initial commit 2020-07-04 12:04:37 +05:30
.gitignore support added for file interface. microops can be written to trace files in the ROB, and trace files can be read in runnablethread and fed into the pipelines 2020-09-08 23:21:54 +05:30
CHANGELOG initial commit 2020-07-04 12:04:37 +05:30
LICENSE initial commit 2020-07-04 12:04:37 +05:30
MAINTAINERS initial commit 2020-07-04 12:04:37 +05:30
NOTICE initial commit 2020-07-04 12:04:37 +05:30
README initial commit 2020-07-04 12:04:37 +05:30
ROADMAP initial commit 2020-07-04 12:04:37 +05:30
TODO initial commit 2020-07-04 12:04:37 +05:30
VERSION initial commit 2020-07-04 12:04:37 +05:30
build.xml support for file interface only compilation made cleaner 2021-01-05 13:09:00 +05:30
install.py initial commit 2020-07-04 12:04:37 +05:30
tejaspin.sh initial commit 2020-07-04 12:04:37 +05:30
test.sh initial commit 2020-07-04 12:04:37 +05:30

README

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