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