diff options
-rw-r--r-- | configs/ruby/MOESI_hammer.py | 9 | ||||
-rw-r--r-- | configs/ruby/Ruby.py | 5 |
2 files changed, 12 insertions, 2 deletions
diff --git a/configs/ruby/MOESI_hammer.py b/configs/ruby/MOESI_hammer.py index dba31b8b7..62d86a1e2 100644 --- a/configs/ruby/MOESI_hammer.py +++ b/configs/ruby/MOESI_hammer.py @@ -96,6 +96,9 @@ def create_system(options, phys_mem, piobus, dma_devices): cpu_sequencers.append(cpu_seq) l1_cntrl_nodes.append(l1_cntrl) + phys_mem_size = long(phys_mem.range.second) - long(phys_mem.range.first) + 1 + mem_module_size = phys_mem_size / options.num_dirs + for i in xrange(options.num_dirs): # # Create the Ruby objects associated with the directory controller @@ -103,9 +106,13 @@ def create_system(options, phys_mem, piobus, dma_devices): mem_cntrl = RubyMemoryControl(version = i) + dir_size = MemorySize('0B') + dir_size.value = mem_module_size + dir_cntrl = Directory_Controller(version = i, directory = \ - RubyDirectoryMemory(version = i), + RubyDirectoryMemory(version = i, + size = dir_size), memBuffer = mem_cntrl) dir_cntrl_nodes.append(dir_cntrl) diff --git a/configs/ruby/Ruby.py b/configs/ruby/Ruby.py index 7003e6266..735adda27 100644 --- a/configs/ruby/Ruby.py +++ b/configs/ruby/Ruby.py @@ -55,11 +55,14 @@ def create_system(options, physmem, piobus = None, dma_devices = []): network = SimpleNetwork(topology = makeCrossbar(all_cntrls)) # - # determine the total memory size of the ruby system + # determine the total memory size of the ruby system and verify it is equal + # to physmem # total_mem_size = MemorySize('0B') for dir_cntrl in dir_cntrls: total_mem_size.value += dir_cntrl.directory.size.value + physmem_size = long(physmem.range.second) - long(physmem.range.first) + 1 + assert(total_mem_size.value == physmem_size) ruby_profiler = RubyProfiler(num_of_sequencers = len(cpu_sequencers)) |