
18. Executing CHECK pass (checking for obvious problems).
checking module digital_pll..
Warning: multiple conflicting drivers for digital_pll.\ringosc.iss.d1:
    port Z[0] of cell ringosc.iss.delayen1 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.iss.delayenb1 (sky130_fd_sc_hd__einvn_4)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[0].id.in:
    port Z[0] of cell ringosc.iss.delayen0 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.iss.delayenb0 (sky130_fd_sc_hd__einvn_8)
    port Z[0] of cell ringosc.iss.reseten0 (sky130_fd_sc_hd__einvp_1)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[9].id.d1:
    port Z[0] of cell ringosc.dstage[9].id.delayen1 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[9].id.delayenb1 (sky130_fd_sc_hd__einvn_4)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[10].id.in:
    port Z[0] of cell ringosc.dstage[9].id.delayen0 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[9].id.delayenb0 (sky130_fd_sc_hd__einvn_8)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[8].id.d1:
    port Z[0] of cell ringosc.dstage[8].id.delayen1 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[8].id.delayenb1 (sky130_fd_sc_hd__einvn_4)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[8].id.out:
    port Z[0] of cell ringosc.dstage[8].id.delayen0 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[8].id.delayenb0 (sky130_fd_sc_hd__einvn_8)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[7].id.d1:
    port Z[0] of cell ringosc.dstage[7].id.delayen1 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[7].id.delayenb1 (sky130_fd_sc_hd__einvn_4)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[7].id.out:
    port Z[0] of cell ringosc.dstage[7].id.delayen0 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[7].id.delayenb0 (sky130_fd_sc_hd__einvn_8)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[6].id.d1:
    port Z[0] of cell ringosc.dstage[6].id.delayen1 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[6].id.delayenb1 (sky130_fd_sc_hd__einvn_4)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[6].id.out:
    port Z[0] of cell ringosc.dstage[6].id.delayen0 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[6].id.delayenb0 (sky130_fd_sc_hd__einvn_8)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[5].id.d1:
    port Z[0] of cell ringosc.dstage[5].id.delayen1 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[5].id.delayenb1 (sky130_fd_sc_hd__einvn_4)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[5].id.out:
    port Z[0] of cell ringosc.dstage[5].id.delayen0 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[5].id.delayenb0 (sky130_fd_sc_hd__einvn_8)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[4].id.d1:
    port Z[0] of cell ringosc.dstage[4].id.delayen1 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[4].id.delayenb1 (sky130_fd_sc_hd__einvn_4)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[4].id.out:
    port Z[0] of cell ringosc.dstage[4].id.delayen0 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[4].id.delayenb0 (sky130_fd_sc_hd__einvn_8)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[3].id.d1:
    port Z[0] of cell ringosc.dstage[3].id.delayen1 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[3].id.delayenb1 (sky130_fd_sc_hd__einvn_4)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[3].id.out:
    port Z[0] of cell ringosc.dstage[3].id.delayen0 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[3].id.delayenb0 (sky130_fd_sc_hd__einvn_8)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[2].id.d1:
    port Z[0] of cell ringosc.dstage[2].id.delayen1 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[2].id.delayenb1 (sky130_fd_sc_hd__einvn_4)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[2].id.out:
    port Z[0] of cell ringosc.dstage[2].id.delayen0 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[2].id.delayenb0 (sky130_fd_sc_hd__einvn_8)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[1].id.d1:
    port Z[0] of cell ringosc.dstage[1].id.delayen1 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[1].id.delayenb1 (sky130_fd_sc_hd__einvn_4)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[1].id.out:
    port Z[0] of cell ringosc.dstage[1].id.delayen0 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[1].id.delayenb0 (sky130_fd_sc_hd__einvn_8)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[11].id.d1:
    port Z[0] of cell ringosc.dstage[11].id.delayen1 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[11].id.delayenb1 (sky130_fd_sc_hd__einvn_4)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[11].id.out:
    port Z[0] of cell ringosc.dstage[11].id.delayen0 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[11].id.delayenb0 (sky130_fd_sc_hd__einvn_8)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[10].id.d1:
    port Z[0] of cell ringosc.dstage[10].id.delayen1 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[10].id.delayenb1 (sky130_fd_sc_hd__einvn_4)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[10].id.out:
    port Z[0] of cell ringosc.dstage[10].id.delayen0 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[10].id.delayenb0 (sky130_fd_sc_hd__einvn_8)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[0].id.d1:
    port Z[0] of cell ringosc.dstage[0].id.delayen1 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[0].id.delayenb1 (sky130_fd_sc_hd__einvn_4)
Warning: multiple conflicting drivers for digital_pll.\ringosc.dstage[0].id.out:
    port Z[0] of cell ringosc.dstage[0].id.delayen0 (sky130_fd_sc_hd__einvp_2)
    port Z[0] of cell ringosc.dstage[0].id.delayenb0 (sky130_fd_sc_hd__einvn_8)
found and reported 26 problems.
