Skip to content

HotLeakage is a software model of leakage based on BSIM3 technology data.

License

Notifications You must be signed in to change notification settings

uvahotspot/HotLeakage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The LICENSE and the COPYRIGHTS appear in the file called LICENSE.

HotLeakage Simulator Pre-Release Version 0.91.
------------------------------------------------

OVERVIEW:

README.HotLeakage is for HotLeakage Pre-Release 0.91. It is a tool for  
modeling leakage current for cache-like structures. It is built upon 
Wattch Power Performance simulator. 

Currently it is implemented to model the leakage of caches and register 
file only. Though adding models for other cache-like structures is very 
simple. It models both sub-threshold and gated leakage.
This model also takes care of the inter-die variations in different 
parameters like voltage, technology etc. 

DOCUMENTS:

*The technical report describes in details the derivation of the model 
and the tool in general.
*README.HotLeakage is the general README.
*README.HotLeakage.Howto.FAQ is the document that describes how to use 
the tool and how to use it to model another structure etc. 
*README.HotLeakage.TODO is the list of things to be done for the final 
version.
*README_Hotleakage_Model.doc describes the circuit simulations one needs to 
do for adding another structure or modeling for a different technology.
 
TO INSTALL:

HotLeakage should compile on any system that SimpleScalar compiles on. 
Testing/development was primarily done with the ALPHA version. It was
verified that the tool should compile on both PISA and ALPHA.
Finally HotLeakage would be in a modular form such that any simulator 
infrastructure can use it.
Note that HotLeakage is primarily designed to be used with sim-outorder 
(the full processor simulator).  It does not support sim-fast, 
sim-cache, etc (although adding some simple power estimates for these 
faster simulators would be very easy).  Thus you should only need to run 
"make sim-outorder" and in fact you will get errors if you try to compile 
the other simulators because they are missing some external variable
declarations.
For correct compilation on any systems please follow the following steps:
 1. gmake symlinks
 2. gmake config-<alpha/pisa>
 3. gmake clean
 4. gmake
Both gmake and make should work. Please note the first step which is different
from the normal SimpleScalar compilation.

SIMULATION AND RESULTS:

Running HotLeakage should be just like running sim-outorder.  Provide it
with your processor configuration parameters, input binary, and input
data set.  
There are lots of separate processor configuration parameters for 
leakage modeling.
Please see the hotleak_alpha_config.cfg file for more details.
Please NOTE that currently the Technology parameter needs not only be 
provided in the command line but also needs to be hardcoded in 
powerinit.c ( in the function power_reg_options).
This will be fixed in the final release.
These are the additional statistics that are generated by HotLeakage:
In the beginning of the simulation all the leakage currents are 
calculated (Currently only the register file and the caches).
The leakage currents for each component (for e.g. for a cache, the 
data array, tag-array, decoders etc ) are printed.
In the code (leakage.c) look out for leakage_power->dl1_data etc. for 
the data structures that store these values.



CHANGES:

This version has some cache leakage saving techniques (like drowsy , 
gatedVss) being modeled for the caches. The user has the option to 
choose any or none of these techniques.
Additional leakage saving mechanisms can be modeled and the HotLeakage 
leakage model can be used.
Some highlights of the major changes from the basic Wattch 1.0 release.
1). Leakage.c and leakage.h 
These files contain the core of HotLeakage leakage model.
double nmos_ileakage(double aspect_ratio, double Volt, double Vth0, 
double Tkelvin, double tox0)
double pmos_ileakage(double aspect_ratio, double Volt, double Vth0, 
double Tkelvin, double tox0)
These two above functions are the main functions that calculate the 
leakage of one P and N transistor.
Depending on the circuit one can call these to calculate the leakage 
of one cell of a structure.
Here there are five main parameters that a user can vary to model 
different scenarios.
*Aspect Ratio.
*Voltage.
*Threshold Voltage.
*Temperature.
*Toxide Thickness.

2). Leakinit.c
This module initializes all the technology parameters for different 
technologies.
If the user wants to calculate the leakage of a different structure 
he or she will have to do the circuit simulations as mentioned in the 
README__HotLeakage_Model.doc and then feed the parameters in this module.


3). Power.c and powerinit.c and power.h
Power.c is mainly the same. Power.h has been broken for ease of usage 
into powerinit.c and power.h
Cacti libraries (in cacti subdirectory):
This is the Cacti distribution.  It is used in power.c to perform
automatic delay-optimial cache partitioning.  Some of the low-level
routines to compute gate/diffusion capacitance of transistors are also
shared. Leakage.c also uses it for for the leakage calculation of caches.

4). Cache.c  
This is modified to model different cache leakage saving mechanisms.
If you use none then you should not be concerned about it.

5). Cache_leak_ctrl.c and cache_leak_ctrl.h
Again these files are for the different cache leakage saving mechanisms. 


Please see the TODO list for the things to be added in the final release.
Please send your comments and any bugs to: 
Email: hotspot@virginia.edu
We are continually trying to improve it to release it in its final form.



About

HotLeakage is a software model of leakage based on BSIM3 technology data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published