用户工具

站点工具


vlsi:icc:qor-re-format

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

vlsi:icc:qor-re-format [2012/03/07 13:07] (当前版本)
行 1: 行 1:
 +====== proc_qor ======
  
 +Sourcing the attached proc_qor.tcl gives access to the following two procedures to generate and compare more readable QoR files than those produced by the report_qor command:
 +
 +proc_qor
 +
 +Reformats the output of the report_qor command.
 +
 +proc_compare_qor
 +
 +Compares up to six report_qor or proc_qor output files.
 +
 +These procedures can be used in IC Compiler, Design Compiler, and PrimeTime with or without multicorner-multimode (MCMM) and generate CSV files for importing to Microsoft Excel.
 +
 +===== Usage of proc_qor =====
 +
 +<​code>​
 +proc_qor
 +   ​[-existing_qor_file report_qor file]
 +   ​[-csv_file output_csv_file_name]
 +   ​[-units ps or ns]
 +   ​[-skew]
 +</​code>​
 +
 +-existing_qor_file report_qor file
 +
 +Specifies the name of an existing report_qor report file to reformat.
 +
 +If you do not specify this option, proc_qor runs the report_qor command on the currently opened design to generate a QoR report file.
 +
 +-csv_file output_csv_file_name
 +
 +Specifies the name for the output CSV file.
 +
 +If you do not specify this option, proc_qor creates a file named qor.csv.
 +
 +-skew
 +
 +Adds skew columns for the worst negative slack and total negative slack paths accounting for clock reconvergence pessimism removal.
 +Examples of proc_qor
 +
 +The following example runs the report_qor command and reformats the generated report. The reformatted report is also shown. Note that the path group names in the generated report have been changed deliberately.
 +
 +icc_shell>​ proc_qor
 +<​code>​
 +Running report_qor
 +
 +NVP    - No. of Violating Paths
 +FREQ   - Estimated Frequency, not accurate in some cases, multi/​half-cycle,​ etc
 +WNS(H) - Hold WNS
 +TNS(H) - Hold TNS
 +NVP(H) - Hold NVP
 +
 +Path Group                        WNS        TNS     ​NVP ​     FREQ      WNS(H) ​    ​TNS(H) ​ NVP(H)
 +-------------------------------------------------------------------------------------------------
 +OutputPaths ​                   -0.081 ​      ​-2.4 ​    ​139 ​    ​951MHz ​     0.000        0.0       0
 +**clock_gating_default** ​      ​-0.075 ​      ​-2.0 ​    ​222 ​    ​957MHz ​    ​-0.336 ​   -2569.0 ​   7663
 +sys_clkt ​                      ​-0.044 ​      ​-2.3 ​     78     ​986MHz ​    ​-0.133 ​      ​-0.9 ​     83
 +PathGroup1 ​                    ​-0.031 ​     -19.7    1744     ​999MHz ​    ​-0.149 ​    ​-269.7 ​  15061
 +PathGroup2 ​                    ​-0.025 ​      ​-8.4 ​    ​834 ​   1005MHz ​    ​-0.050 ​     -44.1    4276
 +PathGroup3 ​                    ​-0.013 ​      ​-7.9 ​   1279    1017MHz ​    ​-0.052 ​     -91.2    8800
 +InputPaths ​                    ​-0.013 ​      ​-0.1 ​     26    1017MHz ​    ​-1.063 ​  ​-66548.8 ​ 157560
 +PathGroup4 ​                    ​-0.004 ​      ​-0.2 ​    ​129 ​   1027MHz ​    ​-0.100 ​    ​-144.7 ​  12736
 +PathGroup5 ​                     0.000        0.0       ​0 ​   1031MHz ​    ​-0.050 ​     -32.1    2829
 +PathGroup6 ​                     0.000       ​-0.0 ​     11    1031MHz ​    ​-0.038 ​     -14.1    1819
 +PathGroup7 ​                     0.000        0.0       ​0 ​   1031MHz ​    ​-0.027 ​      ​-0.1 ​     12
 +PathGroup8 ​                     0.000       ​-0.0 ​      ​2 ​   1031MHz ​    ​-0.027 ​      ​-2.3 ​    222
 +PathGroup9 ​                     0.000       ​-0.0 ​      ​1 ​   1031MHz ​    ​-0.051 ​      ​-4.5 ​    319
 +PathGroup0 ​                     0.000        0.0       ​0 ​   1031MHz ​    ​-0.022 ​      ​-0.8 ​     69
 +PathGroup10 ​                    ​0.000 ​      ​-0.0 ​      ​2 ​   1031MHz ​    ​-0.169 ​    ​-156.3 ​  10409
 +PathGroup11 ​                    ​0.000 ​       0.0       ​0 ​   1031MHz ​    ​-0.031 ​      ​-1.6 ​    218
 +PathGroup12 ​                    ​0.000 ​      ​-0.0 ​      ​7 ​   1031MHz ​    ​-0.036 ​     -15.5    2017
 +PathGroup13 ​                    ​0.001 ​       0.0       ​0 ​   1032MHz ​    ​-0.026 ​      ​-0.8 ​     65
 +PathGroup14 ​                    ​0.001 ​       0.0       ​0 ​   1032MHz ​    ​-0.017 ​      ​-0.2 ​     28
 +PathGroup15 ​                    ​0.002 ​       0.0       ​0 ​   1033MHz ​    ​-0.029 ​      ​-1.5 ​    145
 +PathGroup16 ​                    ​0.002 ​       0.0       ​0 ​   1033MHz ​    ​-0.006 ​      ​-0.0 ​      2
 +PathGroup17 ​                    ​0.004 ​       0.0       ​0 ​   1035MHz ​    ​-0.020 ​      ​-0.2 ​     25
 +PathGroup18 ​                    ​0.012 ​       0.0       ​0 ​   1044MHz ​    ​-0.021 ​      ​-0.2 ​     24
 +PathGroup19 ​                    ​0.208 ​       0.0       ​0 ​   1312MHz ​    ​-0.034 ​      ​-0.6 ​     64
 +-------------------------------------------------------------------------------------------------
 +Summary ​                       -0.081 ​     -43.1    4474     ​951MHz ​    ​-1.063 ​  ​-69899.3 ​ 224446
 +-------------------------------------------------------------------------------------------------
 +    CAP  FANOUT ​   TRAN          TDRC      CELLA    BUFS     ​LEAFS ​      ​TNETS ​     CTBUF    REGS
 +-------------------------------------------------------------------------------------------------
 +      0       ​0 ​    ​896 ​         1059    2025162 ​   181K     ​1137K ​      ​1161K ​         0  163852
 +-------------------------------------------------------------------------------------------------
 +</​code>​
 +
 +The following example reformats the QoR report in the file named qor.rpt and pipes the output to a file named newreport.qor.
 +
 +icc_shell>​ proc_qor -existing_qor_file qor.rpt > newreport.qor
 +
 +The following example runs the report_qor command, reformats the generated report, and adds skew columns for worst negative slack and total negative slack paths accounting for clock reconvergence pessimism removal.
 +
 +icc_shell>​ proc_qor -skew 
 +
 +<​code>​
 +Running report_qor
 +Getting setup timing paths for skew analysis
 +Getting hold timing paths for skew analysis
 +
 +Skews numbers reported include any ocv derates, crpr value is close, but may not match report_timing UITE-468
 +
 +SKEW - Skew on WNS Path
 +AVGSKW - Average Skew on TNS Paths
 +
 +Path Group        WNS       ​SKEW ​       TNS     ​AVGSKW ​    ​NVP ​     FREQ      WNS(H) ​   SKEW(H) ​ TNS(H) ​ AVGSKW(H) ​ NVP(H)
 +--------------------------------------------------------------------------------------------------------------------------
 +InputPaths ​    ​-0.213 ​    ​-0.072 ​     -33.3     ​-0.065 ​    ​536 ​    ​845MHz ​     0.000      0.000     ​0.0 ​     0.000       0
 +PathGroup0 ​    ​-0.165 ​    ​-0.079 ​    ​-210.4 ​    ​-0.090 ​   4194     ​881MHz ​    ​-0.010 ​     0.043    -0.0      0.022      13
 +CGEnable ​      ​-0.164 ​    ​-0.217 ​     -55.5     ​-0.121 ​   1849     ​882MHz ​     0.000      0.000     ​0.0 ​     0.000       0
 +PathGroup1 ​    ​-0.153 ​    ​-0.166 ​    ​-444.8 ​    ​-0.065 ​  ​11409 ​    ​890MHz ​    ​-0.020 ​     0.010    -0.8      0.011     224
 +PathGroup2 ​    ​-0.143 ​    ​-0.102 ​     -20.4     ​-0.070 ​    ​500 ​    ​898MHz ​    ​-0.014 ​    ​-0.000 ​   -0.1      0.008      34
 +PathGroup3 ​    ​-0.137 ​    ​-0.079 ​    ​-125.0 ​    ​-0.042 ​   4649     ​903MHz ​    ​-0.027 ​     0.019    -1.8      0.015     317
 +PathGroup4 ​    ​-0.134 ​    ​-0.111 ​     -23.1     ​-0.054 ​   1111     ​906MHz ​    ​-0.036 ​     0.029    -2.0      0.025     266
 +OutputPaths ​   -0.132 ​    ​-0.102 ​     -22.7     ​-0.050 ​    ​522 ​    ​907MHz ​     0.000      0.000     ​0.0 ​     0.000       0
 +PathGroup6 ​    ​-0.127 ​    ​-0.073 ​      ​-7.3 ​    ​-0.052 ​    ​229 ​    ​912MHz ​     0.000      0.000     ​0.0 ​     0.000       0
 +PathGroup7 ​    ​-0.126 ​    ​-0.032 ​    ​-122.2 ​    ​-0.046 ​   2906     ​912MHz ​    ​-0.018 ​     0.031    -0.1      0.028       5
 +PathGroup8 ​    ​-0.120 ​    ​-0.048 ​     -12.5     ​-0.050 ​    ​391 ​    ​917MHz ​    ​-0.003 ​     0.019    -0.0      0.010       4
 +PathGroup9 ​    ​-0.101 ​    ​-0.040 ​     -63.0     ​-0.082 ​   2708     ​934MHz ​    ​-0.037 ​    ​-0.009 ​   -1.5      0.003      92
 +PathGroup10 ​   -0.096 ​    ​-0.008 ​     -44.4     ​-0.031 ​   3045     ​938MHz ​    ​-0.025 ​     0.022    -1.0      0.013     221
 +PathGroup11 ​   -0.091 ​    ​-0.027 ​    ​-146.8 ​    ​-0.042 ​   7574     ​943MHz ​    ​-0.021 ​     0.023    -0.4      0.009      99
 +PathGroup12 ​   -0.086 ​    ​-0.065 ​     -49.4     ​-0.067 ​   1540     ​947MHz ​     0.000      0.000     ​0.0 ​     0.000       0
 +PathGroup13 ​   -0.078 ​    ​-0.033 ​     -86.3     ​-0.046 ​   4265     ​954MHz ​    ​-0.005 ​     0.009    -0.1      0.004      50
 +PathGroup14 ​   -0.077 ​    ​-0.053 ​      ​-4.4 ​    ​-0.037 ​    ​136 ​    ​955MHz ​    ​-0.004 ​     0.008    -0.0      0.011       8
 +PathGroup15 ​   -0.061 ​     0.021      -11.1     ​-0.026 ​    ​507 ​    ​970MHz ​     0.000      0.000     ​0.0 ​     0.000       0
 +sys_clk ​       -0.060 ​    ​-0.175 ​      ​-1.3 ​    ​-0.074 ​     64     ​971MHz ​    ​-0.020 ​     0.025    -0.1      0.015      27
 +PathGroup16 ​   -0.045 ​    ​-0.028 ​      ​-1.0 ​    ​-0.041 ​     95     ​985MHz ​     0.000      0.000     ​0.0 ​     0.000       0
 +PathGroup17 ​   -0.041 ​    ​-0.051 ​      ​-0.1 ​    ​-0.052 ​      ​3 ​    ​989MHz ​    ​-0.014 ​     0.027    -0.0      0.019       2
 +PathGroup18 ​   -0.034 ​    ​-0.017 ​      ​-1.6 ​    ​-0.023 ​    ​178 ​    ​996MHz ​    ​-0.014 ​     0.033    -0.1      0.021      31
 +PathGroup19 ​   -0.028 ​    ​-0.091 ​      ​-1.1 ​    ​-0.066 ​     68    1002MHz ​    ​-0.001 ​     0.003    -0.0      0.002       2
 +PathGroup20 ​    ​0.000 ​     0.000        0.0      0.000       ​0 ​   1031MHz ​    ​-0.002 ​     0.004    -0.0      0.001       9
 +--------------------------------------------------------------------------------------------------------------------------
 +Summary ​       -0.213 ​    ​-0.217 ​   -1487.7 ​    ​-0.121 ​  ​48479 ​    ​845MHz ​    ​-0.037 ​     0.043    -8.0      0.028    1404
 +--------------------------------------------------------------------------------------------------------------------------
 +    CAP  FANOUT ​   TRAN     ​TDRC ​     CELLA       ​BUFS ​     LEAFS   ​TNETS ​     CTBUF       REGS
 +-----------------------------------------------------------------------------------------------
 +      1       ​0 ​  ​26730 ​   26731    2610611 ​      ​377K ​     1399K   ​1402K ​      ​1965 ​    ​163892
 +-----------------------------------------------------------------------------------------------
 +</​code>​
 +
 +===== Usage of proc_compare_qor =====
 +
 +<​code>​
 +proc_compare_qor
 +   ​[-csv_file output_csv_file_name]
 +   ​[-tag_list "​column_headings"​]
 +   ​-qor_file_list "​report_files"​
 +</​code>​
 +
 +-csv_file output_csv_file_name
 +
 +Specifies the name for for the output CSV file.
 +
 +If you do not specify this option, proc_compare_qor creates a file named compare_qor.csv.
 +
 +-tag_list "​column_headings"​
 +
 +Specifies the column headings used for the report files. The number of strings specified must equal the number of report files specified.
 +
 +If you do not specify this option, proc_compare_qor uses qor_i for the column headings, where i is 0 for the first report file and is incremented by one for each report file.
 +
 +-qor_file_list "​report_files"​
 +
 +Specifies the names of the QoR report files to compare. You can specify up to six report files. The report files can be
 +  * Report files generated by the report_qor command
 +  * Report files generated by proc_qor with or without the -skew option
 +  * A combination of these report files
 +
 +==== Examples of proc_compare_qor ====
 +
 +
 +The following command compares the rp1.qor and rp2.qor reports. The generated report uses the default column headings of "​qor_0"​ and "​qor_1"​.
 +
 +icc_shell>​ proc_compare_qor -qor_file_list "​rp1.qor rp2.qor"​
 +
 +<​code>​
 +                      qor_0    qor_1    qor_0    qor_1   ​qor_0 ​  ​qor_1 ​   qor_0    qor_1    qor_0    qor_1   ​qor_0 ​  ​qor_1 ​              
 +Path Group              WNS      WNS      TNS      TNS     ​NVP ​    ​NVP ​    ​WNSH ​    ​WNSH ​    ​TNSH ​    ​TNSH ​   NVPH    NVPH               
 +--------------------------------------------------------------------------------------------------------------------------
 +OutputPaths ​         -0.124 ​  ​-0.045 ​    ​-1.7 ​    ​-0.5 ​    ​116 ​    ​122 ​   0.000    0.000      0.0      0.0       ​0 ​      ​0 ​              
 +InputPaths ​          ​-0.090 ​  ​-0.091 ​    ​-4.4 ​    ​-2.0 ​    ​120 ​    ​155 ​  ​-1.063 ​  ​-0.704 -69117.7 ​  ​-561.7 ​ 165231 ​   5856 
 +PathGroup0 ​          ​-0.067 ​   0.000     ​-5.7 ​    ​-0.0 ​    ​279 ​      ​2 ​  ​-0.026 ​  ​-0.022 ​    ​-2.2 ​    ​-0.1 ​    ​213 ​     13 
 +PathGroup0 ​          ​-0.041 ​  ​-0.040 ​   -29.5     ​-6.9 ​   2618     ​536 ​  ​-0.156 ​  ​-0.144 ​  ​-253.0 ​  ​-191.2 ​  ​14926 ​  ​13390 ​  
 +PathGroup0 ​          ​-0.033 ​  ​-0.022 ​    ​-5.2 ​    ​-0.8 ​    ​494 ​     81   ​-0.114 ​  ​-0.123 ​  ​-125.4 ​  ​-100.3 ​  ​11058 ​  ​10140 ​     ​
 +PathGroup0 ​          ​-0.026 ​  ​-0.006 ​   -14.3     ​-0.0 ​   1401      23   ​-0.055 ​  ​-0.060 ​   -91.8    -85.1    8658    8631      ​
 +PathGroup0 ​          ​-0.010 ​   0.000     ​-0.4 ​    ​-0.0 ​     83       ​1 ​  ​-0.039 ​  ​-0.041 ​   -12.3     ​-8.5 ​   1680    1366       
 +PathGroup0 ​          ​-0.004 ​  ​-0.002 ​    ​-0.0 ​    ​-0.0 ​     22       ​2 ​  ​-0.055 ​  ​-0.027 ​    ​-3.6 ​    ​-2.5 ​    ​273 ​    ​200 ​       ​
 +PathGroup0 ​          ​-0.001 ​  ​-0.019 ​    ​-0.0 ​    ​-1.9 ​     83     ​401 ​  ​-0.046 ​  ​-0.082 ​   -15.8    -18.2    1999    2101      ​
 +PathGroup0 ​           0.000   ​-0.012 ​    ​-0.0 ​    ​-0.5 ​     24     ​113 ​  ​-0.050 ​  ​-0.072 ​   -40.8    -42.2    3941    4056     
 +PathGroup0 ​           0.000    0.000     ​-0.0 ​    ​-0.0 ​      ​1 ​      ​4 ​  ​-0.030 ​  ​-0.078 ​    ​-0.8 ​    ​-2.7 ​    ​117 ​    ​139  ​
 +PathGroup0 ​           0.000   ​-0.076 ​     0.0    -13.1       ​0 ​    ​412 ​  ​-0.022 ​  ​-0.018 ​    ​-0.2 ​    ​-0.2 ​     23      15      ​
 +PathGroup0 ​           0.000    0.000      0.0      0.0       ​0 ​      ​0 ​  ​-0.055 ​  ​-0.050 ​   -32.3    -20.0    2674    2026       
 +PathGroup0 ​           0.000    0.000      0.0      0.0       ​0 ​      ​0 ​  ​-0.022 ​  ​-0.025 ​    ​-0.3 ​    ​-0.2 ​     22      34    ​
 +PathGroup0 ​           0.000    0.000     ​-0.0 ​    ​-0.0 ​      ​1 ​      ​2 ​  ​-0.023 ​  ​-0.020 ​    ​-0.8 ​    ​-0.8 ​     67      69     
 +PathGroup0 ​           0.000    0.000      0.0      0.0       ​0 ​      ​0 ​  ​-0.009 ​  ​-0.019 ​    ​-0.0 ​    ​-0.3 ​      ​1 ​     34          ​
 +PathGroup0 ​           0.000    0.000     ​-0.0 ​     0.0       ​1 ​      ​0 ​  ​-0.019 ​  ​-0.012 ​    ​-0.2 ​    ​-0.0 ​     24       ​3 ​     ​
 +PathGroup0 ​           0.000   ​-0.001 ​    ​-0.0 ​    ​-0.0 ​      ​5 ​     10   ​-0.166 ​  ​-0.102 ​  ​-156.7 ​  ​-115.0 ​  ​10294 ​   9350        ​
 +sys_clk ​              ​0.000 ​   0.000     ​-0.0 ​     0.0       ​1 ​      ​0 ​  ​-0.033 ​  ​-0.074 ​    ​-3.1 ​    ​-2.0 ​    ​342 ​    ​203 ​  
 +PathGroup0 ​           0.001   ​-0.001 ​     0.0     ​-0.0 ​      ​0 ​      ​2 ​  ​-0.022 ​  ​-0.023 ​    ​-0.5 ​    ​-0.6 ​     57      43     
 +PathGroup0 ​           0.001    0.000      0.0      0.0       ​0 ​      ​0 ​  ​-0.018 ​  ​-0.019 ​    ​-0.6 ​    ​-0.8 ​     67      75     
 +PathGroup0 ​           0.003    0.001      0.0      0.0       ​0 ​      ​0 ​  ​-0.084 ​  ​-0.126 ​    ​-2.5 ​   -14.8      37     ​205 ​      
 +NPathGroup ​           0.202       ​NA ​     0.0       ​NA ​      ​0 ​     NA   ​-0.028 ​      ​NA ​    ​-0.6 ​      ​NA ​     63      NA 
 +MPathGroup ​              ​NA ​   0.181       ​NA ​     0.0      NA       ​0 ​      ​NA ​  ​-0.039 ​      ​NA ​    ​-1.9 ​     NA     ​112 ​                    
 +--------------------------------------------------------------------------------------------------------------------------
 +Summary ​             -0.124 ​  ​-0.091 ​   -61.3    -25.7    5249    1866   ​-1.063 ​  ​-0.704 -69861.3 ​ -1169.2 ​ 221767 ​  ​58061 ​
 +------------------------------------------------------------------------------------------------------------------------------------------
 +                      qor_0    qor_1    qor_0    qor_1   ​qor_0 ​  ​qor_1 ​   qor_0    qor_1    qor_0    qor_1   ​qor_0 ​  ​qor_1 ​  ​qor_0 ​  ​qor_1  ​
 +                        DRC      DRC    CELLA    CELLA     ​BUF ​    ​BUF ​    ​LEAF ​    ​LEAF ​   CBUFS    CBUFS    REGS    REGS    NETS    NETS   
 +------------------------------------------------------------------------------------------------------------------------------------------
 +                        682       ​38 ​ 2100771 ​ 2481199 ​   203K    261K    1164K    1282K        0        0  163892 ​ 163892 ​  ​1189K ​  ​1263K  ​
 +------------------------------------------------------------------------------------------------------------------------------------------
 +</​code>​
 +The following command compares the rp1.qor and rp2.qor reports and pipes the result to a file named compare.qor. The column headings are "​place"​ and "​clock"​ instead of "​qor_0"​ and "​qor_1"​.
 +
 +icc_shell>​ proc_compare_qor -qor_file_list "​rp1.qor rp2.qor"​ [-tag_list "place clock"​] > compare.qor
 +
 +
 +The following example compares five report files and uses column headings of "​dc",​ "​place",​ "​clock",​ "​route",​ and "​pt"​ in the generated report.
 +
 +<​code>​
 +icc_shell>​ proc_compare_qor \
 +  -qor_file_list "​dc.qor place.qor clock.qor route.qor pt.qor"​ \
 +  -tag_list "dc place clock route pt"
 +</​code>​
 +
 +===== LIMITATIONS =====
 +
 +
 +The clock reconvergence pessimism removal (CRPR) value used when you specify the -skew option with proc_qor might not match the report_timing output, but it is close. See the UITE-468 message.
 +The calculated frequency (FREQ) is based on the worst negative slack (WNS) and clock period reported in the report_qor output and is not accurate in some cases, such as pure combinational paths, half paths, or multicycle paths.
 +In PrimeTime, due to runtime and complexity, only 25 thousand paths per path group and simple methods are used to calculate total negative slack (TNS) and number of violating paths (NVP).
 +proc_qor.tcl - contains both proc_qor and proc_compare_qor procedures
 +
 +===== 参考 =====
 +  * https://​solvnet.synopsys.com/​retrieve/​032515.html
vlsi/icc/qor-re-format.txt · 最后更改: 2012/03/07 13:07 (外部编辑)