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