diff --git a/README.md b/README.md index 813fbd43..217d2ef4 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ de.uni-kl.ems.dram.vp.system ============================ -Generic DRAM controller simulator **DRAMSys** [1] and related tools. +**DRAMSys** [1] is a flexible DRAM subsystem design space exploration +framework that consists of models reflecting the DRAM functionality, power +consumption, temperature behaviour and retention time errors. ## Basic Setup @@ -57,6 +59,90 @@ $ git merge upstream/master $ git push origin HEAD ``` +### Dependencies + +Make sure you have properly installed in your system the required libraries. +They are: + +- SystemC 2.3.1 and TLM 2.0 + + The sources can be downloaded from http://accellera.org/downloads/standards/systemc. + + For installation instructions see the installation notes file contained in + the release package. + +- qwt-6.1.3 + + ```bash + $ svn checkout svn://svn.code.sf.net/p/qwt/code/branches/qwt-6.1 + $ cd qwt-6.1 + $ qmake qwt.pro + $ make + $ sudo make install + ``` + + For further information refer to http://qwt.sourceforge.net/ + +- python3.4 + + In Debian like distros: + + ```bash + $ sudo apt-get install python3.4 + ``` + +- libboost_filesystem and libboost_system + + In Debian like distros: + + ```bash + $ sudo apt-get install libboost-all-dev + ``` + +- Others + + Some basic libraries may be already installed in your system. If not you can + install the following packages or equivalent ones for your distro. In Debian + like distros: + + ```bash + $ sudo apt-get install libc6 + $ sudo apt-get install libstdc++6 + $ sudo apt-get install sqlite3 + $ sudo apt-get install libsqlite3-dev + $ sudo apt-get install libqt5gui5 + $ sudo apt-get install libqt5sql5 + $ sudo apt-get install libqt5widgets5 + $ sudo apt-get install libqt5core5a + ``` + +To grant flexibility to the user the paths where to find some essential +libraries and headers can be specified with environment variables. You can add +such variables to you ~/.bashrc file or equivalent. + +```bash +# SystemC home and target architecture +export SYSTEMC_HOME= +export SYSTEMC_TARGET_ARCH=<[linux,linux64]> + +# DRAMSys libraries and headers +export PYTHON_HOME= +export PYTHON_HEADERS= +export LIBQWT_HOME= +export LIBQWT_HEADERS= +export LIBBOOST_HOME= +export LIBBOOST_HEADERS= +``` + +Users interested in thermal simulation can also add some extra environment +variables: + +```bash +# Necessary for thermal simulation +export LIBTHREED_ICE_HOME= +export LIBSUPERLU_HOME= +``` + ### Buiding with QTCreator Execute the *QTCreator*.