BaseCPU.py revision 1366
12SN/Asimobj BaseCPU(SimObject): 211856Sbrandon.potter@amd.com type = 'BaseCPU' 31762SN/A abstract = True 42SN/A icache = Param.BaseMem(NULL, "L1 instruction cache object") 52SN/A dcache = Param.BaseMem(NULL, "L1 data cache object") 62SN/A 72SN/A dtb = Param.AlphaDTB("Data TLB") 82SN/A itb = Param.AlphaITB("Instruction TLB") 92SN/A mem = Param.FunctionalMemory("memory") 102SN/A system = Param.BaseSystem(Super, "system object") 112SN/A workload = VectorParam.Process("processes to run") 122SN/A 132SN/A max_insts_all_threads = Param.Counter(0, 142SN/A "terminate when all threads have reached this inst count") 152SN/A max_insts_any_thread = Param.Counter(0, 162SN/A "terminate when any thread reaches this inst count") 172SN/A max_loads_all_threads = Param.Counter(0, 182SN/A "terminate when all threads have reached this load count") 192SN/A max_loads_any_thread = Param.Counter(0, 202SN/A "terminate when any thread reaches this load count") 212SN/A 222SN/A defer_registration = Param.Bool(false, 232SN/A "defer registration with system (for sampling)") 242SN/A 252SN/A def check(self): 262SN/A has_workload = self._hasvalue('workload') 272SN/A has_dtb = self._hasvalue('dtb') 282665Ssaidi@eecs.umich.edu has_itb = self._hasvalue('itb') 292665Ssaidi@eecs.umich.edu has_mem = self._hasvalue('mem') 302665Ssaidi@eecs.umich.edu has_system = self._hasvalue('system') 3111856Sbrandon.potter@amd.com 322SN/A if has_workload: 332SN/A self.dtb.disable = True 34360SN/A self.itb.disable = True 35360SN/A self.mem.disable = True 362SN/A self.system.disable = True 3711854Sbrandon.potter@amd.com 3811854Sbrandon.potter@amd.com if has_dtb or has_itb or has_mem or has_system: 3911800Sbrandon.potter@amd.com self.workload.disable = True 404117Sgblack@eecs.umich.edu