Merge branch 'develop' into contact_info
# Conflicts: # README.md
This commit is contained in:
42
README.md
42
README.md
@@ -58,21 +58,26 @@ To use DRAMSys, first clone the repository.
|
||||
|
||||
### Dependencies
|
||||
|
||||
DRAMSys requires a **C++17** compiler. The build process is based on **CMake** (minimum version **3.24**). Furthermore, the simulator is based on **SystemC**. SystemC is included with FetchContent and will be build automatically with the project. If you want to use a preinstalled SystemC version, export the environment variable `SYSTEMC_HOME` (SystemC installation directory). Also make sure that the SystemC library was built with the same C++ version.
|
||||
DRAMSys requires a **C++17** compiler. The build process is based on **CMake** (minimum version **3.24**). Furthermore, the simulator is based on **SystemC**. SystemC is included with FetchContent and will be build automatically with the project. If you want to use a preinstalled SystemC version, export the environment variable `SYSTEMC_HOME` (SystemC installation directory) and set the CMake option `DRAMSYS_USE_EXTERNAL_SYSTEMC`. Also make sure that the SystemC library was built with the same C++ version.
|
||||
|
||||
### Building DRAMSys
|
||||
|
||||
To build the standalone simulator for running memory trace files or traffic generators, create a build folder in the project root directory, then run CMake and make:
|
||||
To build the standalone simulator for running memory trace files or traffic generators, first configure the project using CMake, then build the project:
|
||||
|
||||
```bash
|
||||
```console
|
||||
$ cd DRAMSys
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake ..
|
||||
$ make
|
||||
$ cmake -S . -B build
|
||||
$ cmake --build build
|
||||
```
|
||||
|
||||
To include **DRAMPower** in your build enable the CMake option `DRAMSYS_WITH_DRAMPOWER`. If you plan to integrate DRAMSys into your own SystemC TLM-2.0 project you can build only the DRAMSys library by disabling the CMake option `DRAMSYS_BUILD_CLI`.
|
||||
To include **DRAMPower** in your build enable the CMake option `DRAMSYS_WITH_DRAMPOWER`:
|
||||
```console
|
||||
$ cmake -B build -D DRAMSYS_WITH_DRAMPOWER=Y
|
||||
```
|
||||
|
||||
If you plan to integrate DRAMSys into your own SystemC TLM-2.0 project you can build only the DRAMSys library by disabling the CMake option `DRAMSYS_BUILD_CLI`.
|
||||
|
||||
In order to include any proprietary extensions such as the Trace Analyzer, enable the CMake option `DRAMSYS_ENABLE_EXTENSIONS`.
|
||||
|
||||
To build DRAMSys on Windows 10 we recommend to use the **Windows Subsystem for Linux (WSL)**.
|
||||
|
||||
@@ -80,7 +85,7 @@ To build DRAMSys on Windows 10 we recommend to use the **Windows Subsystem for L
|
||||
|
||||
From the build directory use the commands below to execute the DRAMSys standalone.
|
||||
|
||||
```bash
|
||||
```console
|
||||
$ cd bin
|
||||
$ ./DRAMSys
|
||||
```
|
||||
@@ -89,35 +94,42 @@ The default configuration file is *ddr4-example.json* located in *configs/*, the
|
||||
|
||||
To run DRAMSys with a specific configuration file:
|
||||
|
||||
```bash
|
||||
```console
|
||||
$ ./DRAMSys ../../configs/lpddr4-example.json
|
||||
```
|
||||
|
||||
To run DRAMSys with a specific configuration file and configuration folder:
|
||||
|
||||
```bash
|
||||
```console
|
||||
$ ./DRAMSys ../../tests/tests_regression/DDR3/ddr3-example.json ../../tests/tests_regression/DDR3/
|
||||
```
|
||||
|
||||
More information on the configuration can be found [here](configs/README.md).
|
||||
|
||||
## gem5 Coupling
|
||||
|
||||
There are two ways to couple DRAMSys with **gem5**:
|
||||
- Use the official integration of DRAMSys in gem5. More information can be found in `ext/dramsys` of the gem5 repository.
|
||||
- (Deprecated) Compile gem5 as a shared library and link it with DRAMSys, which is only supported in older versions of DRAMSys (tag v4.0).
|
||||
|
||||
## Development
|
||||
|
||||
Some additional development sources required for tests may be obtained using Git LFS.
|
||||
Make sure to have Git LFS installed through your system's package manager and set up for your user:
|
||||
```bash
|
||||
git lfs install
|
||||
```console
|
||||
$ git lfs install
|
||||
```
|
||||
|
||||
To make the additional files available, run:
|
||||
```bash
|
||||
git lfs pull
|
||||
```console
|
||||
$ git lfs pull
|
||||
```
|
||||
|
||||
## Third-party libraries
|
||||
|
||||
This application uses several third-party libraries.
|
||||
For detailed license information, please refer to the [NOTICE](NOTICE) file.
|
||||
|
||||
## Contact Information
|
||||
|
||||
Further questions about the simulator and the Trace Analyzer can be directed to:
|
||||
|
||||
Reference in New Issue
Block a user