rubytest-ruby.py (7526:4bb5f5207617) | rubytest-ruby.py (7570:417ef5d444bd) |
---|---|
1# Copyright (c) 2006-2007 The Regents of The University of Michigan 2# Copyright (c) 2009 Advanced Micro Devices, Inc. 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions are 7# met: redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer; --- 29 unchanged lines hidden (view full) --- 38 panic("This script requires system-emulation mode (*_SE).") 39 40# Get paths we might need. It's expected this file is in m5/configs/example. 41config_path = os.path.dirname(os.path.abspath(__file__)) 42config_root = os.path.dirname(config_path) 43m5_root = os.path.dirname(config_root) 44addToPath(config_root+'/configs/common') 45addToPath(config_root+'/configs/ruby') | 1# Copyright (c) 2006-2007 The Regents of The University of Michigan 2# Copyright (c) 2009 Advanced Micro Devices, Inc. 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions are 7# met: redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer; --- 29 unchanged lines hidden (view full) --- 38 panic("This script requires system-emulation mode (*_SE).") 39 40# Get paths we might need. It's expected this file is in m5/configs/example. 41config_path = os.path.dirname(os.path.abspath(__file__)) 42config_root = os.path.dirname(config_path) 43m5_root = os.path.dirname(config_root) 44addToPath(config_root+'/configs/common') 45addToPath(config_root+'/configs/ruby') |
46addToPath(config_root+'/configs/ruby/protocols') 47addToPath(config_root+'/configs/ruby/topologies') | |
48 49import Ruby 50 51parser = optparse.OptionParser() 52 53# | 46 47import Ruby 48 49parser = optparse.OptionParser() 50 51# |
54# Set the default cache size and associativity to be very small to encourage 55# races between requests and writebacks. | 52# Add the ruby specific and protocol specific options |
56# | 53# |
57parser.add_option("--l1d_size", type="string", default="256B") 58parser.add_option("--l1i_size", type="string", default="256B") 59parser.add_option("--l2_size", type="string", default="512B") 60parser.add_option("--l1d_assoc", type="int", default=2) 61parser.add_option("--l1i_assoc", type="int", default=2) 62parser.add_option("--l2_assoc", type="int", default=2) | 54Ruby.define_options(parser) |
63 64execfile(os.path.join(config_root, "configs/common", "Options.py")) 65 66(options, args) = parser.parse_args() 67 68# | 55 56execfile(os.path.join(config_root, "configs/common", "Options.py")) 57 58(options, args) = parser.parse_args() 59 60# |
61# Set the default cache size and associativity to be very small to encourage 62# races between requests and writebacks. 63# 64options.l1d_size="256B" 65options.l1i_size="256B" 66options.l2_size="512B" 67options.l3_size="1kB" 68options.l1d_assoc=2 69options.l1i_assoc=2 70options.l2_assoc=2 71options.l3_assoc=2 72 73# |
|
69# create the tester and system, including ruby 70# 71tester = RubyTester(checks_to_complete = 100, wakeup_frequency = 10) 72 73system = System(tester = tester, physmem = PhysicalMemory()) 74 | 74# create the tester and system, including ruby 75# 76tester = RubyTester(checks_to_complete = 100, wakeup_frequency = 10) 77 78system = System(tester = tester, physmem = PhysicalMemory()) 79 |
75system.ruby = Ruby.create_system(options, system.physmem) | 80system.ruby = Ruby.create_system(options, system) |
76 77assert(options.num_cpus == len(system.ruby.cpu_ruby_ports)) 78 79# 80# The tester is most effective when randomization is turned on and 81# artifical delay is randomly inserted on messages 82# 83system.ruby.randomization = True --- 22 unchanged lines hidden --- | 81 82assert(options.num_cpus == len(system.ruby.cpu_ruby_ports)) 83 84# 85# The tester is most effective when randomization is turned on and 86# artifical delay is randomly inserted on messages 87# 88system.ruby.randomization = True --- 22 unchanged lines hidden --- |