mem: different HMC configuration
In this new hmc configuration we have used the existing components in gem5 mainly [SerialLink] [NoncoherentXbar]& [DRAMCtrl] to define 3 different architecture for HMC. Highlights 1- It explores 3 different HMC architectures 2- It creates 4-HMC crossbars and attaches 16 vault controllers with it. This will connect vaults to serial links 3- From the previous version, HMCController with round robin funtionality is being removed and all the serial links are being accessible directly from user ports 4- Latency incorporated by HMCController (in previous version) is being added to SerialLink Committed by Jason Lowe-Power <jason@lowepower.com>
This commit is contained in:
@@ -153,9 +153,10 @@ def config_mem(options, system):
|
||||
"""
|
||||
|
||||
if ( options.mem_type == "HMC_2500_x32"):
|
||||
HMC.config_hmc(options, system)
|
||||
subsystem = system.hmc
|
||||
xbar = system.hmc.xbar
|
||||
HMChost = HMC.config_host_hmc(options, system)
|
||||
HMC.config_hmc(options, system, HMChost.hmc_host)
|
||||
subsystem = system.hmc_dev
|
||||
xbar = system.hmc_dev.xbar
|
||||
else:
|
||||
subsystem = system
|
||||
xbar = system.membus
|
||||
@@ -222,4 +223,7 @@ def config_mem(options, system):
|
||||
|
||||
# Connect the controllers to the membus
|
||||
for i in xrange(len(subsystem.mem_ctrls)):
|
||||
subsystem.mem_ctrls[i].port = xbar.master
|
||||
if (options.mem_type == "HMC_2500_x32"):
|
||||
subsystem.mem_ctrls[i].port = xbar[i/4].master
|
||||
else:
|
||||
subsystem.mem_ctrls[i].port = xbar.master
|
||||
|
||||
Reference in New Issue
Block a user