configs: Fix inheritance of HMCSystem and cleanup spacing
Minor fix to ensure the HMCSystem can actually be instantiated (SimObject cannot be created). Also address some spacing issues.
This commit is contained in:
parent
64ca31976f
commit
c965ca96cc
1 changed files with 13 additions and 14 deletions
|
@ -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,12 +166,12 @@ 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,
|
||||
|
|
Loading…
Reference in a new issue