Skip to content

Commit 369a90e

Browse files
committed
merge changes
2 parents f28267a + b5c9010 commit 369a90e

File tree

4 files changed

+63
-10
lines changed

4 files changed

+63
-10
lines changed

LICENSE.txt

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
Copyright (c) 2022, Technische Universität Kaiserslautern, Fraunhofer IESE
2+
All rights reserved.
3+
4+
This software is released under the BSD 3-Clause License.
5+
By using this software, the user implicitly agrees to the licensing terms.
6+
7+
Redistribution and use in source and binary forms, with or without
8+
modification, are permitted provided that the following conditions are
9+
met:
10+
11+
1. Redistributions of source code must retain the above copyright notice,
12+
this list of conditions and the following disclaimer.
13+
14+
2. Redistributions in binary form must reproduce the above copyright
15+
notice, this list of conditions and the following disclaimer in the
16+
documentation and/or other materials provided with the distribution.
17+
18+
3. Neither the name of the copyright holder nor the names of its
19+
contributors may be used to endorse or promote products derived from
20+
this software without specific prior written permission.
21+
22+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
24+
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
25+
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER
26+
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
28+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
29+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
30+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
31+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

README.md

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,22 @@
1+
<img src="docs/images/logo_drampower_5_0.png" alt="DRAMPower 5.0" width="350" style="float: left;"/>
2+
13
# DRAM Power Model (DRAMPower 5.0)
2-
## 0. Releases
4+
5+
- [Releases](#releases)
6+
- [Installation](#installation)
7+
- [Project structure](#project-structure)
8+
- [Dependencies](#dependencies)
9+
- [Memory Specifications](#memory-specifications)
10+
- [Variation-aware Power And Energy Estimation](#variation-aware-power-and-energy-estimation)
11+
- [Authors & Acknowledgment](#authors--acknowledgment)
12+
- [Contact Information](#contact-information)
13+
14+
## Releases
315
The last official release can be found here: https://github.com/ravenrd/DRAMPower/releases/tag/5.0
416

517
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.
618

7-
## 1. Installation
19+
## Installation
820
CMake is required for the building of DRAMPower.
921
Clone the repository, or download the zip file of the release you would like to use and use CMake to generate the build files, e.g.
1022

@@ -18,22 +30,32 @@ make -j4 DRAMPower
1830
Optionally, test cases can be built by toggling the DRAMPOWER_BUILD_TESTS flag with CMake.
1931
The command line tool can be built by setting the DRAMPOWER_BUILD_CLI flag.
2032

21-
## 2. Project structure
33+
## Project structure
2234
The project is structured in a library part and an (optional) Command Line application.
2335
The library can be built using the CMake target DRAMPower.
2436
Integration of DRAMPower in other projects can be easily achieved by including it as a git submodule or by using the CMake FetchContent directive.
2537

26-
## 3. Dependencies
38+
This repository contains the following sub-directoires
39+
40+
DRAMPower # top directory
41+
└── cmake # cmake scripts used by configuration step
42+
├── lib # contains bundled dependencies of the project
43+
├── src # top level directory containing the actual sources
44+
├── DRAMPower # source code of the actual DRAMPower library
45+
└── cli # the optional Command Line tool
46+
└── tests # test cases used by the project
47+
48+
## Dependencies
2749
DRAMPower comes bundled with all necessary libraries and no installation of further system packages is required.
2850

2951

30-
## 6. Memory Specifications
52+
## Memory Specifications
3153

3254
36 sample memory specifications are given in the XMLs targeting DDR2/DDR3/DDR4, LPDDR/LPDDR2/LPDDR3 and WIDE IO DRAM devices. The memory specifications are based on 1Gb DDR2, 1Gb & 2Gb DDR3, 2Gb LPDDR/LPDDR2 and 4Gb DDR4/LPDDR3 Micron datasheets and the 256Mb Wide IO SDR specifications are based on JEDEC timing specifications and circuit-level IDD measurements by TU Kaiserslautern, inplace of the as yet unavailable vendor datasheets. 4 of the memory specifications target dual-rank DDR3 DIMMs.
3355

3456
Note: The timing specifications in the XMLs are in clock cycles (cc). The current specifications for Reading and Writing do not include the I/O consumption. They are computed and included seperately based on Micron Power Calculator. The IDD measures associated with different power supply sources of equal measure (VDD2, VDDCA and VDDQ) for LPDDR2, LPDDR3, DDR4 and WIDE IO memories have been added up together for simplicity, since it does not impact power computation accuracy. The current measures for dual-rank DIMMs reflect only the measures for the active rank. The default state of the idle rank is assumed to be the same as the complete memory state, for background power estimation. Accordingly, in all dual-rank memory specifications, IDD2P0 has been subtracted from the active currents and all background currents have been halved. They are also accounted for seperately by the power model. Stacking multiple Wide IO DRAM dies can also be captured by the nbrOfRanks parameter.
3557

36-
## 7. Variation-aware Power And Energy Estimation
58+
## Variation-aware Power And Energy Estimation
3759

3860
15 of the included datasheets reflect the impact of process-variations on DRAM currents for a selection of DDR3 memories manufactured at 50nm process technology. These memories include:
3961
(1) MICRON_128MB_DDR3-1066_8bit - revision G
@@ -50,7 +72,7 @@ Monte-Carlo analysis performed on our SPICE-based DRAM cross-section.
5072

5173
To include these XMLs in your simulations, simply use them as the target memory.
5274

53-
## 10. Authors & Acknowledgment
75+
## Authors & Acknowledgment
5476

5577
The tool is based on the DRAM power model developed jointly by the Computer Engineering Research Group at TU Delft and the Electronic Systems Group at TU Eindhoven
5678
and verified by the Microelectronic System Design Research Group at TU Kaiserslautern with equivalent circuit-level simulations. This tool has been developed by
@@ -85,7 +107,7 @@ Karthik Chandrasekar, Christian Weis, Benny Akesson, Norbert Wehn, and Kees Goos
85107
In Proc. Design Automation Conference (DAC), 2013
86108
```
87109

88-
## 11. Contact Information
110+
## Contact Information
89111

90112
Further questions about the tool and the power model can be directed to:
91113

docs/images/logo_drampower_5_0.png

55.2 KB
Loading

src/DRAMPower/DRAMPower/command/Pattern.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#include <DRAMPower/command/Command.h>
55

66
#include <bitset>
7-
#include <assert.h>
7+
#include <cassert>
88

99
namespace DRAMPower {
1010
namespace pattern_descriptor {
@@ -168,7 +168,6 @@ class PatternEncoder // Currently LPDDR4
168168
bitset[n] = row_bits[8];
169169
break;
170170
default:
171-
assert(("Invalid pattern descriptor received (this should not happen)", false));
172171
break;
173172
}
174173

0 commit comments

Comments
 (0)