metavar="NLOADS",
help="Progress message interval "
"[default: %default]")
+parser.add_option("--sys-clock", action="store", type="string",
+ default='1GHz',
+ help = """Top-level clock for blocks running at system
+ speed""")
(options, args) = parser.parse_args()
sys.exit(1)
# define prototype L1 cache
-proto_l1 = BaseCache(size = '32kB', assoc = 4, block_size = block_size,
- hit_latency = '1ns', response_latency = '1ns',
+proto_l1 = BaseCache(size = '32kB', assoc = 4,
+ hit_latency = 1, response_latency = 1,
tgts_per_mshr = 8)
if options.blocking:
prev = prototypes[0]
next = prev()
next.size = prev.size * scale
- next.latency = prev.latency * 10
+ next.hit_latency = prev.hit_latency * 10
+ next.response_latency = prev.response_latency * 10
next.assoc = prev.assoc * scale
next.mshrs = prev.mshrs * scale
prototypes.insert(0, next)
# system simulated
system = System(funcmem = SimpleMemory(in_addr_map = False),
- funcbus = NoncoherentBus(),
- physmem = SimpleMemory(latency = "100ns"))
-system.clock = options.sys_clock
+ funcbus = NoncoherentXBar(),
+ physmem = SimpleMemory(latency = "100ns"),
+ cache_line_size = block_size)
+
+
+system.voltage_domain = VoltageDomain(voltage = '1V')
+
+system.clk_domain = SrcClockDomain(clock = options.sys_clock,
+ voltage_domain = system.voltage_domain)
def make_level(spec, prototypes, attach_obj, attach_port):
fanout = spec[0]
parent = attach_obj # use attach obj as config parent too
if len(spec) > 1 and (fanout > 1 or options.force_bus):
port = getattr(attach_obj, attach_port)
- new_bus = CoherentBus(clock="500MHz", width=16)
+ new_bus = CoherentXBar(width=16)
if (port.role == 'MASTER'):
new_bus.slave = port
attach_port = "master"