From 3b98741605b9c7e0fdb98ef92b60d3ae5bcb0953 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89der=20F=2E=20Zulian?= Date: Mon, 18 Feb 2019 11:07:08 +0100 Subject: [PATCH] Doc improved --- README.md | 73 +++++++++++++++++++++++++++++++++++-------------- utils/getqwt.sh | 10 +++---- 2 files changed, 57 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index b4b8e49e..10183c27 100644 --- a/README.md +++ b/README.md @@ -28,10 +28,9 @@ $ git config --global color.ui auto ``` Now clone the repository into a local folder on your computer. -Replace the occurrences of the word **user** with your own user name. ```bash -$ git clone --recursive https://user@git.eit.uni-kl.de:ems/astdm/dram.sys.git +$ git clone --recursive https://git.eit.uni-kl.de/ems/astdm/dram.sys.git ``` The *--recursive* flag tells git to initialize all submodules within the @@ -43,7 +42,7 @@ Now you can implement, test, commit and push features into a **branch**. When you consider your work stable enough to be merged into the master branch it is time to open a **merge request** using the web interface. -Your changes will be reviewed and finally integrated to the master branch. +Your changes will be reviewed and finally integrated into the master branch. After cloning go to the project directory. @@ -53,26 +52,34 @@ $ cd dram.sys ### Dependencies -Make sure you have properly installed in your system the required libraries -and programs. +Make sure you have properly installed all the required libraries and +tools in your system. - **General dependencies** -You can use [utils/install_deb.sh](./utils/install_deb.sh) in order to install dependencies. First -read and understand the script then execute it. Type your password if -required. +You may want to have a look on the convenience scripts that are located in the +[utils](./utils) folder. ```bash -$ bash install_deb.sh +$ cd utils +$ ls ``` -- **SystemC 2.3.1 and TLM 2.0** - -You can use [utils/getsysc.sh](./utils/getsysc.sh) to download and install SystemC 2.3.1 -and TLM 2.0. First read and understand the script then execute it. +You can use [utils/install_deb.sh](./utils/install_deb.sh) in order to install +dependencies. First read and understand the script, then execute it. Type your +password if required. ```bash -$ bash getsysc.sh +$ ./install_deb.sh +``` + +- **SystemC 2.3.1a and TLM-2.0** + +You can use [utils/getsysc.sh](./utils/getsysc.sh) to download and install SystemC 2.3.1a +and TLM-2.0. First read and understand the script then execute it. + +```bash +$ ./getsysc.sh ``` Alternatively, the sources can be downloaded from @@ -85,9 +92,24 @@ You can use [utils/getqwt.sh](./utils/getqwt.sh) in order to install qwt-6.1. Fi and understand the script then execute it. ```bash -$ bash getqwt.sh +$ ./getqwt.sh $ cd ~/qwt-6.1 -$ sudo make install +``` + +After that add environment variables to your ~/.bashrc. + +```bash +export LIBQWT_HOME=${HOME}/qwt-6.1/lib +export LIBQWT_HEADERS=${HOME}/qwt-6.1/src +export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${LIBQWT_HOME} +``` + +Remember to verify that the library and header files are located in paths you +specify. You can use the **ls** command to accomplish that. + +```bash +$ ls ${HOME}/qwt-6.1/lib +$ ls ${HOME}/qwt-6.1/src ``` Further information about Qwt can be found [here](http://qwt.sourceforge.net/). @@ -104,17 +126,17 @@ environment variables accordingly**. # SystemC home and target architecture export SYSTEMC_HOME=$HOME/systemc-2.3.1a export SYSTEMC_TARGET_ARCH=linux64 +export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${SYSTEMC_HOME}/lib-$SYSTEMC_TARGET_ARCH # DRAMSys libraries and headers export LIBPYTHON_VERSION="3.5m" export PYTHON_HOME=/usr/lib/python3.5 export PYTHON_HEADERS=/usr/include/python3.5m -export LIBQWT_HOME=/usr/local/qwt-6.1.4-svn/lib -export LIBQWT_HEADERS=/usr/local/qwt-6.1.4-svn/include +export LIBQWT_HOME=${HOME}/qwt-6.1/lib +export LIBQWT_HEADERS=${HOME}/qwt-6.1/src +export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${LIBQWT_HOME} -export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}$LIBQWT_HOME -export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${SYSTEMC_HOME}/lib-$SYSTEMC_TARGET_ARCH ``` ### Coding Style @@ -1828,7 +1850,6 @@ libraries. export SYSTEMC_HOME=$HOME/systemc-2.3.1a # SystemC target architecture export SYSTEMC_TARGET_ARCH=linux64 -export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${SYSTEMC_HOME}/lib-linux64 # Qwt lib export LIBQWT_HOME=$HOME/qwt-6.1/lib @@ -1862,6 +1883,16 @@ using nodes of the Elwetritsch cluster. Of course, one can create his/her own job scripts. +### Coverage Check + +Coverage check is enabled by default and can be disabled with an environment +variable. + +```bash +export DRAMSYS_DISABLE_COVERAGE_CHECK=1 +``` + + ## References [1] TLM Modelling of 3D Stacked Wide I/O DRAM Subsystems, A Virtual Platform for Memory Controller Design Space Exploration diff --git a/utils/getqwt.sh b/utils/getqwt.sh index d197a1da..7b78ff71 100755 --- a/utils/getqwt.sh +++ b/utils/getqwt.sh @@ -35,11 +35,11 @@ dest=$HOME/qwt-6.1 svn checkout svn://svn.code.sf.net/p/qwt/code/branches/qwt-6.1 $dest cd $dest +if [[ $(hostname -s) =~ ^head[0-9]+$ ]] || [[ $(hostname -s) =~ ^node[0-9]+$ ]]; then + # Elwetritsch cluster - heads or nodes + module load qt/5.5 +else qmake qwt.pro svn up -r 2481 make - -# Add env. variables to ~/.bashrc -echo "export LIBQWT_HOME=/usr/local/qwt-6.1.4-svn/lib" >> ~/.bashrc -echo "export LIBQWT_HEADERS=/usr/local/qwt-6.1.4-svn/include" >> ~/.bashrc -echo "Now go to $dest and execute \"sudo make install\"." +echo "Done."