configs: Add special case in MemConfig
authorJason Lowe-Power <jason@lowepower.com>
Wed, 16 Sep 2020 00:59:51 +0000 (17:59 -0700)
committerJason Lowe-Power <power.jg@gmail.com>
Wed, 16 Sep 2020 21:07:19 +0000 (21:07 +0000)
SimpleMemory doesn't implement a full MemCtrl interface. Thus, like the
NVM and HMC memories, we need to add a special case to MemConfig.py. The
--mem-type command line option now works for SimpleMemory and all of the
DRAM interfaces (it does not work for the NVM interfaces, though).

Issue-on: https://gem5.atlassian.net/browse/GEM5-777

Change-Id: I6d60649215be324bdd2a104b1976752f936c960e
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34595
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
configs/common/MemConfig.py

index 941b381d43d68faac305f0c77610187cf8f57830..8221f85f001e530ad5c0b0453a75a3ac7e18b643 100644 (file)
@@ -227,11 +227,15 @@ def config_mem(options, system):
                     mem_ctrl = m5.objects.MemCtrl(min_writes_per_switch = 8,
                                              static_backend_latency = '4ns',
                                              static_frontend_latency = '4ns')
+                elif opt_mem_type == "SimpleMemory":
+                    mem_ctrl = m5.objects.SimpleMemory()
                 else:
                     mem_ctrl = m5.objects.MemCtrl()
 
                 # Hookup the controller to the interface and add to the list
-                mem_ctrl.dram = dram_intf
+                if opt_mem_type != "SimpleMemory":
+                    mem_ctrl.dram = dram_intf
+
                 mem_ctrls.append(mem_ctrl)
 
             elif opt_nvm_type and (not opt_mem_type or range_iter % 2 == 0):