Two more changes: (1) Correction to chip_io_alt.v RTL verilog to

match what was done earlier on chip_io.v, and (2) Corrected a
set of four labels in chip_io_alt.mag which had been rotated,
causing an error in LVS.
This commit is contained in:
Tim Edwards 2021-12-07 17:16:44 -05:00
parent 624317bc3f
commit 489bddcf98
2 changed files with 1217 additions and 1259 deletions

File diff suppressed because it is too large Load Diff

View File

@ -159,73 +159,58 @@ module chip_io_alt #(
sky130_ef_io__vddio_hvc_clamped_pad \mgmt_vddio_hvclamp_pad[0] (
`MGMT_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VDDIO(vddio)
`else
,.VDDIO_PAD(vddio_pad)
`ifndef TOP_ROUTING
.VDDIO_PAD(vddio_pad)
`endif
);
// lies in user area 2
sky130_ef_io__vddio_hvc_clamped_pad \mgmt_vddio_hvclamp_pad[1] (
`USER2_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VDDIO(vddio)
`else
,.VDDIO_PAD(vddio_pad2)
`ifndef TOP_ROUTING
.VDDIO_PAD(vddio_pad2)
`endif
);
sky130_ef_io__vdda_hvc_clamped_pad mgmt_vdda_hvclamp_pad (
`MGMT_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VDDA(vdda)
`else
,.VDDA_PAD(vdda_pad)
`endif );
`ifndef TOP_ROUTING
.VDDA_PAD(vdda_pad)
`endif
);
sky130_ef_io__vccd_lvc_clamped_pad mgmt_vccd_lvclamp_pad (
`MGMT_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VCCD(vccd)
`else
,.VCCD_PAD(vccd_pad)
`ifndef TOP_ROUTING
.VCCD_PAD(vccd_pad)
`endif
);
sky130_ef_io__vssio_hvc_clamped_pad \mgmt_vssio_hvclamp_pad[0] (
`MGMT_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VSSIO(vssio)
`else
,.VSSIO_PAD(vssio_pad)
`endif
`ifndef TOP_ROUTING
.VSSIO_PAD(vssio_pad)
`endif
);
sky130_ef_io__vssio_hvc_clamped_pad \mgmt_vssio_hvclamp_pad[1] (
`USER2_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VSSIO(vssio)
`else
,.VSSIO_PAD(vssio_pad2)
`ifndef TOP_ROUTING
.VSSIO_PAD(vssio_pad2)
`endif
);
sky130_ef_io__vssa_hvc_clamped_pad mgmt_vssa_hvclamp_pad (
`MGMT_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VSSA(vssa)
`else
,.VSSA_PAD(vssa_pad)
`ifndef TOP_ROUTING
.VSSA_PAD(vssa_pad)
`endif
);
sky130_ef_io__vssd_lvc_clamped_pad mgmt_vssd_lvclamp_pad (
`MGMT_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VSSD(vssd)
`else
,.VSSD_PAD(vssd_pad)
`ifndef TOP_ROUTING
.VSSD_PAD(vssd_pad)
`endif
);
@ -234,57 +219,47 @@ module chip_io_alt #(
sky130_ef_io__vdda_hvc_clamped_pad \user1_vdda_hvclamp_pad[0] (
`USER1_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VDDA(vdda1)
`else
,.VDDA_PAD(vdda1_pad)
`ifndef TOP_ROUTING
.VDDA_PAD(vdda1_pad)
`endif
);
sky130_ef_io__vdda_hvc_clamped_pad \user1_vdda_hvclamp_pad[1] (
`USER1_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VDDA(vdda1)
`else
,.VDDA_PAD(vdda1_pad2)
`ifndef TOP_ROUTING
.VDDA_PAD(vdda1_pad2)
`endif
);
sky130_ef_io__vccd_lvc_clamped3_pad user1_vccd_lvclamp_pad (
`USER1_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VCCD1(vccd1),
.VSSD1(vssd1)
`else
,.VCCD_PAD(vccd1_pad)
.VSSD1(vssd1),
`ifndef TOP_ROUTING
.VCCD_PAD(vccd1_pad)
`endif
);
sky130_ef_io__vssa_hvc_clamped_pad \user1_vssa_hvclamp_pad[0] (
`USER1_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VSSA(vssa1)
`else
,.VSSA_PAD(vssa1_pad)
`ifndef TOP_ROUTING
.VSSA_PAD(vssa1_pad)
`endif
);
sky130_ef_io__vssa_hvc_clamped_pad \user1_vssa_hvclamp_pad[1] (
`USER1_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VSSA(vssa1)
`else
,.VSSA_PAD(vssa1_pad2)
`ifndef TOP_ROUTING
.VSSA_PAD(vssa1_pad2)
`endif
);
sky130_ef_io__vssd_lvc_clamped3_pad user1_vssd_lvclamp_pad (
`USER1_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VCCD1(vccd1),
.VSSD1(vssd1)
`else
,.VSSD_PAD(vssd1_pad)
.VSSD1(vssd1),
`ifndef TOP_ROUTING
.VSSD_PAD(vssd1_pad)
`endif
);
@ -293,39 +268,33 @@ module chip_io_alt #(
sky130_ef_io__vdda_hvc_clamped_pad user2_vdda_hvclamp_pad (
`USER2_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VDDA(vdda2)
`else
,.VDDA_PAD(vdda2_pad)
`ifndef TOP_ROUTING
.VDDA_PAD(vdda2_pad)
`endif
);
sky130_ef_io__vccd_lvc_clamped3_pad user2_vccd_lvclamp_pad (
`USER2_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VCCD1(vccd2),
.VSSD1(vssd2)
`else
,.VCCD_PAD(vccd2_pad)
.VSSD1(vssd2),
`ifndef TOP_ROUTING
.VCCD_PAD(vccd2_pad)
`endif
);
sky130_ef_io__vssa_hvc_clamped_pad user2_vssa_hvclamp_pad (
`USER2_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VSSA(vssa2)
`else
,.VSSA_PAD(vssa2_pad)
`ifndef TOP_ROUTING
.VSSA_PAD(vssa2_pad)
`endif
);
sky130_ef_io__vssd_lvc_clamped3_pad user2_vssd_lvclamp_pad (
`USER2_ABUTMENT_PINS
`ifdef TOP_ROUTING
.VCCD1(vccd2),
.VSSD1(vssd2)
`else
,.VSSD_PAD(vssd2_pad)
.VSSD1(vssd2),
`ifndef TOP_ROUTING
.VSSD_PAD(vssd2_pad)
`endif
);
@ -333,8 +302,7 @@ module chip_io_alt #(
sky130_ef_io__analog_pad user1_analog_pad [ANALOG_PADS_1-2:0] (
`USER1_ABUTMENT_PINS
`ifndef TOP_ROUTING
// .VDDIO(vddio)
,.P_PAD(mprj_io[`MPRJ_IO_PADS_1-2:`MPRJ_IO_PADS_1-ANALOG_PADS_1]),
.P_PAD(mprj_io[`MPRJ_IO_PADS_1-2:`MPRJ_IO_PADS_1-ANALOG_PADS_1]),
`endif
.P_CORE(mprj_analog[ANALOG_PADS_1-2:0])
);
@ -343,8 +311,7 @@ module chip_io_alt #(
sky130_ef_io__top_power_hvc user1_analog_pad_with_clamp (
`USER1_ABUTMENT_PINS
`ifndef TOP_ROUTING
// .VDDIO(vddio)
,.P_PAD(mprj_io[`MPRJ_IO_PADS_1-1]),
.P_PAD(mprj_io[`MPRJ_IO_PADS_1-1]),
`endif
`HVCLAMP_PINS(mprj_clamp_high[0],
mprj_clamp_low[0]),
@ -355,18 +322,15 @@ module chip_io_alt #(
sky130_ef_io__analog_pad user2_analog_pad [ANALOG_PADS_2-3:0] (
`USER2_ABUTMENT_PINS
`ifndef TOP_ROUTING
// .VDDIO(vddio)
,.P_PAD(mprj_io[`MPRJ_IO_PADS_1+ANALOG_PADS_2-1:`MPRJ_IO_PADS_1+2]),
.P_PAD(mprj_io[`MPRJ_IO_PADS_1+ANALOG_PADS_2-1:`MPRJ_IO_PADS_1+2]),
`endif
.P_CORE(mprj_analog[ANALOG_PADS_2+ANALOG_PADS_1-1:ANALOG_PADS_1+2])
);
// Last two analog pads are power pads, to provide clamp resources.
sky130_ef_io__top_power_hvc user2_analog_pad_with_clamp [1:0] (
`USER2_ABUTMENT_PINS
`ifndef TOP_ROUTING
// .VDDIO(vddio)
,.P_PAD(mprj_io[`MPRJ_IO_PADS_1+1:`MPRJ_IO_PADS_1]),
.P_PAD(mprj_io[`MPRJ_IO_PADS_1+1:`MPRJ_IO_PADS_1]),
`endif
`HVCLAMP_PINS(mprj_clamp_high[2:1], mprj_clamp_low[2:1]),
.P_CORE(mprj_analog[`ANALOG_PADS_1+1:ANALOG_PADS_1])
@ -407,7 +371,7 @@ module chip_io_alt #(
sky130_fd_io__top_xres4v2 resetb_pad (
`MGMT_ABUTMENT_PINS
`ifndef TOP_ROUTING
,.PAD(resetb),
.PAD(resetb),
`endif
.TIE_WEAK_HI_H(xresloop), // Loop-back connection to pad through pad_a_esd_h
.TIE_HI_ESD(),
@ -440,11 +404,9 @@ module chip_io_alt #(
.VDDA(vdda),
.VCCD(vccd),
.VCCHIB(vccd)
`else
.VCCHIB()
`endif
);
sky130_ef_io__corner_pad user1_corner (
`ifndef TOP_ROUTING
.VSSIO(vssio),
@ -459,8 +421,6 @@ module chip_io_alt #(
.VDDA(vdda1),
.VCCD(vccd),
.VCCHIB(vccd)
`else
.VCCHIB()
`endif
);
sky130_ef_io__corner_pad user2_corner (
@ -477,8 +437,6 @@ module chip_io_alt #(
.VDDA(vdda2),
.VCCD(vccd),
.VCCHIB(vccd)
`else
.VCCHIB()
`endif
);