每天学命令
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
往期回顾
简历请戳邮箱:taozhang326[email protected]163.com
觉得有用的话,给我点个好看吧