1. Untar the xerces-c-3.1.1.tar.gz.
Install the xerces parser in the /opt directory. 
To do this go to unpacked directory: cd xerces-c-3.1.1
Run:
./configure --prefix=/usr
Now Run:
make
Finally Run:
make install
This will install xerces parser in your machine.


2. cd ~/TejasPowerPack/UpdateConfig
It contains a script file (makeconfig.sh) that runs MAKE on cacti, orion and mcpat. Then it takes configuration parameters from 
tejas config file and configures the mcpat and orion config files. This is followed by running the executables of mcpat and orion.
The power values generated from this step are then combined with the initial tejas config file to generate new config(config_tpp.xml)
file. This file is then ready to be used by Tejas simulator.

Change the permissions of the script file: chmod +x makeconfig.sh
Run the script file: ./makeconfig.sh in the same folder /TejasPowerPack/UpdateConfig.
This will first change mcpat input xml file and orion stats file according to the Tejas config file. 
Then it will create new xml file: config_tpp.xml (tpp=tejaspowerpack)updated with power numbers generated by mcpat and orion.	

   
3. Tejas Simulator needs <DynamicEnergy> and <LeakageEnergy> in nJ (10^(-9))for each of the components present in a processor.
<DynamicEnergy> = dynamic energy per access.
<LeakageEnergy> = leakage energy per cycle.
These energy values are provided by mcpat and orion.

4. For direct usage, the default config_tpp.xml is provided. All the power values in this config are generated at 22nm. 

5. The 22nm technology at which the power values are generated is referred to as <baseline_technology> in the Tejas config file.
There is a tag <technology> just before <baseline_technology>. This <technology> tag tells us the technology at which you want Tejas to work. 
		If (<baseline_technology> = <technology>)
			use the same power values present in the config_tpp.xml
		else
			use the conversion Table.

Conversion Table:
Technology Nodes		Power
65->45nm				0.626x
45->32nm				0.626x
32->22nm 				0.648x
22->14nm				0.664x
14->10nm				0.671x

6. In case, you don't want to use the conversion table and generate your own power values, you need to specify the technology
at the <baseline_technology> tag. (This is the tag that is being read by the Tejas Power Pack wrapper).

7. If you want to run Tejas Power pack with a modified config file, remember to change it in the location:
~/TejasPowerPack/UpdateConfig 

8. The values of bank, throughput, output width and cache policy tags for caches in input.xml are hardcoded to the default values(from Xeon.xml). 
The hardcoding is done via UpdateConfig.cpp. In case, you wish to run for your values of these tags, merely changing it in input.xml will
not do the job as it will be overwritten by the hardcoded values from UpdateConfig.cpp. Instead, change their values in UpdateConfig.cpp.
