Fix ef cell power guard
diff --git a/sky130/custom/sky130_fd_io/verilog/sky130_ef_io.v b/sky130/custom/sky130_fd_io/verilog/sky130_ef_io.v index 0cbdecc..5af04a6 100644 --- a/sky130/custom/sky130_fd_io/verilog/sky130_ef_io.v +++ b/sky130/custom/sky130_fd_io/verilog/sky130_ef_io.v
@@ -32,6 +32,7 @@ // Instantiate the underlying power pad (connects P_PAD to VCCD) sky130_fd_io__top_power_hvc_wpadv2 sky130_fd_io__top_power_hvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -43,12 +44,13 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .P_CORE(VCCD), - .P_PAD(VCCD_PAD), .OGC_HVC(), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_HVC(DRN_HVC), - .SRC_BDY_HVC(SRC_BDY_HVC) + .SRC_BDY_HVC(SRC_BDY_HVC), + `endif // USE_POWER_PINS + .P_PAD(VCCD_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -80,6 +82,7 @@ // Instantiate the underlying power pad (connects P_PAD to VCCD) sky130_fd_io__top_power_lvc_wpad sky130_fd_io__top_power_lvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -91,15 +94,17 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .P_CORE(VCCD), - .P_PAD(VCCD_PAD), .OGC_LVC(), .BDY2_B2B(BDY2_B2B), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), + .DRN_LVC1(DRN_LVC1), .DRN_LVC2(DRN_LVC2), .SRC_BDY_LVC1(SRC_BDY_LVC1), - .SRC_BDY_LVC2(SRC_BDY_LVC2) + .SRC_BDY_LVC2(SRC_BDY_LVC2), + `endif // USE_POWER_PINS + .P_PAD(VCCD_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -131,6 +136,7 @@ // Instantiate the underlying power pad (connects P_PAD to VDDA) sky130_fd_io__top_power_lvc_wpad sky130_fd_io__top_power_lvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -142,15 +148,16 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .P_CORE(VDDA), - .P_PAD(VDDA_PAD), .OGC_LVC(), .BDY2_B2B(BDY2_B2B), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_LVC1(DRN_LVC1), .DRN_LVC2(DRN_LVC2), .SRC_BDY_LVC1(SRC_BDY_LVC1), - .SRC_BDY_LVC2(SRC_BDY_LVC2) + .SRC_BDY_LVC2(SRC_BDY_LVC2), + `endif + .P_PAD(VDDA_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -178,6 +185,7 @@ // Instantiate the underlying power pad (connects P_PAD to VDDA) sky130_fd_io__top_power_hvc_wpadv2 sky130_fd_io__top_power_hvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -189,12 +197,13 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .P_CORE(VDDA), - .P_PAD(VDDA_PAD), .OGC_HVC(), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_HVC(DRN_HVC), - .SRC_BDY_HVC(SRC_BDY_HVC) + .SRC_BDY_HVC(SRC_BDY_HVC), + `endif // USE_POWER_PINS + .P_PAD(VDDA_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -226,6 +235,7 @@ // Instantiate the underlying power pad (connects P_PAD and VDDIO_Q to VDDIO) sky130_fd_io__top_power_lvc_wpad sky130_fd_io__top_power_lvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -237,15 +247,16 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .P_CORE(VDDIO), - .P_PAD(VDDIO_PAD), .OGC_LVC(), .BDY2_B2B(BDY2_B2B), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_LVC1(DRN_LVC1), .DRN_LVC2(DRN_LVC2), .SRC_BDY_LVC1(SRC_BDY_LVC1), - .SRC_BDY_LVC2(SRC_BDY_LVC2) + .SRC_BDY_LVC2(SRC_BDY_LVC2), + `endif // USE_POWER_PINS + .P_PAD(VDDIO_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); assign VDDIO_Q = VDDIO; @@ -275,6 +286,7 @@ // Instantiate the underlying power pad (connects P_PAD and VDDIO_Q to VDDIO) sky130_fd_io__top_power_hvc_wpadv2 sky130_fd_io__top_power_hvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -286,12 +298,13 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .P_CORE(VDDIO), - .P_PAD(VDDIO_PAD), .OGC_HVC(), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_HVC(DRN_HVC), - .SRC_BDY_HVC(SRC_BDY_HVC) + .SRC_BDY_HVC(SRC_BDY_HVC), + `endif // USE_POWER_PINS + .P_PAD(VDDIO_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); assign VDDIO_Q = VDDIO; @@ -325,6 +338,7 @@ // Instantiate the underlying ground pad (connects G_PAD to VSSD) sky130_fd_io__top_ground_lvc_wpad sky130_fd_io__top_ground_lvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -336,15 +350,17 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .G_CORE(VSSD), - .G_PAD(VSSD_PAD), .OGC_LVC(), .BDY2_B2B(BDY2_B2B), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), + .DRN_LVC1(DRN_LVC1), .DRN_LVC2(DRN_LVC2), .SRC_BDY_LVC1(SRC_BDY_LVC1), - .SRC_BDY_LVC2(SRC_BDY_LVC2) + .SRC_BDY_LVC2(SRC_BDY_LVC2), + `endif // USE_POWER_PINS + .G_PAD(VSSD_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -372,6 +388,7 @@ // Instantiate the underlying ground pad (connects G_PAD to VSSD) sky130_fd_io__top_ground_hvc_wpad sky130_fd_io__top_ground_hvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -383,12 +400,13 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .G_CORE(VSSD), - .G_PAD(VSSD_PAD), .OGC_HVC(), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_HVC(DRN_HVC), - .SRC_BDY_HVC(SRC_BDY_HVC) + .SRC_BDY_HVC(SRC_BDY_HVC), + `endif // USE_POWER_PINS + .G_PAD(VSSD_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -420,6 +438,7 @@ // Instantiate the underlying ground pad (connects G_PAD and VSSIO_Q to VSSIO) sky130_fd_io__top_ground_lvc_wpad sky130_fd_io__top_ground_lvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -431,15 +450,16 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .G_CORE(VSSIO), - .G_PAD(VSSIO_PAD), .OGC_LVC(), .BDY2_B2B(BDY2_B2B), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_LVC1(DRN_LVC1), .DRN_LVC2(DRN_LVC2), .SRC_BDY_LVC1(SRC_BDY_LVC1), - .SRC_BDY_LVC2(SRC_BDY_LVC2) + .SRC_BDY_LVC2(SRC_BDY_LVC2), + `endif // USE_POWER_PINS + .G_PAD(VSSIO_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); assign VSSIO_Q = VSSIO; @@ -470,6 +490,7 @@ // Instantiate the underlying ground pad (connects G_PAD and VSSIO_Q to VSSIO) sky130_fd_io__top_ground_hvc_wpad sky130_fd_io__top_ground_hvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -481,12 +502,13 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .G_CORE(VSSIO), - .G_PAD(VSSIO_PAD), .OGC_HVC(), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_HVC(DRN_HVC), - .SRC_BDY_HVC(SRC_BDY_HVC) + .SRC_BDY_HVC(SRC_BDY_HVC), + `endif // USE_POWER_PINS + .G_PAD(VSSIO_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); assign VSSIO_Q = VSSIO; @@ -520,6 +542,7 @@ // Instantiate the underlying ground pad (connects G_PAD to VSSA) sky130_fd_io__top_ground_lvc_wpad sky130_fd_io__top_ground_lvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -531,15 +554,16 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .G_CORE(VSSA), - .G_PAD(VSSA_PAD), .OGC_LVC(), .BDY2_B2B(BDY2_B2B), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_LVC1(DRN_LVC1), .DRN_LVC2(DRN_LVC2), .SRC_BDY_LVC1(SRC_BDY_LVC1), - .SRC_BDY_LVC2(SRC_BDY_LVC2) + .SRC_BDY_LVC2(SRC_BDY_LVC2), + `endif // USE_POWER_PINS + .G_PAD(VSSA_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -567,6 +591,7 @@ // Instantiate the underlying ground pad (connects G_PAD to VSSA) sky130_fd_io__top_ground_hvc_wpad sky130_fd_io__top_ground_hvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -578,12 +603,13 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .G_CORE(VSSA), - .G_PAD(VSSA_PAD), .OGC_HVC(), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_HVC(DRN_HVC), - .SRC_BDY_HVC(SRC_BDY_HVC) + .SRC_BDY_HVC(SRC_BDY_HVC), + `endif // USE_POWER_PINS + .G_PAD(VSSA_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -782,7 +808,9 @@ .ANALOG_POL(ANALOG_POL), .OUT(OUT), .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), + .AMUXBUS_B(AMUXBUS_B) + `ifdef USE_POWER_PINS + , .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -793,6 +821,7 @@ .VSSIO(VSSIO), .VSSD(VSSD), .VSSIO_Q(VSSIO_Q) + `endif // USE_POWER_PINS ); endmodule @@ -819,7 +848,8 @@ inout VSSIO; // Instantiate the underlying power pad (connects P_PAD and VDDIO_Q to VDDIO) - sky130_fd_io__top_power_hvc_wpadv2 sky130_fd_io__top_power_hvc_base ( + sky130_fd_io__top_power_hvc_wpadv2 sky130_fd_io__top_power_hvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -831,12 +861,13 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .P_CORE(VDDIO), - .P_PAD(VDDIO_PAD), .OGC_HVC(), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_HVC(VDDIO), - .SRC_BDY_HVC(VSSIO) + .SRC_BDY_HVC(VSSIO), + `endif // USE_POWER_PINS + .P_PAD(VDDIO_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); assign VDDIO_Q = VDDIO; @@ -866,6 +897,7 @@ // Instantiate the underlying ground pad (connects G_PAD and VSSIO_Q to VSSIO) sky130_fd_io__top_ground_hvc_wpad sky130_fd_io__top_ground_hvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -877,12 +909,13 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .G_CORE(VSSIO), - .G_PAD(VSSIO_PAD), .OGC_HVC(VDDIO), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_HVC(VDDIO), - .SRC_BDY_HVC(VSSIO) + .SRC_BDY_HVC(VSSIO), + `endif // USE_POWER_PINS + .G_PAD(VSSIO_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); assign VSSIO_Q = VSSIO; @@ -911,7 +944,8 @@ inout VSSIO; // Instantiate the underlying power pad (connects P_PAD to VDDA) - sky130_fd_io__top_power_hvc_wpadv2 sky130_fd_io__top_power_hvc_base ( + sky130_fd_io__top_power_hvc_wpadv2 sky130_fd_io__top_power_hvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -923,12 +957,13 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .P_CORE(VDDA), - .P_PAD(VDDA_PAD), .OGC_HVC(), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_HVC(VDDA), - .SRC_BDY_HVC(VSSA) + .SRC_BDY_HVC(VSSA), + `endif // USE_POWER_PINS + .P_PAD(VDDA_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -956,6 +991,7 @@ // Instantiate the underlying ground pad (connects G_PAD to VSSA) sky130_fd_io__top_ground_hvc_wpad sky130_fd_io__top_ground_hvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -967,12 +1003,13 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .G_CORE(VSSA), - .G_PAD(VSSA_PAD), .OGC_HVC(), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_HVC(VDDA), - .SRC_BDY_HVC(VSSA) + .SRC_BDY_HVC(VSSA), + `endif // USE_POWER_PINS + .G_PAD(VSSA_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -1001,6 +1038,7 @@ // Instantiate the underlying power pad (connects P_PAD to VCCD) sky130_fd_io__top_power_lvc_wpad sky130_fd_io__top_power_lvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -1012,15 +1050,16 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .P_CORE(VCCD), - .P_PAD(VCCD_PAD), .OGC_LVC(), .BDY2_B2B(VSSA), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_LVC1(VCCD), .DRN_LVC2(VCCD), .SRC_BDY_LVC1(VSSIO), - .SRC_BDY_LVC2(VSSD) + .SRC_BDY_LVC2(VSSD), + `endif // USE_POWER_PINS + .P_PAD(VCCD_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -1048,7 +1087,8 @@ inout VSSIO; // Instantiate the underlying ground pad (connects G_PAD to VSSD) - sky130_fd_io__top_ground_lvc_wpad sky130_fd_io__top_ground_lvc_base ( + sky130_fd_io__top_ground_lvc_wpad sky130_fd_io__top_ground_lvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -1060,15 +1100,17 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .G_CORE(VSSD), - .G_PAD(VSSD_PAD), .OGC_LVC(), .BDY2_B2B(VSSA), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), + .DRN_LVC1(VCCD), .DRN_LVC2(VCCD), .SRC_BDY_LVC1(VSSIO), - .SRC_BDY_LVC2(VSSD) + .SRC_BDY_LVC2(VSSD), + `endif + .G_PAD(VSSD_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -1097,6 +1139,7 @@ // Instantiate the underlying power pad (connects P_PAD to VCCD) sky130_fd_io__top_power_lvc_wpad sky130_fd_io__top_power_lvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -1108,15 +1151,16 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .P_CORE(VCCD), - .P_PAD(VCCD_PAD), .OGC_LVC(), .BDY2_B2B(VSSIO), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_LVC1(VCCD), .DRN_LVC2(VCCD), .SRC_BDY_LVC1(VSSD), - .SRC_BDY_LVC2(VSSD) + .SRC_BDY_LVC2(VSSD), + `endif // USE_POWER_PINS + .P_PAD(VCCD_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -1145,6 +1189,7 @@ // Instantiate the underlying ground pad (connects G_PAD to VSSD) sky130_fd_io__top_ground_lvc_wpad sky130_fd_io__top_ground_lvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -1156,15 +1201,16 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .G_CORE(VSSD), - .G_PAD(VSSD_PAD), .OGC_LVC(), .BDY2_B2B(VSSIO), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_LVC1(VCCD), .DRN_LVC2(VCCD), .SRC_BDY_LVC1(VSSD), - .SRC_BDY_LVC2(VSSD) + .SRC_BDY_LVC2(VSSD), + `endif // USE_POWER_PINS + .G_PAD(VSSD_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -1196,6 +1242,7 @@ // Instantiate the underlying power pad (connects P_PAD to VCCD1) sky130_fd_io__top_power_lvc_wpad sky130_fd_io__top_power_lvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -1207,15 +1254,16 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .P_CORE(VCCD1), - .P_PAD(VCCD_PAD), .OGC_LVC(), .BDY2_B2B(VSSIO), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_LVC1(VCCD1), .DRN_LVC2(VCCD1), .SRC_BDY_LVC1(VSSD1), - .SRC_BDY_LVC2(VSSD1) + .SRC_BDY_LVC2(VSSD1), + `endif // USE_POWER_PINS + .P_PAD(VCCD_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -1247,6 +1295,7 @@ // Instantiate the underlying ground pad (connects G_PAD to VSSD1) sky130_fd_io__top_ground_lvc_wpad sky130_fd_io__top_ground_lvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -1258,15 +1307,16 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .G_CORE(VSSD1), - .G_PAD(VSSD_PAD), .OGC_LVC(), .BDY2_B2B(VSSIO), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_LVC1(VCCD1), .DRN_LVC2(VCCD1), .SRC_BDY_LVC1(VSSD1), - .SRC_BDY_LVC2(VSSD1) + .SRC_BDY_LVC2(VSSD1), + `endif // USE_POWER_PINS + .G_PAD(VSSD_PAD), + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B) ); endmodule @@ -1297,6 +1347,7 @@ // Instantiate the underlying power pad (connects P_PAD to VCCD) sky130_fd_io__top_power_hvc_wpadv2 sky130_fd_io__top_power_hvc_base ( + `ifdef USE_POWER_PINS .VSSA(VSSA), .VDDA(VDDA), .VSWITCH(VSWITCH), @@ -1308,13 +1359,18 @@ .VSSD(VSSD), .VSSIO_Q(VSSIO_Q), .P_CORE(P_CORE), + .OGC_HVC(), + .DRN_HVC(DRN_HVC), + .SRC_BDY_HVC(SRC_BDY_HVC), + `endif // USE_POWER_PINS .P_PAD(P_PAD), .OGC_HVC(), - .AMUXBUS_A(AMUXBUS_A), - .AMUXBUS_B(AMUXBUS_B), .DRN_HVC(DRN_HVC), - .SRC_BDY_HVC(SRC_BDY_HVC) - ); + .SRC_BDY_HVC(SRC_BDY_HVC), + `endif // USE_POWER_PINS + .AMUXBUS_A(AMUXBUS_A), + .AMUXBUS_B(AMUXBUS_B), +); endmodule