Currently using openlane2 to some timing analysis ...
# openlane-2
f
Currently using openlane2 to some timing analysis on a design. Specifically trying to get critical path information using the prepnr and postpnr STA results, looking at the max path reports. However, the results are not very readable, only referencing numbered wires from the yosys synthesized netlist. Anyone have any tips on doing critical path analysis? Anyone know how to configure yosys to name its wires in a way that corresponds to the design's named logic elements? Alternatively, is there something i can do in the SDC file to get more understandable results? Here is an example of one of the reports.
Copy code
Startpoint: _683_ (rising edge-triggered flip-flop clocked by clk)
Endpoint: _701_ (rising edge-triggered flip-flop clocked by clk)
Path Group: clk
Path Type: max

Fanout         Cap        Slew       Delay        Time   Description
---------------------------------------------------------------------------------------------
                                  0.000000    0.000000   clock clk (rise edge)
                                  0.000000    0.000000   clock source latency
     1    0.021424    0.160073    0.110235    0.110235 ^ clk (in)
                                                         clk (net)
                      0.160134    0.000000    0.110235 ^ clkbuf_0_clk/A (sky130_fd_sc_hd__clkbuf_16)
     8    0.097586    0.173415    0.351217    0.461452 ^ clkbuf_0_clk/X (sky130_fd_sc_hd__clkbuf_16)
                                                         clknet_0_clk (net)
                      0.173966    0.007125    0.468577 ^ clkbuf_3_5__f_clk/A (sky130_fd_sc_hd__clkbuf_16)
    11    0.037344    0.090835    0.293006    0.761583 ^ clkbuf_3_5__f_clk/X (sky130_fd_sc_hd__clkbuf_16)
                                                         clknet_3_5__leaf_clk (net)
                      0.090881    0.001898    0.763481 ^ _683_/CLK (sky130_fd_sc_hd__dfrtp_1)
     5    0.016937    0.192454    0.869395    1.632876 v _683_/Q (sky130_fd_sc_hd__dfrtp_1)
                                                         prev1[13] (net)
                      0.192454    0.000815    1.633691 v _471_/A (sky130_fd_sc_hd__xnor2_1)
     4    0.010912    0.213950    0.366462    2.000154 v _471_/Y (sky130_fd_sc_hd__xnor2_1)
                                                         _201_ (net)
                      0.213950    0.000573    2.000726 v _487_/B (sky130_fd_sc_hd__or4_1)
     2    0.006486    0.223420    1.290576    3.291302 v _487_/X (sky130_fd_sc_hd__or4_1)
                                                         _214_ (net)
                      0.223420    0.000399    3.291701 v _488_/C (sky130_fd_sc_hd__or3_1)
     2    0.006351    0.172311    0.824704    4.116405 v _488_/X (sky130_fd_sc_hd__or3_1)
                                                         _215_ (net)
                      0.172311    0.000350    4.116755 v _490_/B (sky130_fd_sc_hd__nor2_1)
     1    0.001634    0.108434    0.156584    4.273340 ^ _490_/Y (sky130_fd_sc_hd__nor2_1)
                                                         _217_ (net)
                      0.108434    0.000074    4.273413 ^ _494_/A_N (sky130_fd_sc_hd__and3b_1)
     2    0.007470    0.108143    0.407367    4.680780 v _494_/X (sky130_fd_sc_hd__and3b_1)
                                                         _221_ (net)
                      0.108143    0.000286    4.681067 v _505_/A2 (sky130_fd_sc_hd__a21oi_2)
     4    0.016096    0.348757    0.393335    5.074401 ^ _505_/Y (sky130_fd_sc_hd__a21oi_2)
                                                         _231_ (net)
                      0.348760    0.000707    5.075109 ^ _558_/A1 (sky130_fd_sc_hd__a21o_1)
     4    0.013051    0.192225    0.406831    5.481939 ^ _558_/X (sky130_fd_sc_hd__a21o_1)
                                                         _277_ (net)
                      0.192227    0.000962    5.482902 ^ _586_/D_N (sky130_fd_sc_hd__or4b_1)
     2    0.008419    0.242760    1.170380    6.653282 v _586_/X (sky130_fd_sc_hd__or4b_1)
                                                         _301_ (net)
                      0.242760    0.000646    6.653927 v _602_/A1 (sky130_fd_sc_hd__a21oi_1)
     3    0.008773    0.347201    0.414754    7.068681 ^ _602_/Y (sky130_fd_sc_hd__a21oi_1)
                                                         _316_ (net)
                      0.347202    0.000588    7.069269 ^ _611_/A1 (sky130_fd_sc_hd__o21ai_1)
     3    0.009586    0.205031    0.324989    7.394258 v _611_/Y (sky130_fd_sc_hd__o21ai_1)
                                                         _324_ (net)
                      0.205031    0.000629    7.394887 v _614_/A2 (sky130_fd_sc_hd__a21oi_1)
     1    0.001676    0.135520    0.255942    7.650829 ^ _614_/Y (sky130_fd_sc_hd__a21oi_1)
                                                         _326_ (net)
                      0.135520    0.000075    7.650905 ^ _616_/A1_N (sky130_fd_sc_hd__a2bb2o_1)
     1    0.002126    0.092531    0.607522    8.258427 v _616_/X (sky130_fd_sc_hd__a2bb2o_1)
                                                         _043_ (net)
                      0.092531    0.000152    8.258579 v _701_/D (sky130_fd_sc_hd__dfrtp_1)
                                              8.258579   data arrival time

                                  9.000000    9.000000   clock clk (rise edge)
                                  0.000000    9.000000   clock source latency
     1    0.021424    0.160073    0.110235    9.110235 ^ clk (in)
                                                         clk (net)
                      0.160134    0.000000    9.110235 ^ clkbuf_0_clk/A (sky130_fd_sc_hd__clkbuf_16)
     8    0.097586    0.173415    0.351217    9.461452 ^ clkbuf_0_clk/X (sky130_fd_sc_hd__clkbuf_16)
                                                         clknet_0_clk (net)
                      0.173967    0.007133    9.468585 ^ clkbuf_3_4__f_clk/A (sky130_fd_sc_hd__clkbuf_16)
    12    0.041276    0.095391    0.298525    9.767110 ^ clkbuf_3_4__f_clk/X (sky130_fd_sc_hd__clkbuf_16)
                                                         clknet_3_4__leaf_clk (net)
                      0.095431    0.001808    9.768918 ^ _701_/CLK (sky130_fd_sc_hd__dfrtp_1)
                                 -0.250000    9.518918   clock uncertainty
                                  0.000000    9.518918   clock reconvergence pessimism
                                 -0.279180    9.239739   library setup time
                                              9.239739   data required time
---------------------------------------------------------------------------------------------
                                              9.239739   data required time
                                             -8.258579   data arrival time
---------------------------------------------------------------------------------------------
                                              0.981160   slack (MET)
d
Hi Francisco, thanks for the contribution - you can set
SYNTH_AUTONAME
to true but you might get really, really long net names and LVS might fail