File tree Expand file tree Collapse file tree 1 file changed +10
-6
lines changed Expand file tree Collapse file tree 1 file changed +10
-6
lines changed Original file line number Diff line number Diff line change @@ -169,19 +169,23 @@ def parse_vivado_report(hls_dir):
169
169
if os .path .isfile (vivado_syn_file ):
170
170
vivado_synth_rpt = {}
171
171
with open (vivado_syn_file ) as f :
172
+ section = 0
172
173
for line in f .readlines ():
174
+ match = re .match (r'^(\d)\.' , line )
175
+ if match :
176
+ section = int (match .group (1 ))
173
177
# Sometimes, phrases such as 'CLB Registers' can show up in the non-tabular sections of the report
174
178
if '|' in line :
175
- if 'CLB LUTs' in line :
179
+ if 'CLB LUTs' in line and section == 1 :
176
180
vivado_synth_rpt ['LUT' ] = line .split ('|' )[2 ].strip ()
177
- elif 'CLB Registers' in line :
181
+ elif 'CLB Registers' in line and section == 1 :
178
182
vivado_synth_rpt ['FF' ] = line .split ('|' )[2 ].strip ()
179
- elif 'RAMB18 ' in line :
183
+ elif 'Block RAM Tile ' in line and section == 2 :
180
184
vivado_synth_rpt ['BRAM_18K' ] = line .split ('|' )[2 ].strip ()
181
- elif 'DSPs' in line :
182
- vivado_synth_rpt ['DSP48E' ] = line .split ('|' )[2 ].strip ()
183
- elif 'URAM' in line :
185
+ elif 'URAM' in line and section == 2 :
184
186
vivado_synth_rpt ['URAM' ] = line .split ('|' )[2 ].strip ()
187
+ elif 'DSPs' in line and section == 3 :
188
+ vivado_synth_rpt ['DSP48E' ] = line .split ('|' )[2 ].strip ()
185
189
report ['VivadoSynthReport' ] = vivado_synth_rpt
186
190
else :
187
191
print ('Vivado synthesis report not found.' )
You can’t perform that action at this time.
0 commit comments