summaryrefslogtreecommitdiff
path: root/src/mem/SimpleDRAM.py
diff options
context:
space:
mode:
authorAni Udipi <ani.udipi@arm.com>2013-01-31 07:49:14 -0500
committerAni Udipi <ani.udipi@arm.com>2013-01-31 07:49:14 -0500
commiteaa37e611f07a41d97a078bf2588bfe745d83751 (patch)
treea3f8db3defdc6c3af0e7a0670fb9e7d7139d3f00 /src/mem/SimpleDRAM.py
parentb7153e2a64bdb88cebe96e59b24d5597a3a42205 (diff)
downloadgem5-eaa37e611f07a41d97a078bf2588bfe745d83751.tar.xz
mem: Add tTAW and tFAW to the SimpleDRAM model
This patch adds two additional scheduling constraints to the DRAM controller model, to constrain the activation rate. The two metrics are determine the size of the activation window in terms of the number of activates and the minimum time required for that number of activates. This maps to current DDRx, LPDDRx and WIOx standards that have either tFAW (4 activate window) or tTAW (2 activate window) scheduling constraints.
Diffstat (limited to 'src/mem/SimpleDRAM.py')
-rw-r--r--src/mem/SimpleDRAM.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/mem/SimpleDRAM.py b/src/mem/SimpleDRAM.py
index 3211f576a..83eaac611 100644
--- a/src/mem/SimpleDRAM.py
+++ b/src/mem/SimpleDRAM.py
@@ -112,7 +112,12 @@ class SimpleDRAM(AbstractMemory):
# write-to-read turn around penalty, assumed same as read-to-write
tWTR = Param.Latency("1ns", "Write to read switching time")
- # Currently unimplemented, unused, deduced or rolled into other params
+ # time window in which a maximum number of activates are allowed
+ # to take place, set to 0 to disable
+ tXAW = Param.Latency("0ns", "X activation window")
+ activation_limit = Param.Unsigned(4, "Max number of activates in window")
+
+ # Currently rolled into other params
######################################################################
# the minimum amount of time between a row being activated, and
@@ -122,10 +127,3 @@ class SimpleDRAM(AbstractMemory):
# tRC - assumed to be 4 * tRP
# burst length for an access derived from peerBlockSize
-
- # @todo: Implement tFAW in the model
- # minimum time window in which a maximum of four activates are
- # allowed to take place
- # tFAW = Param.Latency("30ns", "Four activation window")
-
-