-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial ReadMe for v1.0
- Loading branch information
Showing
1 changed file
with
72 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,72 @@ | ||
# DRAMUtils | ||
Utility repository for DRAMSys and DRAMPower | ||
<img src="https://media.githubusercontent.com/media/tukl-msd/DRAMSys/master/docs/images/dramsys_logo.png" width="350" style="float: left;" alt="DRAMSys Logo"/> | ||
|
||
|
||
|
||
# DRAM Utils (DRAMUtils v1.0) | ||
|
||
- [Overview](#overview) | ||
- [Releases](#releases) | ||
- [Usage](#usage) | ||
- [Project structure](#project-structure) | ||
- [Dependencies](#dependencies) | ||
- [Contact Information](#contact-information) | ||
|
||
## Overview | ||
DRAMUtils is a small helper library containing classes for DRAM memory specifications (MemSpecs), which is used by [DRAMSys](https://github.com/tukl-msd/DRAMSys) and [DRAMPower](https://github.com/tukl-msd/DRAMPower). | ||
|
||
## Releases | ||
The last official release can be found here: https://github.com/tukl-msd/DRAMUtils/releases | ||
|
||
The master branch of the repository should be regarded as the bleeding-edge version, which has all the latest features, but also all the latest bugs. Use at your own discretion. | ||
|
||
## Usage | ||
DRAMUtils is a header-only library which can be included as-is, or inside a CMake project by being added through add_subdirectory(). | ||
The project is also [FetchContent](https://cmake.org/cmake/help/latest/module/FetchContent.html) ready and can be easily included in any other CMake based project. | ||
|
||
```cmake | ||
include(FetchContent) | ||
FetchContent_Declare( | ||
dramutils | ||
GIT_REPOSITORY https://github.com/tukl-msd/DRAMUtils | ||
GIT_TAG v1.0) | ||
FetchContent_MakeAvailable(dramutils) | ||
``` | ||
|
||
The library DRAMUtils::DRAMUtils is then available as a target to the rest of the project and can be consumed by any other target, e.g. | ||
```cmake | ||
add_executable(dram_app ${SOURCE_FILES}) | ||
target_link_libraries(dram_app PRIVATE DRAMUtils::DRAMUtils) | ||
``` | ||
Optionally, test cases can be built by toggling the DRAMUTILS_BUILD_TESTS flag with CMake. | ||
|
||
## Project structure | ||
The project is structured in a library part and an (optional) Command Line application. | ||
The library can be built using the CMake target DRAMPower. | ||
Integration of DRAMPower in other projects can be easily achieved by including it as a git submodule or by using the CMake FetchContent directive. | ||
|
||
This repository contains the following sub-directoires | ||
|
||
DRAMUtils # top directory | ||
└── cmake # cmake scripts used by configuration step | ||
├── lib # contains bundled dependencies of the project | ||
├── include # top level directory containing the actual sources | ||
└── DRAMUtils # source code of the actual DRAMPower library | ||
└── tests # test cases used by the project | ||
|
||
## Dependencies | ||
DRAMUtils comes bundled with all necessary libraries (nlohmann_json) and no installation of further system packages is required. | ||
|
||
## Contact Information | ||
|
||
Further questions about the library or the tools based on DRAMUtils can be directed at: | ||
|
||
Matthias Jung ([email protected]) | ||
|
||
Feel free to ask for updates to the tool's features and please do report any bugs | ||
and errors you encounter. This will encourage us to continuously improve the tool. | ||
|
||
## Disclaimer | ||
The user DOES NOT get ANY WARRANTIES when using this library. This software is released under the | ||
BSD 3-Clause License. By using this software, the user implicitly agrees to the | ||
licensing terms. |