DRAMCtrl.py (12516:483fc7339fb1) DRAMCtrl.py (12706:456304051464)
1# Copyright (c) 2012-2016 ARM Limited
1# Copyright (c) 2012-2018 ARM Limited
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license
9# terms below provided that you ensure that this notice is replicated

--- 30 unchanged lines hidden (view full) ---

40#
41# Authors: Andreas Hansson
42# Ani Udipi
43# Omar Naji
44# Matthias Jung
45# Erfan Azarkhish
46
47from m5.params import *
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license
9# terms below provided that you ensure that this notice is replicated

--- 30 unchanged lines hidden (view full) ---

40#
41# Authors: Andreas Hansson
42# Ani Udipi
43# Omar Naji
44# Matthias Jung
45# Erfan Azarkhish
46
47from m5.params import *
48from m5.proxy import *
48from AbstractMemory import *
49
50# Enum for memory scheduling algorithms, currently First-Come
51# First-Served and a First-Row Hit then First-Come First-Served
52class MemSched(Enum): vals = ['fcfs', 'frfcfs']
53
54# Enum for the address mapping. With Ch, Ra, Ba, Ro and Co denoting
55# channel, rank, bank, row and column, respectively, and going from

--- 122 unchanged lines hidden (view full) ---

178 tBURST = Param.Latency("Burst duration (for DDR burst length / 2 cycles)")
179
180 # CAS-to-CAS delay for bursts to the same bank group
181 # only utilized with bank group architectures; set to 0 for default case
182 # tBURST is equivalent to tCCD_S; no explicit parameter required
183 # for CAS-to-CAS delay for bursts to different bank groups
184 tCCD_L = Param.Latency("0ns", "Same bank group CAS to CAS delay")
185
49from AbstractMemory import *
50
51# Enum for memory scheduling algorithms, currently First-Come
52# First-Served and a First-Row Hit then First-Come First-Served
53class MemSched(Enum): vals = ['fcfs', 'frfcfs']
54
55# Enum for the address mapping. With Ch, Ra, Ba, Ro and Co denoting
56# channel, rank, bank, row and column, respectively, and going from

--- 122 unchanged lines hidden (view full) ---

179 tBURST = Param.Latency("Burst duration (for DDR burst length / 2 cycles)")
180
181 # CAS-to-CAS delay for bursts to the same bank group
182 # only utilized with bank group architectures; set to 0 for default case
183 # tBURST is equivalent to tCCD_S; no explicit parameter required
184 # for CAS-to-CAS delay for bursts to different bank groups
185 tCCD_L = Param.Latency("0ns", "Same bank group CAS to CAS delay")
186
187 # Write-to-Write delay for bursts to the same bank group
188 # only utilized with bank group architectures; set to 0 for default case
189 # This will be used to enable different same bank group delays
190 # for writes versus reads
191 tCCD_L_WR = Param.Latency(Self.tCCD_L,
192 "Same bank group Write to Write delay")
193
186 # time taken to complete one refresh cycle (N rows in all banks)
187 tRFC = Param.Latency("Refresh cycle time")
188
189 # refresh command interval, how often a "ref" command needs
190 # to be sent. It is 7.8 us for a 64ms refresh requirement
191 tREFI = Param.Latency("Refresh command interval")
192
193 # write-to-read, same rank turnaround penalty

--- 995 unchanged lines hidden ---
194 # time taken to complete one refresh cycle (N rows in all banks)
195 tRFC = Param.Latency("Refresh cycle time")
196
197 # refresh command interval, how often a "ref" command needs
198 # to be sent. It is 7.8 us for a 64ms refresh requirement
199 tREFI = Param.Latency("Refresh command interval")
200
201 # write-to-read, same rank turnaround penalty

--- 995 unchanged lines hidden ---