summaryrefslogtreecommitdiff
path: root/configs/common/HMC.py
diff options
context:
space:
mode:
Diffstat (limited to 'configs/common/HMC.py')
-rw-r--r--configs/common/HMC.py27
1 files changed, 13 insertions, 14 deletions
diff --git a/configs/common/HMC.py b/configs/common/HMC.py
index 23c3416cd..130729f88 100644
--- a/configs/common/HMC.py
+++ b/configs/common/HMC.py
@@ -84,11 +84,10 @@ import m5
from m5.objects import *
# A single Hybrid Memory Cube (HMC)
-class HMCSystem(SimObject):
-
+class HMCSystem(SubSystem):
#*****************************CROSSBAR PARAMETERS*************************
# Flit size of the main interconnect [1]
- xbar_width = Param.Unsigned( 32, "Data width of the main XBar (Bytes)")
+ xbar_width = Param.Unsigned(32, "Data width of the main XBar (Bytes)")
# Clock frequency of the main interconnect [1]
# This crossbar, is placed on the logic-based of the HMC and it has its
@@ -114,12 +113,12 @@ class HMCSystem(SimObject):
# Number of packets (not flits) to store at the request side of the serial
# link. This number should be adjusted to achive required bandwidth
- link_buffer_size_req = Param.Unsigned( 16, "Number of packets to buffer "
+ link_buffer_size_req = Param.Unsigned(16, "Number of packets to buffer "
"at the request side of the serial link")
# Number of packets (not flits) to store at the response side of the serial
# link. This number should be adjusted to achive required bandwidth
- link_buffer_size_rsp = Param.Unsigned( 16, "Number of packets to buffer "
+ link_buffer_size_rsp = Param.Unsigned(16, "Number of packets to buffer "
"at the response side of the serial link")
# Latency of the serial link composed by SER/DES latency (1.6ns [4]) plus
@@ -136,20 +135,20 @@ class HMCSystem(SimObject):
"links")
# Number of parallel lanes in each serial link [1]
- num_lanes_per_link = Param.Unsigned( 16, "Number of lanes per each link")
+ num_lanes_per_link = Param.Unsigned(16, "Number of lanes per each link")
# Number of serial links [1]
- num_serial_links = Param.Unsigned( 4, "Number of serial links")
+ num_serial_links = Param.Unsigned(4, "Number of serial links")
#*****************************HMC CONTROLLER PARAMETERS*******************
# Number of packets (not flits) to store at the HMC controller. This
# number should be high enough to be able to hide the high latency of HMC
- ctrl_buffer_size_req = Param.Unsigned( 256, "Number of packets to buffer "
+ ctrl_buffer_size_req = Param.Unsigned(256, "Number of packets to buffer "
"at the HMC controller (request side)")
# Number of packets (not flits) to store at the response side of the HMC
# controller.
- ctrl_buffer_size_rsp = Param.Unsigned( 256, "Number of packets to buffer "
+ ctrl_buffer_size_rsp = Param.Unsigned(256, "Number of packets to buffer "
"at the HMC controller (response side)")
# Latency of the HMC controller to process the packets
@@ -167,17 +166,17 @@ class HMCSystem(SimObject):
"HMC Controller")
# The link performance monitors
- enable_link_monitor = Param.Bool(True, "The link monitors" )
+ enable_link_monitor = Param.Bool(True, "The link monitors")
# Create an HMC device and attach it to the current system
def config_hmc(options, system):
- system.hmc=HMCSystem()
+ system.hmc = HMCSystem()
system.buffer = Bridge(ranges=system.mem_ranges,
- req_size=system.hmc.ctrl_buffer_size_req,
- resp_size=system.hmc.ctrl_buffer_size_rsp,
- delay=system.hmc.ctrl_static_latency)
+ req_size=system.hmc.ctrl_buffer_size_req,
+ resp_size=system.hmc.ctrl_buffer_size_rsp,
+ delay=system.hmc.ctrl_static_latency)
try:
system.hmc.enable_global_monitor = options.enable_global_monitor
except: