@@ -272,7 +272,7 @@ def get_name(obj):
272272 self .dump_mode == 'input' or
273273 self .dump_mode == 'inout' or
274274 (self .dump_mode == 'selective' and
275- hasattr (input_var , 'dump' ) and input_var .dump )):
275+ hasattr (input_var , 'dump' ) and input_var .dump )):
276276 continue
277277
278278 name = get_name (input_var .sig_data )
@@ -285,7 +285,7 @@ def get_name(obj):
285285 if not (self .dump_mode == 'all' or
286286 self .dump_mode == 'stream' or
287287 (self .dump_mode == 'selective' and
288- hasattr (var , 'dump' ) and var .dump )):
288+ hasattr (var , 'dump' ) and var .dump )):
289289 continue
290290
291291 name = get_name (var .sig_data )
@@ -298,7 +298,7 @@ def get_name(obj):
298298 self .dump_mode == 'output' or
299299 self .dump_mode == 'inout' or
300300 (self .dump_mode == 'selective' and
301- hasattr (output_var , 'dump' ) and output_var .dump )):
301+ hasattr (output_var , 'dump' ) and output_var .dump )):
302302 continue
303303
304304 name = get_name (output_var .output_sig_data )
@@ -317,8 +317,10 @@ def get_name(obj):
317317
318318 base = (var .dump_base if hasattr (var , 'dump_base' ) else
319319 self .dump_base )
320- length = int (math .ceil (bit_length / math .log (base , 2 )))
321- longest_var_len = max (longest_var_len , length )
320+ total_length = int (math .ceil (bit_length / math .log (base , 2 )))
321+ point_length = int (math .ceil (var .point / math .log (base , 2 )))
322+ point_length = max (point_length , 8 )
323+ longest_var_len = max (longest_var_len , total_length , point_length )
322324
323325 for input_var in sorted (input_vars , key = lambda x : x .object_id ):
324326
@@ -334,7 +336,13 @@ def get_name(obj):
334336 ' ' if base == 10 else
335337 '0x' )
336338
337- fmt_list = [prefix , '%' , '%d' % (longest_var_len + 1 ), base_char ]
339+ if base_char == 'f' :
340+ point_length = int (math .ceil (input_var .point / math .log (base , 2 )))
341+ point_length = max (point_length , 8 )
342+ fmt_list = [prefix , '%' ,
343+ '%d.%d' % (longest_var_len + 1 , point_length ), base_char ]
344+ else :
345+ fmt_list = [prefix , '%' , '%d' % (longest_var_len + 1 ), base_char ]
338346
339347 if input_var not in all_vars :
340348 fmt_list .append (' (unused)' )
@@ -355,7 +363,13 @@ def get_name(obj):
355363 ' ' if base == 10 else
356364 '0x' )
357365
358- fmt_list = [prefix , '%' , '%d' % (longest_var_len + 1 ), base_char ]
366+ if base_char == 'f' :
367+ point_length = int (math .ceil (output_var .point / math .log (base , 2 )))
368+ point_length = max (point_length , 8 )
369+ fmt_list = [prefix , '%' ,
370+ '%d.%d' % (longest_var_len + 1 , point_length ), base_char ]
371+ else :
372+ fmt_list = [prefix , '%' , '%d' % (longest_var_len + 1 ), base_char ]
359373
360374 if output_var not in all_vars :
361375 fmt_list .append (' (unused)' )
@@ -378,7 +392,14 @@ def get_name(obj):
378392 ' ' if base == 10 else
379393 '0x' )
380394
381- fmt_list = [prefix , '%' , '%d' % (longest_var_len + 1 ), base_char ]
395+ if base_char == 'f' :
396+ point_length = int (math .ceil (var .point / math .log (base , 2 )))
397+ point_length = max (point_length , 8 )
398+ fmt_list = [prefix , '%' ,
399+ '%d.%d' % (longest_var_len + 1 , point_length ), base_char ]
400+ else :
401+ fmt_list = [prefix , '%' , '%d' % (longest_var_len + 1 ), base_char ]
402+
382403 var .dump_fmt = '' .join (fmt_list )
383404
384405 enables = []
@@ -388,7 +409,7 @@ def get_name(obj):
388409 self .dump_mode == 'input' or
389410 self .dump_mode == 'inout' or
390411 (self .dump_mode == 'selective' and
391- hasattr (input_var , 'dump' ) and input_var .dump )):
412+ hasattr (input_var , 'dump' ) and input_var .dump )):
392413 continue
393414
394415 vfmt = input_var .dump_fmt
@@ -422,7 +443,7 @@ def get_name(obj):
422443 if not (self .dump_mode == 'all' or
423444 self .dump_mode == 'stream' or
424445 (self .dump_mode == 'selective' and
425- hasattr (var , 'dump' ) and var .dump )):
446+ hasattr (var , 'dump' ) and var .dump )):
426447 continue
427448
428449 vfmt = var .dump_fmt
@@ -455,7 +476,7 @@ def get_name(obj):
455476 self .dump_mode == 'output' or
456477 self .dump_mode == 'inout' or
457478 (self .dump_mode == 'selective' and
458- hasattr (output_var , 'dump' ) and output_var .dump )):
479+ hasattr (output_var , 'dump' ) and output_var .dump )):
459480 continue
460481
461482 vfmt = output_var .dump_fmt
0 commit comments