MOESI_CMP_token.py (7551:b10ee98aea91) MOESI_CMP_token.py (7561:02a9a597fce4)
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;

--- 37 unchanged lines hidden (view full) ---

46
47def define_options(parser):
48 parser.add_option("--l1-retries", type="int", default=1,
49 help="Token_CMP: # of l1 retries before going persistent")
50 parser.add_option("--timeout-latency", type="int", default=300,
51 help="Token_CMP: cycles until issuing again");
52 parser.add_option("--disable-dyn-timeouts", action="store_true",
53 help="Token_CMP: disable dyanimc timeouts, use fixed latency instead")
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;

--- 37 unchanged lines hidden (view full) ---

46
47def define_options(parser):
48 parser.add_option("--l1-retries", type="int", default=1,
49 help="Token_CMP: # of l1 retries before going persistent")
50 parser.add_option("--timeout-latency", type="int", default=300,
51 help="Token_CMP: cycles until issuing again");
52 parser.add_option("--disable-dyn-timeouts", action="store_true",
53 help="Token_CMP: disable dyanimc timeouts, use fixed latency instead")
54
54 parser.add_option("--allow-atomic-migration", action="store_true",
55 help="allow migratory sharing for atomic only accessed blocks")
56
55def create_system(options, system, piobus, dma_devices):
56
57 if buildEnv['PROTOCOL'] != 'MOESI_CMP_token':
58 panic("This script requires the MOESI_CMP_token protocol to be built.")
59
60 #
61 # number of tokens that the owner passes to requests so that shared blocks can
62 # respond to read requests

--- 43 unchanged lines hidden (view full) ---

106 math.log(options.num_l2caches,
107 2),
108 N_tokens = n_tokens,
109 retry_threshold = \
110 options.l1_retries,
111 fixed_timeout_latency = \
112 options.timeout_latency,
113 dynamic_timeout_enabled = \
57def create_system(options, system, piobus, dma_devices):
58
59 if buildEnv['PROTOCOL'] != 'MOESI_CMP_token':
60 panic("This script requires the MOESI_CMP_token protocol to be built.")
61
62 #
63 # number of tokens that the owner passes to requests so that shared blocks can
64 # respond to read requests

--- 43 unchanged lines hidden (view full) ---

108 math.log(options.num_l2caches,
109 2),
110 N_tokens = n_tokens,
111 retry_threshold = \
112 options.l1_retries,
113 fixed_timeout_latency = \
114 options.timeout_latency,
115 dynamic_timeout_enabled = \
114 not options.disable_dyn_timeouts)
116 not options.disable_dyn_timeouts,
117 no_mig_atomic = not \
118 options.allow_atomic_migration)
115
116 exec("system.l1_cntrl%d = l1_cntrl" % i)
117 #
118 # Add controllers and sequencers to the appropriate lists
119 #
120 cpu_sequencers.append(cpu_seq)
121 l1_cntrl_nodes.append(l1_cntrl)
122

--- 66 unchanged lines hidden ---
119
120 exec("system.l1_cntrl%d = l1_cntrl" % i)
121 #
122 # Add controllers and sequencers to the appropriate lists
123 #
124 cpu_sequencers.append(cpu_seq)
125 l1_cntrl_nodes.append(l1_cntrl)
126

--- 66 unchanged lines hidden ---