每天学命令

每天学命令

set_table_style 

-name string   
[-reverse_rows] 
[-major_sort integer ] 
[-minor_sort integer ] 
[-max_widths integer ] 
[-min_widths integer ] 
[-indent integer ] 
-frame | -no_frame_fix_width [-nosplit] 


这个命令可以改变生成的report的输出格式(可以是timing,可以是port等其他objects),非常有用的命令。软件提供了几个参数,如果你不习惯当前report的显示方式,则可以修改这些参数来达到修改report格式的目的。如果结合report_timing的option,使得该命令在脚本处理timing path时,经常被用到


-name  改变指定table的format,软件现在只支持修改以下的table以及对应产生这些table的命令。这是前提,我们无法修改软件不支持的table format

Table  Name

Formats  Reports Generated by

report_cell_instance_delays_arcs

report_cell_instance_timing

report_cell_instance_delays_chec ks

report_cell_instance_timing

report_cell_instance_delays_pins

report_cell_instance_timing

report_inactive_arcs

report_inactive_arcs

report_net

report_net

report_net_header

report_net

report_net_sink_table

report_net

report_net_source_table

report_net

report_net_summary_table

report_net

report_path_exceptions

report_path_exceptions

report_port

report_ports

report_timing

report_timing

report_timing_summary

report_timing

 

-reverse_rows  将数据行逆向排列,这是很有用的一个option,比如一条timing path非常长,如果你比较关注end point上的数值,可以使用该option将数据逆向排列。见例子1

-major_sort   指定首要排列顺序,指定每行数据按第几列sort排列,见例子2

-minor_sort   指定次要排列顺序,该命令需要配合-major_sort使用,如果出现两行数据一样,则相同数据指定每行数据按第几列内容sort排列,见例子3

 

-max_widths  指定report每一列的最大宽度,超出字节会被排列到下一行,每列数字以逗号隔开,不写默认代表没有宽度限制,比如-max_widths {10,20,30}代表第一,二,三列的最大宽度分别为10, 20, 30;-max_widths {,,20,30} 代表第二,三列的最大宽度分别为20, 30, 第一列没有最大宽度限制。见例子4

-min_widths  指定report每一列的最小宽度,不足该宽度会以空格补足,每列数字以逗号隔开,不写默认代表没有最小宽度限制,比如-min_widths {7, 10, 15}代表第一,二,三列的最大宽度分别为7, 10, 15。见例子5

-indent  指定table左边缩进距离,见例子6

-frame  该option可以给table内外各个边界加上横竖线分隔,就是我们默认看到的table格式,见例子7

-no_frame_fix_width  该option可以去掉table内外各个边界上的横竖线,见例子8

-nosplit  如果每列的数值过长,软件会默认将该一栏上的数值split到下一行,是分行处理,用该option以后,软件将不做分行处理,见例子9

 

例子:

以report_timing作为例子,我们先来看默认的timingreport格式

innovus 1>set_table_style -name report_timing

innovus 2>report_timing -from ff1/Q -to ff1/D

每天学命令

(1)-reverse_rows 

innovus 2>set_table_style -name report_timing -reverse_rows

innovus 3>report_timing -from ff1/Q -to ff1/D

每天学命令

(2)-major_sort 

innovus4>set_table_style -major_sort 6 -name report_timing

每天学命令

(3)-minor_sort

innovus 5>set_table_style -major_sort 6 -minor_sort 2 -name report_timing

每天学命令

(4)-max_widths 

innovus6>set_table_style -name report_timing -max_widths {2,3,}

每天学命令

(5)-min_width

innovus7>set_table_style -name report_timing -min_widths {10,20,30,}

每天学命令

(6)-indent 

innovus8>set_table_style -name report_timing -indent 20

每天学命令

(7)-frame

innovus 9>set_table_style -name report_timing -frame

每天学命令

(8)-no_frame_fix_width

innovus 10> set_table_style-name report_timing -no_frame_fix_width

每天学命令

(9)-nosplit

innovus 11>set_table_style -name report_timing -no_frame_fix_width -nosplit

每天学命令


每天学命令

往期回顾

静态时序分析STA合集一

静态时序分析STA合集二

时序基本概念介绍<sdc合集>

数字后端基本概念合集(一)

数字后端基本概念合集(二)

数字后端基本概念合集(三)

Low Power概念介绍合集

数字后端dbGet使用方法合集

号外,数字后端交流群招人啦

IC圈的世界杯 | 论芯片设计的胜利十一人

知否?知否?Block PD应该提交哪些数据?

Timing ECO手修攻略

数字后端面试100问(2019全新版)

数字后端面试100问(校招版)

简历请戳邮箱:taozhang326[email protected]163.com

觉得有用的话,给我点个好看吧每天学命令