Doc improved
This commit is contained in:
73
README.md
73
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
|
||||
|
||||
@@ -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."
|
||||
|
||||
Reference in New Issue
Block a user