xref: /XiangShan/scripts/top-down/configs.py (revision f24210142010f7e7a701ca25e9fc1aa15595843e)
1effccb7dSTang Haojinstats_dir = ''
2effccb7dSTang Haojin
3effccb7dSTang HaojinCSV_PATH = 'results/results.csv'
4effccb7dSTang HaojinJSON_FILE = 'resources/spec06_rv64gcb_o2_20m.json'
5effccb7dSTang HaojinOUT_CSV = 'results/results-weighted.csv'
6effccb7dSTang HaojinINT_ONLY = False
7effccb7dSTang HaojinFP_ONLY = False
8effccb7dSTang Haojin
9effccb7dSTang Haojinxs_coarse_rename_map = {
10effccb7dSTang Haojin    'OverrideBubble': 'MergeFrontend',
11effccb7dSTang Haojin    'FtqFullStall': 'MergeFrontend',
12effccb7dSTang Haojin    'FtqUpdateBubble': 'MergeBadSpec',
13effccb7dSTang Haojin    'TAGEMissBubble': 'MergeBadSpec',
14effccb7dSTang Haojin    'SCMissBubble': 'MergeBadSpec',
15effccb7dSTang Haojin    'ITTAGEMissBubble': 'MergeBadSpec',
16effccb7dSTang Haojin    'RASMissBubble': 'MergeBadSpec',
17effccb7dSTang Haojin    'ICacheMissBubble': 'MergeFrontend',
18effccb7dSTang Haojin    'ITLBMissBubble': 'MergeFrontend',
19effccb7dSTang Haojin    'BTBMissBubble': 'MergeBadSpec',
20effccb7dSTang Haojin    'FetchFragBubble': 'MergeFrontend',
21effccb7dSTang Haojin
22effccb7dSTang Haojin    'DivStall': 'MergeCore',
23effccb7dSTang Haojin    'IntNotReadyStall': 'MergeCore',
24effccb7dSTang Haojin    'FPNotReadyStall': 'MergeCore',
25effccb7dSTang Haojin
26effccb7dSTang Haojin    'MemNotReadyStall': 'MergeLoad',
27effccb7dSTang Haojin
28effccb7dSTang Haojin    'IntFlStall': 'MergeFreelistStall',
29effccb7dSTang Haojin    'FpFlStall': 'MergeFreelistStall',
30effccb7dSTang Haojin
31effccb7dSTang Haojin    'LoadTLBStall': 'MergeLoad',
32effccb7dSTang Haojin    'LoadL1Stall': 'MergeLoad',
33effccb7dSTang Haojin    'LoadL2Stall': 'MergeLoad',
34effccb7dSTang Haojin    'LoadL3Stall': 'MergeLoad',
35effccb7dSTang Haojin    'LoadMemStall': 'MergeLoad',
36effccb7dSTang Haojin    'StoreStall': 'MergeStore',
37effccb7dSTang Haojin
38effccb7dSTang Haojin    'AtomicStall': 'MergeMisc',
39effccb7dSTang Haojin
40effccb7dSTang Haojin    'FlushedInsts': 'MergeBadSpecInst',
41effccb7dSTang Haojin    'LoadVioReplayStall': 'MergeBadSpec',
42effccb7dSTang Haojin
43effccb7dSTang Haojin    'LoadMSHRReplayStall': 'MergeLoad',
44effccb7dSTang Haojin
45effccb7dSTang Haojin    'ControlRecoveryStall': 'MergeBadSpec',
46effccb7dSTang Haojin    'MemVioRecoveryStall': 'MergeBadSpec',
47effccb7dSTang Haojin    'OtherRecoveryStall': 'MergeBadSpec',
48effccb7dSTang Haojin
49effccb7dSTang Haojin    'OtherCoreStall': 'MergeCoreOther',
50effccb7dSTang Haojin    'NoStall': 'MergeBase',
51effccb7dSTang Haojin
52effccb7dSTang Haojin    'MemVioRedirectBubble': 'MergeBadSpec',
53effccb7dSTang Haojin    'OtherRedirectBubble': 'MergeMisc',
54effccb7dSTang Haojin
55effccb7dSTang Haojin    'commitInstr': 'Insts',
56effccb7dSTang Haojin    'total_cycles': 'Cycles',
57effccb7dSTang Haojin}
58effccb7dSTang Haojin
59effccb7dSTang Haojinxs_fine_grain_rename_map = {
60effccb7dSTang Haojin    'OverrideBubble': 'MergeOtherFrontend',
61effccb7dSTang Haojin    'FtqFullStall': 'MergeOtherFrontend',
62effccb7dSTang Haojin    'FtqUpdateBubble': 'MergeBadSpecBubble',
63effccb7dSTang Haojin    'TAGEMissBubble': 'MergeBadSpecBubble',
64effccb7dSTang Haojin    'SCMissBubble': 'MergeBadSpecBubble',
65effccb7dSTang Haojin    'ITTAGEMissBubble': 'MergeBadSpecBubble',
66effccb7dSTang Haojin    'RASMissBubble': 'MergeBadSpecBubble',
67effccb7dSTang Haojin    'ICacheMissBubble': 'ICacheBubble',
68effccb7dSTang Haojin    'ITLBMissBubble': 'ITlbBubble',
69effccb7dSTang Haojin    'BTBMissBubble': 'MergeBadSpecBubble',
70effccb7dSTang Haojin    'FetchFragBubble': 'FragmentBubble',
71effccb7dSTang Haojin
72effccb7dSTang Haojin    'DivStall': 'LongExecute',
73effccb7dSTang Haojin    'IntNotReadyStall': 'MergeInstNotReady',
74effccb7dSTang Haojin    'FPNotReadyStall': 'MergeInstNotReady',
75effccb7dSTang Haojin
76effccb7dSTang Haojin    'MemNotReadyStall': 'MemNotReady',
77effccb7dSTang Haojin
78effccb7dSTang Haojin    'IntFlStall': 'MergeFreelistStall',
79effccb7dSTang Haojin    'FpFlStall': 'MergeFreelistStall',
80effccb7dSTang Haojin
81effccb7dSTang Haojin    'LoadTLBStall': 'DTlbStall',
82effccb7dSTang Haojin    'LoadL1Stall': 'LoadL1Bound',
83effccb7dSTang Haojin    'LoadL2Stall': 'LoadL2Bound',
84effccb7dSTang Haojin    'LoadL3Stall': 'LoadL3Bound',
85effccb7dSTang Haojin    'LoadMemStall': 'LoadMemBound',
86effccb7dSTang Haojin    'StoreStall': 'MergeStoreBound',
87effccb7dSTang Haojin
88effccb7dSTang Haojin    'AtomicStall': 'SerializeStall',
89effccb7dSTang Haojin
90effccb7dSTang Haojin    'FlushedInsts': 'BadSpecInst',
91effccb7dSTang Haojin    'LoadVioReplayStall': None,
92effccb7dSTang Haojin
93effccb7dSTang Haojin    'LoadMSHRReplayStall': None,
94effccb7dSTang Haojin
95effccb7dSTang Haojin    'ControlRecoveryStall': 'MergeBadSpecWalking',
96effccb7dSTang Haojin    'MemVioRecoveryStall': 'MergeBadSpecWalking',
97effccb7dSTang Haojin    'OtherRecoveryStall': 'MergeBadSpecWalking',
98effccb7dSTang Haojin
99effccb7dSTang Haojin    'OtherCoreStall': 'MergeMisc',
100effccb7dSTang Haojin    'NoStall': None,
101effccb7dSTang Haojin
102effccb7dSTang Haojin    'MemVioRedirectBubble': 'MergeBadSpecBubble',
103effccb7dSTang Haojin    'OtherRedirectBubble': 'MergeMisc',
104effccb7dSTang Haojin
105effccb7dSTang Haojin    'commitInstr': 'Insts',
106effccb7dSTang Haojin    'total_cycles': 'Cycles',
107effccb7dSTang Haojin}
108effccb7dSTang Haojin
109*f2421014SYanqin LiXS_CORE_PREFIX = r'\[PERF \]\[time=\s+\d+\] SimTop\.l_soc\.core_with_l2\.core'
110effccb7dSTang Haojin
111effccb7dSTang Haojintargets = {
112*f2421014SYanqin Li    'NoStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: NoStall,\s+(\d+)',
113effccb7dSTang Haojin
114*f2421014SYanqin Li    'OverrideBubble': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: OverrideBubble,\s+(\d+)',
115*f2421014SYanqin Li    'FtqUpdateBubble': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: FtqUpdateBubble,\s+(\d+)',
116*f2421014SYanqin Li    'TAGEMissBubble': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: TAGEMissBubble,\s+(\d+)',
117*f2421014SYanqin Li    'SCMissBubble': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: SCMissBubble,\s+(\d+)',
118*f2421014SYanqin Li    'ITTAGEMissBubble': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: ITTAGEMissBubble,\s+(\d+)',
119*f2421014SYanqin Li    'RASMissBubble': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: RASMissBubble,\s+(\d+)',
120*f2421014SYanqin Li    'MemVioRedirectBubble': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: MemVioRedirectBubble,\s+(\d+)',
121*f2421014SYanqin Li    'OtherRedirectBubble': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: OtherRedirectBubble,\s+(\d+)',
122*f2421014SYanqin Li    'FtqFullStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: FtqFullStall,\s+(\d+)',
123effccb7dSTang Haojin
124*f2421014SYanqin Li    'ICacheMissBubble': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: ICacheMissBubble,\s+(\d+)',
125*f2421014SYanqin Li    'ITLBMissBubble': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: ITLBMissBubble,\s+(\d+)',
126*f2421014SYanqin Li    'BTBMissBubble': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: BTBMissBubble,\s+(\d+)',
127*f2421014SYanqin Li    'FetchFragBubble': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: FetchFragBubble,\s+(\d+)',
128effccb7dSTang Haojin
129*f2421014SYanqin Li    'DivStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: DivStall,\s+(\d+)',
130*f2421014SYanqin Li    'IntNotReadyStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: IntNotReadyStall,\s+(\d+)',
131*f2421014SYanqin Li    'FPNotReadyStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: FPNotReadyStall,\s+(\d+)',
132*f2421014SYanqin Li    'MemNotReadyStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: MemNotReadyStall,\s+(\d+)',
133effccb7dSTang Haojin
134*f2421014SYanqin Li    'IntFlStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: IntFlStall,\s+(\d+)',
135*f2421014SYanqin Li    'FpFlStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: FpFlStall,\s+(\d+)',
136effccb7dSTang Haojin
137*f2421014SYanqin Li    'LoadTLBStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: LoadTLBStall,\s+(\d+)',
138*f2421014SYanqin Li    'LoadL1Stall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: LoadL1Stall,\s+(\d+)',
139*f2421014SYanqin Li    'LoadL2Stall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: LoadL2Stall,\s+(\d+)',
140*f2421014SYanqin Li    'LoadL3Stall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: LoadL3Stall,\s+(\d+)',
141*f2421014SYanqin Li    'LoadMemStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: LoadMemStall,\s+(\d+)',
142*f2421014SYanqin Li    'StoreStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: StoreStall,\s+(\d+)',
143*f2421014SYanqin Li    'AtomicStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: AtomicStall,\s+(\d+)',
144effccb7dSTang Haojin
145*f2421014SYanqin Li    'LoadVioReplayStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: LoadVioReplayStall,\s+(\d+)',
146*f2421014SYanqin Li    'LoadMSHRReplayStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: LoadMSHRReplayStall,\s+(\d+)',
147effccb7dSTang Haojin
148*f2421014SYanqin Li    'ControlRecoveryStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: ControlRecoveryStall,\s+(\d+)',
149*f2421014SYanqin Li    'MemVioRecoveryStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: MemVioRecoveryStall,\s+(\d+)',
150*f2421014SYanqin Li    'OtherRecoveryStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: OtherRecoveryStall,\s+(\d+)',
151effccb7dSTang Haojin
152*f2421014SYanqin Li    'FlushedInsts': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: FlushedInsts,\s+(\d+)',
153*f2421014SYanqin Li    'OtherCoreStall': fr'{XS_CORE_PREFIX}.backend.inner\.ctrlBlock\.dispatch: OtherCoreStall,\s+(\d+)',
154effccb7dSTang Haojin
155*f2421014SYanqin Li    "commitInstr": r"\[PERF \]\[time=\s+\d+\] SimTop.l_soc.core_with_l2.core.backend.inner\.ctrlBlock.rob: commitInstr,\s+(\d+)",
156*f2421014SYanqin Li    "total_cycles": r"\[PERF \]\[time=\s+\d+\] SimTop.l_soc.core_with_l2.core.backend.inner\.ctrlBlock.rob: clock_cycle,\s+(\d+)",
157effccb7dSTang Haojin}
158effccb7dSTang Haojin
159effccb7dSTang Haojin
160effccb7dSTang Haojinspec_bmks = {
161effccb7dSTang Haojin    '06': {
162effccb7dSTang Haojin        'int': [
163effccb7dSTang Haojin            'perlbench',
164effccb7dSTang Haojin            'bzip2',
165effccb7dSTang Haojin            'gcc',
166effccb7dSTang Haojin            'mcf',
167effccb7dSTang Haojin            'gobmk',
168effccb7dSTang Haojin            'hmmer',
169effccb7dSTang Haojin            'sjeng',
170effccb7dSTang Haojin            'libquantum',
171effccb7dSTang Haojin            'h264ref',
172effccb7dSTang Haojin            'omnetpp',
173effccb7dSTang Haojin            'astar',
174effccb7dSTang Haojin            'xalancbmk',
175effccb7dSTang Haojin        ],
176effccb7dSTang Haojin        'float': [
177effccb7dSTang Haojin            'bwaves', 'gamess', 'milc', 'zeusmp', 'gromacs',
178effccb7dSTang Haojin            'cactusADM', 'leslie3d', 'namd', 'dealII', 'soplex',
179effccb7dSTang Haojin            'povray', 'calculix', 'GemsFDTD', 'tonto', 'lbm',
180effccb7dSTang Haojin            'wrf', 'sphinx3',
181effccb7dSTang Haojin        ],
182effccb7dSTang Haojin        'high_squash': ['astar', 'bzip2', 'gobmk', 'sjeng'],
183effccb7dSTang Haojin    },
184effccb7dSTang Haojin    '17': {},
185effccb7dSTang Haojin}
186