mirror of https://github.com/efabless/caravel.git
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:
parent
624317bc3f
commit
489bddcf98
2336
mag/chip_io_alt.mag
2336
mag/chip_io_alt.mag
File diff suppressed because it is too large
Load Diff
|
@ -159,73 +159,58 @@ module chip_io_alt #(
|
||||||
|
|
||||||
sky130_ef_io__vddio_hvc_clamped_pad \mgmt_vddio_hvclamp_pad[0] (
|
sky130_ef_io__vddio_hvc_clamped_pad \mgmt_vddio_hvclamp_pad[0] (
|
||||||
`MGMT_ABUTMENT_PINS
|
`MGMT_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
.VDDIO(vddio)
|
.VDDIO_PAD(vddio_pad)
|
||||||
`else
|
|
||||||
,.VDDIO_PAD(vddio_pad)
|
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
// lies in user area 2
|
// lies in user area 2
|
||||||
sky130_ef_io__vddio_hvc_clamped_pad \mgmt_vddio_hvclamp_pad[1] (
|
sky130_ef_io__vddio_hvc_clamped_pad \mgmt_vddio_hvclamp_pad[1] (
|
||||||
`USER2_ABUTMENT_PINS
|
`USER2_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
.VDDIO(vddio)
|
.VDDIO_PAD(vddio_pad2)
|
||||||
`else
|
|
||||||
,.VDDIO_PAD(vddio_pad2)
|
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
sky130_ef_io__vdda_hvc_clamped_pad mgmt_vdda_hvclamp_pad (
|
sky130_ef_io__vdda_hvc_clamped_pad mgmt_vdda_hvclamp_pad (
|
||||||
`MGMT_ABUTMENT_PINS
|
`MGMT_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
.VDDA(vdda)
|
.VDDA_PAD(vdda_pad)
|
||||||
`else
|
`endif
|
||||||
,.VDDA_PAD(vdda_pad)
|
);
|
||||||
`endif );
|
|
||||||
|
|
||||||
sky130_ef_io__vccd_lvc_clamped_pad mgmt_vccd_lvclamp_pad (
|
sky130_ef_io__vccd_lvc_clamped_pad mgmt_vccd_lvclamp_pad (
|
||||||
`MGMT_ABUTMENT_PINS
|
`MGMT_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
.VCCD(vccd)
|
.VCCD_PAD(vccd_pad)
|
||||||
`else
|
|
||||||
,.VCCD_PAD(vccd_pad)
|
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
sky130_ef_io__vssio_hvc_clamped_pad \mgmt_vssio_hvclamp_pad[0] (
|
sky130_ef_io__vssio_hvc_clamped_pad \mgmt_vssio_hvclamp_pad[0] (
|
||||||
`MGMT_ABUTMENT_PINS
|
`MGMT_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
.VSSIO(vssio)
|
.VSSIO_PAD(vssio_pad)
|
||||||
`else
|
|
||||||
,.VSSIO_PAD(vssio_pad)
|
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
sky130_ef_io__vssio_hvc_clamped_pad \mgmt_vssio_hvclamp_pad[1] (
|
sky130_ef_io__vssio_hvc_clamped_pad \mgmt_vssio_hvclamp_pad[1] (
|
||||||
`USER2_ABUTMENT_PINS
|
`USER2_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
.VSSIO(vssio)
|
.VSSIO_PAD(vssio_pad2)
|
||||||
`else
|
|
||||||
,.VSSIO_PAD(vssio_pad2)
|
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
sky130_ef_io__vssa_hvc_clamped_pad mgmt_vssa_hvclamp_pad (
|
sky130_ef_io__vssa_hvc_clamped_pad mgmt_vssa_hvclamp_pad (
|
||||||
`MGMT_ABUTMENT_PINS
|
`MGMT_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
.VSSA(vssa)
|
.VSSA_PAD(vssa_pad)
|
||||||
`else
|
|
||||||
,.VSSA_PAD(vssa_pad)
|
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
sky130_ef_io__vssd_lvc_clamped_pad mgmt_vssd_lvclamp_pad (
|
sky130_ef_io__vssd_lvc_clamped_pad mgmt_vssd_lvclamp_pad (
|
||||||
`MGMT_ABUTMENT_PINS
|
`MGMT_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
.VSSD(vssd)
|
.VSSD_PAD(vssd_pad)
|
||||||
`else
|
|
||||||
,.VSSD_PAD(vssd_pad)
|
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -234,57 +219,47 @@ module chip_io_alt #(
|
||||||
|
|
||||||
sky130_ef_io__vdda_hvc_clamped_pad \user1_vdda_hvclamp_pad[0] (
|
sky130_ef_io__vdda_hvc_clamped_pad \user1_vdda_hvclamp_pad[0] (
|
||||||
`USER1_ABUTMENT_PINS
|
`USER1_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
.VDDA(vdda1)
|
.VDDA_PAD(vdda1_pad)
|
||||||
`else
|
|
||||||
,.VDDA_PAD(vdda1_pad)
|
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
sky130_ef_io__vdda_hvc_clamped_pad \user1_vdda_hvclamp_pad[1] (
|
sky130_ef_io__vdda_hvc_clamped_pad \user1_vdda_hvclamp_pad[1] (
|
||||||
`USER1_ABUTMENT_PINS
|
`USER1_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
.VDDA(vdda1)
|
.VDDA_PAD(vdda1_pad2)
|
||||||
`else
|
|
||||||
,.VDDA_PAD(vdda1_pad2)
|
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
sky130_ef_io__vccd_lvc_clamped3_pad user1_vccd_lvclamp_pad (
|
sky130_ef_io__vccd_lvc_clamped3_pad user1_vccd_lvclamp_pad (
|
||||||
`USER1_ABUTMENT_PINS
|
`USER1_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
|
||||||
.VCCD1(vccd1),
|
.VCCD1(vccd1),
|
||||||
.VSSD1(vssd1)
|
.VSSD1(vssd1),
|
||||||
`else
|
`ifndef TOP_ROUTING
|
||||||
,.VCCD_PAD(vccd1_pad)
|
.VCCD_PAD(vccd1_pad)
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
sky130_ef_io__vssa_hvc_clamped_pad \user1_vssa_hvclamp_pad[0] (
|
sky130_ef_io__vssa_hvc_clamped_pad \user1_vssa_hvclamp_pad[0] (
|
||||||
`USER1_ABUTMENT_PINS
|
`USER1_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
.VSSA(vssa1)
|
.VSSA_PAD(vssa1_pad)
|
||||||
`else
|
|
||||||
,.VSSA_PAD(vssa1_pad)
|
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
sky130_ef_io__vssa_hvc_clamped_pad \user1_vssa_hvclamp_pad[1] (
|
sky130_ef_io__vssa_hvc_clamped_pad \user1_vssa_hvclamp_pad[1] (
|
||||||
`USER1_ABUTMENT_PINS
|
`USER1_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
.VSSA(vssa1)
|
.VSSA_PAD(vssa1_pad2)
|
||||||
`else
|
|
||||||
,.VSSA_PAD(vssa1_pad2)
|
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
sky130_ef_io__vssd_lvc_clamped3_pad user1_vssd_lvclamp_pad (
|
sky130_ef_io__vssd_lvc_clamped3_pad user1_vssd_lvclamp_pad (
|
||||||
`USER1_ABUTMENT_PINS
|
`USER1_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
|
||||||
.VCCD1(vccd1),
|
.VCCD1(vccd1),
|
||||||
.VSSD1(vssd1)
|
.VSSD1(vssd1),
|
||||||
`else
|
`ifndef TOP_ROUTING
|
||||||
,.VSSD_PAD(vssd1_pad)
|
.VSSD_PAD(vssd1_pad)
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -293,39 +268,33 @@ module chip_io_alt #(
|
||||||
|
|
||||||
sky130_ef_io__vdda_hvc_clamped_pad user2_vdda_hvclamp_pad (
|
sky130_ef_io__vdda_hvc_clamped_pad user2_vdda_hvclamp_pad (
|
||||||
`USER2_ABUTMENT_PINS
|
`USER2_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
.VDDA(vdda2)
|
.VDDA_PAD(vdda2_pad)
|
||||||
`else
|
|
||||||
,.VDDA_PAD(vdda2_pad)
|
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
sky130_ef_io__vccd_lvc_clamped3_pad user2_vccd_lvclamp_pad (
|
sky130_ef_io__vccd_lvc_clamped3_pad user2_vccd_lvclamp_pad (
|
||||||
`USER2_ABUTMENT_PINS
|
`USER2_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
|
||||||
.VCCD1(vccd2),
|
.VCCD1(vccd2),
|
||||||
.VSSD1(vssd2)
|
.VSSD1(vssd2),
|
||||||
`else
|
`ifndef TOP_ROUTING
|
||||||
,.VCCD_PAD(vccd2_pad)
|
.VCCD_PAD(vccd2_pad)
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
sky130_ef_io__vssa_hvc_clamped_pad user2_vssa_hvclamp_pad (
|
sky130_ef_io__vssa_hvc_clamped_pad user2_vssa_hvclamp_pad (
|
||||||
`USER2_ABUTMENT_PINS
|
`USER2_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
.VSSA(vssa2)
|
.VSSA_PAD(vssa2_pad)
|
||||||
`else
|
|
||||||
,.VSSA_PAD(vssa2_pad)
|
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
sky130_ef_io__vssd_lvc_clamped3_pad user2_vssd_lvclamp_pad (
|
sky130_ef_io__vssd_lvc_clamped3_pad user2_vssd_lvclamp_pad (
|
||||||
`USER2_ABUTMENT_PINS
|
`USER2_ABUTMENT_PINS
|
||||||
`ifdef TOP_ROUTING
|
|
||||||
.VCCD1(vccd2),
|
.VCCD1(vccd2),
|
||||||
.VSSD1(vssd2)
|
.VSSD1(vssd2),
|
||||||
`else
|
`ifndef TOP_ROUTING
|
||||||
,.VSSD_PAD(vssd2_pad)
|
.VSSD_PAD(vssd2_pad)
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -333,8 +302,7 @@ module chip_io_alt #(
|
||||||
sky130_ef_io__analog_pad user1_analog_pad [ANALOG_PADS_1-2:0] (
|
sky130_ef_io__analog_pad user1_analog_pad [ANALOG_PADS_1-2:0] (
|
||||||
`USER1_ABUTMENT_PINS
|
`USER1_ABUTMENT_PINS
|
||||||
`ifndef TOP_ROUTING
|
`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
|
`endif
|
||||||
.P_CORE(mprj_analog[ANALOG_PADS_1-2:0])
|
.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 (
|
sky130_ef_io__top_power_hvc user1_analog_pad_with_clamp (
|
||||||
`USER1_ABUTMENT_PINS
|
`USER1_ABUTMENT_PINS
|
||||||
`ifndef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
// .VDDIO(vddio)
|
.P_PAD(mprj_io[`MPRJ_IO_PADS_1-1]),
|
||||||
,.P_PAD(mprj_io[`MPRJ_IO_PADS_1-1]),
|
|
||||||
`endif
|
`endif
|
||||||
`HVCLAMP_PINS(mprj_clamp_high[0],
|
`HVCLAMP_PINS(mprj_clamp_high[0],
|
||||||
mprj_clamp_low[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] (
|
sky130_ef_io__analog_pad user2_analog_pad [ANALOG_PADS_2-3:0] (
|
||||||
`USER2_ABUTMENT_PINS
|
`USER2_ABUTMENT_PINS
|
||||||
`ifndef TOP_ROUTING
|
`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
|
`endif
|
||||||
.P_CORE(mprj_analog[ANALOG_PADS_2+ANALOG_PADS_1-1:ANALOG_PADS_1+2])
|
.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.
|
// Last two analog pads are power pads, to provide clamp resources.
|
||||||
sky130_ef_io__top_power_hvc user2_analog_pad_with_clamp [1:0] (
|
sky130_ef_io__top_power_hvc user2_analog_pad_with_clamp [1:0] (
|
||||||
`USER2_ABUTMENT_PINS
|
|
||||||
`ifndef TOP_ROUTING
|
`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
|
`endif
|
||||||
`HVCLAMP_PINS(mprj_clamp_high[2:1], mprj_clamp_low[2:1]),
|
`HVCLAMP_PINS(mprj_clamp_high[2:1], mprj_clamp_low[2:1]),
|
||||||
.P_CORE(mprj_analog[`ANALOG_PADS_1+1:ANALOG_PADS_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 (
|
sky130_fd_io__top_xres4v2 resetb_pad (
|
||||||
`MGMT_ABUTMENT_PINS
|
`MGMT_ABUTMENT_PINS
|
||||||
`ifndef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
,.PAD(resetb),
|
.PAD(resetb),
|
||||||
`endif
|
`endif
|
||||||
.TIE_WEAK_HI_H(xresloop), // Loop-back connection to pad through pad_a_esd_h
|
.TIE_WEAK_HI_H(xresloop), // Loop-back connection to pad through pad_a_esd_h
|
||||||
.TIE_HI_ESD(),
|
.TIE_HI_ESD(),
|
||||||
|
@ -440,11 +404,9 @@ module chip_io_alt #(
|
||||||
.VDDA(vdda),
|
.VDDA(vdda),
|
||||||
.VCCD(vccd),
|
.VCCD(vccd),
|
||||||
.VCCHIB(vccd)
|
.VCCHIB(vccd)
|
||||||
`else
|
|
||||||
.VCCHIB()
|
|
||||||
`endif
|
`endif
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
sky130_ef_io__corner_pad user1_corner (
|
sky130_ef_io__corner_pad user1_corner (
|
||||||
`ifndef TOP_ROUTING
|
`ifndef TOP_ROUTING
|
||||||
.VSSIO(vssio),
|
.VSSIO(vssio),
|
||||||
|
@ -459,8 +421,6 @@ module chip_io_alt #(
|
||||||
.VDDA(vdda1),
|
.VDDA(vdda1),
|
||||||
.VCCD(vccd),
|
.VCCD(vccd),
|
||||||
.VCCHIB(vccd)
|
.VCCHIB(vccd)
|
||||||
`else
|
|
||||||
.VCCHIB()
|
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
sky130_ef_io__corner_pad user2_corner (
|
sky130_ef_io__corner_pad user2_corner (
|
||||||
|
@ -477,8 +437,6 @@ module chip_io_alt #(
|
||||||
.VDDA(vdda2),
|
.VDDA(vdda2),
|
||||||
.VCCD(vccd),
|
.VCCD(vccd),
|
||||||
.VCCHIB(vccd)
|
.VCCHIB(vccd)
|
||||||
`else
|
|
||||||
.VCCHIB()
|
|
||||||
`endif
|
`endif
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue