Warning - class CORE ANTENNACELL is not found. This msg can be ignored if not in the antenna-avoid flow

Net - mprj2_vdd_logic1
  No sinks on this net

Net - mprj_vdd_logic1
  No sinks on this net

Net - mprj2_vdd_logic1_h
  mprj2_logic_high_lv  (sky130_fd_sc_hvl__lsbufhv2lv_1)  A
[1]  met2:
  PAR:    0.77  Ratio:    0.00       (Area)
  PAR:    3.94  Ratio:  400.00       (S.Area)
  CAR:    2.13  Ratio:    0.00       (C.Area)
  CAR:   10.85  Ratio:    0.00       (C.S.Area)

[1]  met1:
  PAR:    1.33  Ratio:    0.00       (Area)
  PAR:    6.87  Ratio:  400.00       (S.Area)
  CAR:    1.36  Ratio:    0.00       (C.Area)
  CAR:    6.91  Ratio:    0.00       (C.S.Area)

[1]  li1:
  PAR:    0.03  Ratio:    0.00       (Area)
  PAR:    0.04  Ratio:   75.00       (S.Area)
  CAR:    0.03  Ratio:    0.00       (C.Area)
  CAR:    0.04  Ratio:    0.00       (C.S.Area)

[1]  M1M2_PR:
  PAR:    0.05  Ratio:    6.00       (Area)
  CAR:    0.12  Ratio:    0.00       (C.Area)

[1]  L1M1_PR_MR:
  PAR:    0.07  Ratio:    3.00       (Area)
  CAR:    0.07  Ratio:    0.00       (C.Area)


Net - mprj_vdd_logic1_h
  mprj_logic_high_lv  (sky130_fd_sc_hvl__lsbufhv2lv_1)  A
[1]  met1:
  PAR:    2.70  Ratio:    0.00       (Area)
  PAR:   13.70  Ratio:  400.00       (S.Area)
  CAR:    2.73  Ratio:    0.00       (C.Area)
  CAR:   13.74  Ratio:    0.00       (C.S.Area)

[1]  li1:
  PAR:    0.03  Ratio:    0.00       (Area)
  PAR:    0.04  Ratio:   75.00       (S.Area)
  CAR:    0.03  Ratio:    0.00       (C.Area)
  CAR:    0.04  Ratio:    0.00       (C.S.Area)

[1]  L1M1_PR_MR:
  PAR:    0.07  Ratio:    3.00       (Area)
  CAR:    0.07  Ratio:    0.00       (C.Area)

Number of pins violated: 0
Number of nets violated: 0
Total number of unspecial nets: 4
