DRAMCtrl.py (12706:456304051464) DRAMCtrl.py (12969:52de9d619ce6)
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

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

42# Ani Udipi
43# Omar Naji
44# Matthias Jung
45# Erfan Azarkhish
46
47from m5.params import *
48from m5.proxy import *
49from AbstractMemory import *
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

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

42# Ani Udipi
43# Omar Naji
44# Matthias Jung
45# Erfan Azarkhish
46
47from m5.params import *
48from m5.proxy import *
49from AbstractMemory import *
50from QoSMemCtrl 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
57# MSB to LSB. Available are RoRaBaChCo and RoRaBaCoCh, that are

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

64# close_adaptive.
65class PageManage(Enum): vals = ['open', 'open_adaptive', 'close',
66 'close_adaptive']
67
68# DRAMCtrl is a single-channel single-ported DRAM controller model
69# that aims to model the most important system-level performance
70# effects of a DRAM without getting into too much detail of the DRAM
71# itself.
51
52# Enum for memory scheduling algorithms, currently First-Come
53# First-Served and a First-Row Hit then First-Come First-Served
54class MemSched(Enum): vals = ['fcfs', 'frfcfs']
55
56# Enum for the address mapping. With Ch, Ra, Ba, Ro and Co denoting
57# channel, rank, bank, row and column, respectively, and going from
58# MSB to LSB. Available are RoRaBaChCo and RoRaBaCoCh, that are

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

65# close_adaptive.
66class PageManage(Enum): vals = ['open', 'open_adaptive', 'close',
67 'close_adaptive']
68
69# DRAMCtrl is a single-channel single-ported DRAM controller model
70# that aims to model the most important system-level performance
71# effects of a DRAM without getting into too much detail of the DRAM
72# itself.
72class DRAMCtrl(AbstractMemory):
73class DRAMCtrl(QoSMemCtrl):
73 type = 'DRAMCtrl'
74 cxx_header = "mem/dram_ctrl.hh"
75
76 # single-ported on the system interface side, instantiate with a
77 # bus in front of the controller for multiple ports
78 port = SlavePort("Slave port")
79
80 # the basic configuration of the controller architecture, note

--- 1116 unchanged lines hidden ---
74 type = 'DRAMCtrl'
75 cxx_header = "mem/dram_ctrl.hh"
76
77 # single-ported on the system interface side, instantiate with a
78 # bus in front of the controller for multiple ports
79 port = SlavePort("Slave port")
80
81 # the basic configuration of the controller architecture, note

--- 1116 unchanged lines hidden ---