@@ -272,7 +272,7 @@ def get_name(obj):
272
272
self .dump_mode == 'input' or
273
273
self .dump_mode == 'inout' or
274
274
(self .dump_mode == 'selective' and
275
- hasattr (input_var , 'dump' ) and input_var .dump )):
275
+ hasattr (input_var , 'dump' ) and input_var .dump )):
276
276
continue
277
277
278
278
name = get_name (input_var .sig_data )
@@ -285,7 +285,7 @@ def get_name(obj):
285
285
if not (self .dump_mode == 'all' or
286
286
self .dump_mode == 'stream' or
287
287
(self .dump_mode == 'selective' and
288
- hasattr (var , 'dump' ) and var .dump )):
288
+ hasattr (var , 'dump' ) and var .dump )):
289
289
continue
290
290
291
291
name = get_name (var .sig_data )
@@ -298,7 +298,7 @@ def get_name(obj):
298
298
self .dump_mode == 'output' or
299
299
self .dump_mode == 'inout' or
300
300
(self .dump_mode == 'selective' and
301
- hasattr (output_var , 'dump' ) and output_var .dump )):
301
+ hasattr (output_var , 'dump' ) and output_var .dump )):
302
302
continue
303
303
304
304
name = get_name (output_var .output_sig_data )
@@ -317,8 +317,10 @@ def get_name(obj):
317
317
318
318
base = (var .dump_base if hasattr (var , 'dump_base' ) else
319
319
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 )
322
324
323
325
for input_var in sorted (input_vars , key = lambda x : x .object_id ):
324
326
@@ -334,7 +336,13 @@ def get_name(obj):
334
336
' ' if base == 10 else
335
337
'0x' )
336
338
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 ]
338
346
339
347
if input_var not in all_vars :
340
348
fmt_list .append (' (unused)' )
@@ -355,7 +363,13 @@ def get_name(obj):
355
363
' ' if base == 10 else
356
364
'0x' )
357
365
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 ]
359
373
360
374
if output_var not in all_vars :
361
375
fmt_list .append (' (unused)' )
@@ -378,7 +392,14 @@ def get_name(obj):
378
392
' ' if base == 10 else
379
393
'0x' )
380
394
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
+
382
403
var .dump_fmt = '' .join (fmt_list )
383
404
384
405
enables = []
@@ -388,7 +409,7 @@ def get_name(obj):
388
409
self .dump_mode == 'input' or
389
410
self .dump_mode == 'inout' or
390
411
(self .dump_mode == 'selective' and
391
- hasattr (input_var , 'dump' ) and input_var .dump )):
412
+ hasattr (input_var , 'dump' ) and input_var .dump )):
392
413
continue
393
414
394
415
vfmt = input_var .dump_fmt
@@ -422,7 +443,7 @@ def get_name(obj):
422
443
if not (self .dump_mode == 'all' or
423
444
self .dump_mode == 'stream' or
424
445
(self .dump_mode == 'selective' and
425
- hasattr (var , 'dump' ) and var .dump )):
446
+ hasattr (var , 'dump' ) and var .dump )):
426
447
continue
427
448
428
449
vfmt = var .dump_fmt
@@ -455,7 +476,7 @@ def get_name(obj):
455
476
self .dump_mode == 'output' or
456
477
self .dump_mode == 'inout' or
457
478
(self .dump_mode == 'selective' and
458
- hasattr (output_var , 'dump' ) and output_var .dump )):
479
+ hasattr (output_var , 'dump' ) and output_var .dump )):
459
480
continue
460
481
461
482
vfmt = output_var .dump_fmt
0 commit comments