布局布线和时序分析
笔记本


2026-09-18 16:23:11Reporting the POCV Analysis Results走来走去116.236.47.26

POCV analysis works with all reporting commands in PrimeTime.

PrimeTime commands report “corner” values computed on the right side (for maximum values) or left side (for minimum values) of the distributions. Constraint values are always computed on the right side because higher values are more constraining for both setup and hold.

By default, corner values are computed at 3 sigma. To change this, set the timing_pocvm_report_sigma variable to the required sigma value. Changing this variable does not trigger update_timing; it affects only reporting.

For example, to make POCV analysis more pessimistic, you can change the variable to 4.

pt_shell> set_app_var timing_pocvm_report_sigma 4
The value specified for the timing_pocvm_report_sigma variable must be smaller than the value of the timing_pocvm_corner_sigma variable, or else it is ignored.

To check the slack without POCV, set the variable to 0. It shows the slack at 0 sigma (no POCV) without triggering update_timing.

pt_shell> set_app_var timing_pocvm_report_sigma 0
To display the variation in the timing report for POCV analysis, use the report_timing -variation command. Here is an example:

pt_shell> report_timing -variation ...
...
                               --------- Incr -------------   ------- Path ---------
Point                          Mean   Sensit Corner   Value   Mean   Sensit    Value
--------------------------------------------------------------------------------------
clock clk (rise edge)                                 0.00                     0.00
clock network delay (ideal)    0.00   0.00    0.00    0.00    0.00   0.00      0.00
input external delay                                  0.00                     0.00 r
in1 (in)                       0.00   0.00    0.00    0.00    0.00   0.00      0.00 r
b1/Z (B1I)                     1.00   3.00   10.00   10.00    1.00   3.00 H   10.00 r
b3/Z (B1I)                     1.00   2.00    7.00    2.82    2.00   3.61 H   12.82 r
out1 (out)                     0.00   0.00    0.00    0.00    2.00   3.61     12.82 r
data arrival time                                                             12.82

clock clk (rise edge)                                 2.00                     2.00
clock network delay (ideal)    0.00   0.00    0.00    0.00    0.00   0.00      2.00
clock reconvergence pessimism  0.00   0.00    0.00    0.00    0.00   0.00      2.00
clock uncertainty                                    -0.20                     1.80
output external delay                               -10.00                    -8.20
data required time                                           -8.20   0.00     -8.20
-------------------------------------------------------------------------------------
data required time                                           -8.20   0.00     -8.20
data arrival time                                            -2.00   3.61    -12.82
-------------------------------------------------------------------------------------
statistical adjustment                                0.00                   -21.02
slack (VIOLATED)                                            -10.20   3.61    -21.02
In the Incr columns,

The Mean, Sensit, and Corner numbers provide mean, standard deviation, and corner information about each incremental delay distribution by itself, independent of other incremental delay distributions.

The Incr Value number is not derived from the incremental delay distribution. Instead, it is the simple numerical difference between the previous and current Path Value (corner arrival) numbers.

In the Path columns,

The Mean, Sensit, and Value numbers provide mean, standard deviation, and corner information about the cumulative arrival distribution at that pin.

A pin’s cumulative arrival distribution is the statistical combination (in the distribution domain) of all incremental distributions up to that pin.

The corner values (Incr Corner and Path Value) are computed as follows, where K is equal to timing_pocvm_report_sigma:

In the default (normal distribution) modeling flow, the corner value is equal to Mean ± K*Sensit:


In the moment-based modeling flow, the corner value is the quantile value whose probability matches K sigma in a normal distribution:


For details on how PrimeTime calculates the final derating factor from all derating factors applied in POCV analysis, run the report_delay_calculation -derate command. It reports in details how the final derating values are derived for cell delay and cell delay sigma as shown in the following example.

Example 1: Output of report_delay_calculation -derate Command With POCV Side File
pt_shell> report_delay_calculation -from I/I -to I/ZN -derate
...
Advanced driver-modeling used for rise and fall.
                           Rise        Fall
------------------------------------------------------------------
Input transition time   = 0.011600    0.011600  (in library unit)
Effective capacitance   = 0.002000    0.002000  (in pF)
Effective capacitance   = 0.002000    0.002000  (in library unit)
Output transition time  = 0.007237    0.006342  (in library unit)
Cell delay              = 0.008886    0.009559  (in library unit)

POCVM coefficient       = 0.050000    0.050000
POCVM coef scale factor = 1.000000    1.000000
POCVM distance derate   = 1.000000    1.000000
POCVM guardband         = 1.020000    1.020000
Incremental derate      = 0.000000    0.000000
Cell delay derated      = 0.009064    0.009750  (in library unit)
Cell delay sigma        = 0.000453    0.000488  (in library unit)

Cell delay derated = "Cell delay" *
 ( "POCVM guardband" * "POCVM distance derate" + "Incremental derate" )
Cell delay sigma   = "Cell delay" *
 ( "POCVM guardband" * "POCVM coefficient" * "POCVM coef scale factor" )
In the preceding example, the report_delay_calculation -derate command displays the equations how the cell delay and cell delay variation are derated by applying POCV guard banding, POCV distance-based derating, POCV coefficient, POCV coefficient scaling factor and incremental derate.

If you are using the POCV LVF instead of the POCV side file, the format of report_delay_calculation -derate command changes slightly since the unit of POCV data in LVF is in time units. The following example shows the output of report_delay_calculation -derate when the POCV slew-load table is applied.

Example 2: Output of the report_delay_calculation -derate Command With POCV LVF
pt_shell> report_delay_calculation -from I/I -to I/ZN -derate
...

Advanced driver-modeling used for rise and fall.
                           Rise        Fall
------------------------------------------------------------------
Input transition time   = 0.011600    0.011600  (in library unit)
Effective capacitance   = 0.002000    0.002000  (in pF)
Effective capacitance   = 0.002000    0.002000  (in library unit)
Drive resistance        = 0.001000    0.001000  (in Kohm)
Output transition time  = 0.016620    0.011003  (in library unit)
Cell delay              = 0.013041    0.010004  (in library unit)

POCVM delay sigma       = 0.000652    0.000500
POCVM coef scale factor = 1.000000    1.000000
POCVM distance derate   = 1.000000    1.000000
POCVM guardband         = 0.980000    0.980000
Incremental derate      = 0.000000    0.000000
Cell delay derated      = 0.012780    0.009804  (in library unit)
Cell delay sigma        = 0.000639    0.000490  (in library unit)

Cell delay derated =  "Cell delay" *
 ( "POCVM guardband" * "POCVM distance derate" + "Incremental derate" )
Cell delay sigma = "POCVM delay sigma" *
 ( "POCVM guardband" * "POCVM coef scale factor" )
If via variation is enabled, delay calculation reports for net timing arcs include the via contributions to wire variation:

POCVM delay sigma induced by wire variation
                        = 0.002582    0.003449
POCVM output transition sigma induced by wire variation
                        = 0.011070    0.009584

回到首页时钟 , 联系信箱:yzbox#163.com(把#换成@) 粤ICP备18155639号