blob: 16a288e1c8d67208db8d5843e677a57dccb38342 [file] [log] [blame]
`ifndef TOP_ROUTING
`define ABUTMENT_PINS \
.amuxbus_a(analog_a),\
.amuxbus_b(analog_b),\
.vssa(vss),\
.vdda(vdd3v3),\
.vswitch(vdd3v3),\
.vddio_q(vddio_q),\
.vcchib(vdd1v8),\
.vddio(vdd),\
.vccd(vdd1v8),\
.vssio(vss),\
.vssd(vss),\
.vssio_q(vssio_q),
`else
`define ABUTMENT_PINS
`endif
`define INPUT_PAD(X,Y) \
wire loop_``X; \
s8iom0_gpiov2_pad X``_pad ( \
`ABUTMENT_PINS \
`ifndef TOP_ROUTING \
.pad(X), \
`endif \
.out(vss), \
.oe_n(vdd1v8), \
.hld_h_n(vdd3v3), \
.enable_h(porb_h), \
.enable_inp_h(loop_``X), \
.enable_vdda_h(porb_h), \
.enable_vswitch_h(vss), \
.enable_vddio(vdd1v8), \
.inp_dis(por), \
.ib_mode_sel(vss), \
.vtrip_sel(vss), \
.slow(vss), \
.hld_ovr(vss), \
.analog_en(vss), \
.analog_sel(vss), \
.analog_pol(vss), \
.dm({vss, vss, vdd1v8}), \
.pad_a_noesd_h(), \
.pad_a_esd_0_h(), \
.pad_a_esd_1_h(), \
.in(Y), \
.in_h(), \
.tie_hi_esd(), \
.tie_lo_esd(loop_``X) )
`define INPUT_PAD_ANALOG(X,SEL,POL) \
wire loop_``X; \
s8iom0_gpiov2_pad X``_pad ( \
`ABUTMENT_PINS \
`ifndef TOP_ROUTING \
.pad(X), \
`endif \
.out(vss), \
.oe_n(vdd1v8), \
.hld_h_n(vdd3v3), \
.enable_h(porb_h), \
.enable_inp_h(loop_``X), \
.enable_vdda_h(porb_h), \
.enable_vswitch_h(vss), \
.enable_vddio(vdd1v8), \
.inp_dis(vdd1v8), \
.ib_mode_sel(vss), \
.vtrip_sel(vss), \
.slow(vss), \
.hld_ovr(vss), \
.analog_en(vdd1v8), \
.analog_sel(SEL), \
.analog_pol(POL), \
.dm({vss, vss, vss}), \
.pad_a_noesd_h(), \
.pad_a_esd_0_h(), \
.pad_a_esd_1_h(), \
.in(), \
.in_h(), \
.tie_hi_esd(), \
.tie_lo_esd() )
`define INPUT_PAD_V(X,Y,V) \
wire [V-1:0] loop_``X; \
s8iom0_gpiov2_pad X``_pad [V-1:0] ( \
`ABUTMENT_PINS \
`ifndef TOP_ROUTING \
.pad(X),\
`endif \
.out(), \
.oe_n(vdd1v8), \
.hld_h_n(vdd3v3), \
.enable_h(vdd3v3), \
.enable_inp_h(loop_``X), \
.enable_vdda_h(vdd3v3), \
.enable_vswitch_h(vss), \
.enable_vddio(vdd1v8), \
.inp_dis(por), \
.ib_mode_sel(vss), \
.vtrip_sel(vss), \
.slow(vss), \
.hld_ovr(vss), \
.analog_en(vss), \
.analog_sel(vss), \
.analog_pol(vss), \
.dm({vss, vss, vdd1v8}), \
.pad_a_noesd_h(), \
.pad_a_esd_0_h(), \
.pad_a_esd_1_h(), \
.in(Y), \
.in_h(), \
.tie_hi_esd(), \
.tie_lo_esd(loop_``X) )
`define OUTPUT_PAD(X,Y,INP_DIS,OUT_EN_N) \
wire loop_``X; \
s8iom0_gpiov2_pad X``_pad ( \
`ABUTMENT_PINS \
`ifndef TOP_ROUTING \
.pad(X), \
`endif \
.out(Y), \
.oe_n(OUT_EN_N), \
.hld_h_n(vdd3v3), \
.enable_h(porb_h), \
.enable_inp_h(loop_``X), \
.enable_vdda_h(porb_h), \
.enable_vswitch_h(vss), \
.enable_vddio(vdd1v8), \
.inp_dis(INP_DIS), \
.ib_mode_sel(vss), \
.vtrip_sel(vss), \
.slow(vss), \
.hld_ovr(vss), \
.analog_en(vss), \
.analog_sel(vss), \
.analog_pol(vss), \
.dm({vdd1v8, vdd1v8, vss}), \
.pad_a_noesd_h(), \
.pad_a_esd_0_h(), \
.pad_a_esd_1_h(), \
.in(), \
.in_h(), \
.tie_hi_esd(), \
.tie_lo_esd(loop_``X))
`define INOUT_PAD_V(X,Y,Y_OUT,V,INP_DIS,OUT_EN_N,MODE) \
wire [V-1:0] loop_``X; \
s8iom0_gpiov2_pad X``_pad [V-1:0] ( \
`ABUTMENT_PINS \
`ifndef TOP_ROUTING \
.pad(X),\
`endif \
.out(Y_OUT), \
.oe_n(OUT_EN_N), \
.hld_h_n(vdd3v3), \
.enable_h(porb_h), \
.enable_inp_h(loop_``X), \
.enable_vdda_h(porb_h), \
.enable_vswitch_h(vss), \
.enable_vddio(vdd1v8), \
.inp_dis(INP_DIS), \
.ib_mode_sel(vss), \
.vtrip_sel(vss), \
.slow(vss), \
.hld_ovr(vss), \
.analog_en(vss), \
.analog_sel(vss), \
.analog_pol(vss), \
.dm(MODE), \
.pad_a_noesd_h(), \
.pad_a_esd_0_h(), \
.pad_a_esd_1_h(), \
.in(Y), \
.in_h(), \
.tie_hi_esd(), \
.tie_lo_esd(loop_``X) )
`define INOUT_PAD(X,Y,Y_OUT,INP_DIS,OUT_EN_N,MODE) \
s8iom0_gpiov2_pad X``_pad ( \
`ABUTMENT_PINS \
`ifndef TOP_ROUTING \
.pad(X),\
`endif \
.out(Y_OUT), \
.oe_n(OUT_EN_N), \
.hld_h_n(vdd3v3), \
.enable_h(porb_h), \
.enable_inp_h(loop_``X), \
.enable_vdda_h(porb_h), \
.enable_vswitch_h(vss), \
.enable_vddio(vdd1v8), \
.inp_dis(INP_DIS), \
.ib_mode_sel(vss), \
.vtrip_sel(vss), \
.slow(vss), \
.hld_ovr(vss), \
.analog_en(vss), \
.analog_sel(vss), \
.analog_pol(vss), \
.dm(MODE), \
.pad_a_noesd_h(), \
.pad_a_esd_0_h(), \
.pad_a_esd_1_h(), \
.in(Y), \
.in_h(), \
.tie_hi_esd(), \
.tie_lo_esd(loop_``X) )
`define MPRJ_IO_PAD_V(X,Y,Y_OUT,V,OUT_EN_N,HLD_N, ENH, INP_DIS, MODE_SEL, AN_EN, AN_SEL, AN_POL, MODE) \
wire [V-1:0] loop_``X; \
s8iom0_gpiov2_pad X``_pad [V-1:0] ( \
`ABUTMENT_PINS \
`ifndef TOP_ROUTING \
.pad(X),\
`endif \
.out(Y_OUT), \
.oe_n(OUT_EN_N), \
.hld_h_n(HLD_N), \
.enable_h(ENH), \
.enable_inp_h(loop_``X), \
.enable_vdda_h(porb_h), \
.enable_vswitch_h(vss), \
.enable_vddio(vdd1v8), \
.inp_dis(INP_DIS), \
.ib_mode_sel(MODE_SEL), \
.vtrip_sel(vss), \
.slow(vss), \
.hld_ovr(vss), \
.analog_en(AN_EN), \
.analog_sel(AN_SEL), \
.analog_pol(AN_POL), \
.dm(MODE), \
.pad_a_noesd_h(), \
.pad_a_esd_0_h(), \
.pad_a_esd_1_h(), \
.in(Y), \
.in_h(), \
.tie_hi_esd(), \
.tie_lo_esd(loop_``X) )
`define I2C_RX(X,Y) \
wire loop_``X; \
s8iom0s8_top_gpio_ovtv2 X``_pad ( \
`ABUTMENT_PINS \
`ifndef TOP_ROUTING \
.pad(X), \
`endif \
.out(vss), \
.oe_n(vdd1v8), \
.hld_h_n(vdd3v3), \
.enable_h(porb_h), \
.enable_inp_h(loop_``X), \
.enable_vdda_h(porb_h), \
.enable_vddio(vdd1v8), \
.enable_vswitch_h(vss), \
.inp_dis(por), \
.vtrip_sel(vss), \
.hys_trim(vdd1v8), \
.slow(vss), \
.slew_ctl({vss, vss}), \ // 2 bits
.hld_ovr(vss), \
.analog_en(vss), \
.analog_sel(vss), \
.analog_pol(vss), \
.dm({vss, vss, vdd1v8}), \ // 3 bits
.ib_mode_sel({vss, vss}), \ // 2 bits
.vinref(vdd1v8), \
.pad_a_noesd_h(), \
.pad_a_esd_0_h(), \
.pad_a_esd_1_h(), \
.in(Y), \
.in_h(), \
.tie_hi_esd(), \
.tie_lo_esd() )
`define I2C_TX(X,Y) \
wire loop_``X; \
s8iom0s8_top_gpio_ovtv2 X``_pad ( \
`ABUTMENT_PINS \
`ifndef TOP_ROUTING \
.pad(X), \
`endif \
.out(Y), \
.oe_n(vss), \
.hld_h_n(vdd3v3), \
.enable_h(porb_h), \
.enable_inp_h(loop_``X), \
.enable_vdda_h(porb_h), \
.enable_vddio(vdd1v8), \
.enable_vswitch_h(vss), \
.inp_dis(vdd1v8), \
.vtrip_sel(vss), \
.hys_trim(vdd1v8), \
.slow(vss), \
.slew_ctl({vss, vss}), \ // 2 bits
.hld_ovr(vss), \
.analog_en(vss), \
.analog_sel(vss), \
.analog_pol(vss), \
.dm({vdd1v8, vdd1v8, vss}), \ // 3 bits
.ib_mode_sel({vss, vss}), \ // 2 bits
.vinref(vdd1v8), \
.pad_a_noesd_h(), \
.pad_a_esd_0_h(), \
.pad_a_esd_1_h(), \
.in(), \
.in_h(), \
.tie_hi_esd(), \
.tie_lo_esd())