can anyone help me understand the output from open...
# openlane
m
can anyone help me understand the output from opensta? Or link me documentation? The doc in the repo doesn't explain the reports.
Startpoint: 357 (rising edge-triggered flip-flop clocked by clk) Endpoint: 357 (rising edge-triggered flip-flop clocked by clk) Path Group: clk Path Type: min Delay Time Description --------------------------------------------------------- 0.00 0.00 clock clk (rise edge) 0.00 0.00 clock network delay (ideal) 0.00 0.00 ^ _357_/CLK (sky130_fd_sc_hd__dfxtp_4) 0.19 0.19 v _357_/Q (sky130_fd_sc_hd__dfxtp_4) 0.02 0.22 ^ _237_/Y (sky130_fd_sc_hd__inv_8) 0.07 0.28 ^ _332_/X (sky130_fd_sc_hd__and2_4) 0.00 0.28 ^ _357_/D (sky130_fd_sc_hd__dfxtp_4) 0.28 data arrival time 0.00 0.00 clock clk (rise edge) 0.00 0.00 clock network delay (ideal) 0.00 0.00 clock reconvergence pessimism 0.00 ^ _357_/CLK (sky130_fd_sc_hd__dfxtp_4) -0.02 -0.02 library hold time -0.02 data required time --------------------------------------------------------- -0.02 data required time -0.28 data arrival time --------------------------------------------------------- 0.30 slack (MET) Startpoint: 367 (rising edge-triggered flip-flop clocked by clk) Endpoint: 384 (rising edge-triggered flip-flop clocked by clk) Path Group: clk Path Type: max Delay Time Description --------------------------------------------------------- 0.00 0.00 clock clk (rise edge) 0.00 0.00 clock network delay (ideal) 0.00 0.00 ^ _367_/CLK (sky130_fd_sc_hd__dfxtp_4) 0.70 0.70 ^ _367_/Q (sky130_fd_sc_hd__dfxtp_4) 0.07 0.77 v _183_/Y (sky130_fd_sc_hd__inv_8) 0.97 1.74 v _185_/X (sky130_fd_sc_hd__or4_4) 1.05 2.79 v _192_/X (sky130_fd_sc_hd__or4_4) 0.83 3.62 v _193_/X (sky130_fd_sc_hd__or4_4) 0.40 4.02 v _194_/X (sky130_fd_sc_hd__buf_1) 0.73 4.75 v _195_/X (sky130_fd_sc_hd__or3_4) 0.30 5.05 v _196_/X (sky130_fd_sc_hd__buf_1) 0.47 5.52 v _197_/X (sky130_fd_sc_hd__or2_4) 0.31 5.83 v _198_/X (sky130_fd_sc_hd__buf_1) 0.44 6.27 v _355_/X (sky130_fd_sc_hd__o22a_4) 0.16 6.42 ^ _356_/Y (sky130_fd_sc_hd__nor3_4) 0.00 6.42 ^ _384_/D (sky130_fd_sc_hd__dfxtp_4) 6.42 data arrival time 10.00 10.00 clock clk (rise edge) 0.00 10.00 clock network delay (ideal) 0.00 10.00 clock reconvergence pessimism 10.00 ^ _384_/CLK (sky130_fd_sc_hd__dfxtp_4) -0.18 9.82 library setup time 9.82 data required time --------------------------------------------------------- 9.82 data required time -6.42 data arrival time --------------------------------------------------------- 3.40 slack (MET)
this is opensta_spef.min_max.rpt
some questions I have are. what is min max?
I see in the first part of the report a data arrival time, and then another clock edge starting again at 0
so is it more than one clock cycle?
then in the max report, it seems a bit different because the 2nd clock edge starts at 10 instead of 0
the slack for the min report is 0.33, but the slack for max is 3.34
so isn't there more slack for the max path?
anyway, it's clear I don't understand this at all! So any help appreciated!
t
min is the minimum delay using the most optimistic timing (fast corner).
This is used to check that hold times are respected.
max is the maximum delay using the most pessimistic timing (slow corner).
This is used to check that setup times are respected.
So for hold time checking it compares on the same clock edge, making sure that the data didn't change too soon. For setup time checking, it checks that the data is stable sufficiently soon ( time of the edge, 10 ns - required setup time of the ff )
👍 2