Refactor mgmt_protect.v into separate islands
diff --git a/verilog/rtl/caravel.v b/verilog/rtl/caravel.v index 430b2f5..d58aa9b 100644 --- a/verilog/rtl/caravel.v +++ b/verilog/rtl/caravel.v
@@ -70,6 +70,8 @@ `include "chip_io.v" `endif +`include "mprj_logic_high.v" +`include "mprj2_logic_high.v" `include "sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped.v" `include "mgmt_protect.v" `include "mgmt_protect_hv.v"
diff --git a/verilog/rtl/mgmt_protect.v b/verilog/rtl/mgmt_protect.v index 25e0b8e..5220bce 100644 --- a/verilog/rtl/mgmt_protect.v +++ b/verilog/rtl/mgmt_protect.v
@@ -95,26 +95,20 @@ wire [127:0] la_data_in_mprj_bar; - sky130_fd_sc_hd__conb_1 mprj_logic_high [458:0] ( + mprj_logic_high mprj_logic_high_inst ( `ifdef USE_POWER_PINS - .VPWR(vccd1), - .VGND(vssd1), - .VPB(vccd1), - .VNB(vssd1), + .vccd1(vccd1), + .vssd1(vssd1), `endif - .HI(mprj_logic1), - .LO() + .HI(mprj_logic1) ); - sky130_fd_sc_hd__conb_1 mprj2_logic_high ( + mprj2_logic_high mprj2_logic_high_inst ( `ifdef USE_POWER_PINS - .VPWR(vccd2), - .VGND(vssd2), - .VPB(vccd2), - .VNB(vssd2), + .vccd2(vccd2), + .vssd2(vssd2), `endif - .HI(mprj2_logic1), - .LO() + .HI(mprj2_logic1) ); // Logic high in the VDDA (3.3V) domains
diff --git a/verilog/rtl/mprj2_logic_high.v b/verilog/rtl/mprj2_logic_high.v new file mode 100644 index 0000000..f57f173 --- /dev/null +++ b/verilog/rtl/mprj2_logic_high.v
@@ -0,0 +1,18 @@ +module mprj2_logic_high ( +`ifdef USE_POWER_PINS + inout vccd2, + inout vssd2, +`endif + output HI +); +sky130_fd_sc_hd__conb_1 inst ( +`ifdef USE_POWER_PINS + .VPWR(vccd2), + .VGND(vssd2), + .VPB(vccd2), + .VNB(vssd2), +`endif + .HI(HI), + .LO() + ); +endmodule
diff --git a/verilog/rtl/mprj_logic_high.v b/verilog/rtl/mprj_logic_high.v new file mode 100644 index 0000000..24cda90 --- /dev/null +++ b/verilog/rtl/mprj_logic_high.v
@@ -0,0 +1,18 @@ +module mprj_logic_high ( +`ifdef USE_POWER_PINS + inout vccd1, + inout vssd1, +`endif + output [458:0] HI +); +sky130_fd_sc_hd__conb_1 insts [458:0] ( +`ifdef USE_POWER_PINS + .VPWR(vccd1), + .VGND(vssd1), + .VPB(vccd1), + .VNB(vssd1), +`endif + .HI(HI), + .LO() + ); +endmodule