// Verilog-AMS netlist generated by the AMS netlister, version ICOA5.2.51.500.7.
// Cadence Design Systems, Inc.

`include "disciplines.vams"
 
module Analog_eq ( avdd,I_rext_100_2,agc_eq,Vref,dvdd,I_rext_100_4,inp,
I_rext_100_3,agc_eq_bypass,I_rext_100_1,outp,outm,dgnd,fdbk_out,siddq,
agnd,inm,timing_mode,fdbk_in ); 

input   avdd;
input   I_rext_100_2;
input [4:0]  agc_eq;
input  
 Vref;
input   dvdd;
input   I_rext_100_4;
input   inp;
input  
 I_rext_100_3;
input   agc_eq_bypass;
input   I_rext_100_1;
output  
 outp;
output   outm;
input   dgnd;
output   fdbk_out;
input   siddq;

input   agnd;
input   inm;
input   timing_mode;
input   fdbk_in;

wire [6:0] zero;
wire [4:0] gain_1p0;
wire [6:0] zero_1p0;
wire [1:0] pole_1p0;
wire [4:0] gain;
wire [1:0] pole;
wire [4:0] agc_eq_tieoff;
 
parameter strobes_on=0;
 
 
 
gpdk090_resnsppoly #(.w(5u), .r(9.99991K), .l(124.993u)) (*
integer 
library_binding = "gpdk090";
 *)
R1 ( outm, fdbk_out, agnd );
gpdk090_resnsppoly #(.w(5u), .r(9.99991K), .l(124.993u)) (*
integer 
library_binding = "gpdk090";
 *)
R2 ( fdbk_out, outp, agnd );
 
TIEHI (*
integer library_binding = "gsclib090";
integer cds_net_set
[0:1] = { "VSS","VDD" };
integer VSS = "dgnd";
integer VDD = "dvdd";

 *)
I111 ( .Y( agc_eq_tieoff[1] ) );
 
TIELO (*
integer library_binding = "gsclib090";
integer cds_net_set
[0:1] = { "VDD","VSS" };
integer VDD = "dvdd";
integer VSS = "dgnd";

 *)
I126 ( .Y( agc_eq_tieoff[4] ) );
TIELO (*
integer library_binding = "gsclib090";
integer cds_net_set
[0:1] = { "VSS","VDD" };
integer VSS = "dgnd";
integer VDD = "dvdd";

 *)
I125 ( .Y( agc_eq_tieoff[3] ) );
TIELO (*
integer library_binding = "gsclib090";
integer cds_net_set
[0:1] = { "VDD","VSS" };
integer VDD = "dvdd";
integer VSS = "dgnd";

 *)
I114 ( .Y( agc_eq_tieoff[2] ) );
TIELO (*
integer library_binding = "gsclib090";
integer cds_net_set
[0:1] = { "VSS","VDD" };
integer VSS = "dgnd";
integer VDD = "dvdd";

 *)
I113 ( .Y( agc_eq_tieoff[0] ) );
 
gpdk090_pmos2v #(.ps(30.9u), .m(2 * 4), .as(9p), .l(280.0n), .pd(20.6u),
 .ad(6p), .w(20u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
PM13 ( net233, siddq, Vref, avdd );
gpdk090_pmos2v #(.ps(20.75u), .m(2 * 8), .as(6p), .l(5u), .pd(16.6u), 
.ad(4.8p), .w(16u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
PM2 ( net210, vbiasp2, avdd, avdd );
gpdk090_pmos2v #(.ps(24.53u), .m(1 * 2), .as(6.999p), .l(280.0n), .pd(12.265u),
 .ad(3.4995p), .w(11.665u)) (*
integer library_binding = "gpdk090";

integer passed_mfactor = "m";
 *)
PM8 ( agnd, net150, net303, net303 );
gpdk090_pmos2v #(.ps(24.53u), .m(1 * 2), .as(6.999p), .l(280.0n), .pd(12.265u),
 .ad(3.4995p), .w(11.665u)) (*
integer library_binding = "gpdk090";

integer passed_mfactor = "m";
 *)
PM11 ( agnd, net138, net210, net210 );
gpdk090_pmos2v #(.ps(15.7333u), .m(8 * 3), .as(4.48p), .l(280.0n), .pd(15.7333u),
 .ad(4.48p), .w(11.2u)) (*
integer library_binding = "gpdk090";

integer passed_mfactor = "m";
 *)
PM4 ( net150, vbiaspc, net301, avdd );
gpdk090_pmos2v #(.ps(15.7333u), .m(8 * 3), .as(4.48p), .l(280.0n), .pd(15.7333u),
 .ad(4.48p), .w(11.2u)) (*
integer library_binding = "gpdk090";

integer passed_mfactor = "m";
 *)
PM3 ( net138, vbiaspc, net297, avdd );
gpdk090_pmos2v #(.ps(10.32u), .m(12 * 5), .as(2.88p), .l(800n), .pd(10.32u),
 .ad(2.88p), .w(8u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
PM1 ( net297, vbiasp, avdd, avdd );
gpdk090_pmos2v #(.ps(10.32u), .m(12 * 5), .as(2.88p), .l(800n), .pd(10.32u),
 .ad(2.88p), .w(8u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
PM0 ( net301, vbiasp, avdd, avdd );
gpdk090_pmos2v #(.ps(20.75u), .m(2 * 8), .as(6p), .l(5u), .pd(16.6u), 
.ad(4.8p), .w(16u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
PM5 ( net303, vbiasp2, avdd, avdd );
 
gpdk090_nmos2v #(.ps(3.53u), .m(1 * 1), .as(699f), .l(280.0n), .pd(3.53u),
 .ad(699f), .w(1.165u)) (*
integer library_binding = "gpdk090";

integer passed_mfactor = "m";
 *)
NM24 ( net138, siddq, agnd, agnd );
gpdk090_nmos2v #(.ps(12.7467u), .m(4 * 3), .as(3.584p), .l(280.0n), .pd(12.7467u),
 .ad(3.584p), .w(8.96u)) (*
integer library_binding = "gpdk090";

integer passed_mfactor = "m";
 *)
NM14 ( net150, vbiasnc, net182, agnd );
gpdk090_nmos2v #(.ps(12.7467u), .m(4 * 3), .as(3.584p), .l(280.0n), .pd(12.7467u),
 .ad(3.584p), .w(8.96u)) (*
integer library_binding = "gpdk090";

integer passed_mfactor = "m";
 *)
NM11 ( net138, vbiasnc, net190, agnd );
gpdk090_nmos2v #(.ps(3.53u), .m(1 * 1), .as(699f), .l(280.0n), .pd(3.53u),
 .ad(699f), .w(1.165u)) (*
integer library_binding = "gpdk090";

integer passed_mfactor = "m";
 *)
NM25 ( net150, siddq, agnd, agnd );
gpdk090_nmos2v #(.ps(3.53u), .m(1 * 1), .as(699f), .l(280.0n), .pd(3.53u),
 .ad(699f), .w(1.165u)) (*
integer library_binding = "gpdk090";

integer passed_mfactor = "m";
 *)
NM15 ( net313, siddq, agnd, agnd );
gpdk090_nmos2v #(.ps(8.4u), .m(3 * 4), .as(2.25p), .l(1u), .pd(5.6u), 
.ad(1.5p), .w(5u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM8 ( outp, vbiasn2, agnd, agnd );
gpdk090_nmos2v #(.ps(41.2u), .m(2 * 1), .as(12p), .l(400n), .pd(41.2u),
 .ad(12p), .w(20u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM6 ( avdd, net210, outp, agnd );
gpdk090_nmos2v #(.ps(8.4u), .m(3 * 4), .as(2.25p), .l(1u), .pd(5.6u), 
.ad(1.5p), .w(5u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM7 ( outm, vbiasn2, agnd, agnd );
gpdk090_nmos2v #(.ps(41.2u), .m(2 * 1), .as(12p), .l(400n), .pd(41.2u),
 .ad(12p), .w(20u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM5 ( avdd, net303, outm, agnd );
gpdk090_nmos2v #(.ps(51.2u), .m(4 * 2), .as(15p), .l(500n), .pd(25.6u),
 .ad(7.5p), .w(25u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM9 ( net297, inm, Rminus, agnd );
gpdk090_nmos2v #(.ps(21.2u), .m(3 * 2), .as(6p), .l(1u), .pd(10.6u), .ad(3p),
 .w(10u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM3 ( Rplus, vbiasn3, agnd, agnd );
gpdk090_nmos2v #(.ps(25.2u), .m(6 * 2), .as(7.2p), .l(1u), .pd(12.6u),
 .ad(3.6p), .w(12u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM17 ( net182, vbiasn, agnd, agnd );
gpdk090_nmos2v #(.ps(21.2u), .m(3 * 2), .as(6p), .l(1u), .pd(10.6u), .ad(3p),
 .w(10u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM2 ( Rminus, vbiasn3, agnd, agnd );
gpdk090_nmos2v #(.ps(25.2u), .m(6 * 2), .as(7.2p), .l(1u), .pd(12.6u),
 .ad(3.6p), .w(12u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM10 ( net190, vbiasn, agnd, agnd );
gpdk090_nmos2v #(.ps(51.2u), .m(4 * 2), .as(15p), .l(500n), .pd(25.6u),
 .ad(7.5p), .w(25u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM4 ( net301, inp, Rplus, agnd );
 
gpdk090_nmoscap2v #(.m(1 * 4), .l(6.435u), .w(6.415u)) (*
integer 
library_binding = "gpdk090";
integer passed_mfactor = "m";
 *)
C0 ( 
agnd, net313, agnd, agnd );
 
analog_eq_cm_res (*
integer library_binding = "ether";
 *)
I42 ( .gnd( 
agnd ), .vdd( net233 ), .out( net313 ) );
 
Analog_eq_bias (*
integer library_binding = "ether";
 *)
I95 ( .I_rext_100_2( 
I_rext_100_2 ), .avdd( avdd ), .I_rext_100_4( I_rext_100_4 ), .Vbiasn3( 
vbiasn3 ), .vbiasnc( vbiasnc ), .vbiaspc( vbiaspc ), .I_rext_100_3( 
I_rext_100_3 ), .vbiasn( vbiasn ), .Vbiasp2( vbiasp2 ), .I_rext_100_1( 
I_rext_100_1 ), .vbiasp( vbiasp ), .agnd( agnd ), .siddq( siddq ), .vbiasn2( 
vbiasn2 ) );
 
AEQ_Dec #(.Vlow(0), .Vhigh(1), .Vthr(1.0)) (*
integer library_binding
 = "ether";
integer cds_net_set[0:1] = { "VDD","VSS" };
integer VDD
 = "dvdd";
integer VSS = "dgnd";
 *)
I96 ( .agc_eq( agc_eq_tieoff[4:0] ), 
.zero( zero_1p0[6:0] ), .agc_eq_bypass( agc_eq_bypass ), .gain( 
gain_1p0[4:0] ), .pole( pole_1p0[1:0] ), .timing_mode( timing_mode ) );
 
Analog_eq_pcaps_zero (*
integer library_binding = "ether";
 *)
I101 ( 
.zero( zero[6:0] ), .gnd( agnd ), .vdd( avdd ), .bot( Rminus ), .top( 
Rplus ) );
 
Analog_eq_pole (*
integer library_binding = "ether";
 *)
I108 ( .gnd( 
agnd ), .vdd( avdd ), .plus( net150 ), .pole( pole[1:0] ), .minus( 
net138 ) );
 
Analog_eq_cmf (*
integer library_binding = "ether";
 *)
I100 ( .In_P( 
net313 ), .In_N( fdbk_in ), .gnd( agnd ), .vdd( avdd ), .OutP2( net190 ), 
.vbiasp( vbiasp ), .siddq( siddq ), .OutP1( net182 ) );
 
Analog_eq_gain (*
integer library_binding = "ether";
 *)
I94 ( .gnd( 
agnd ), .Rminus( Rminus ), .gain( gain[4:0] ), .Rplus( Rplus ), .plus( 
net150 ), .minus( net138 ) );
 
AEQ_lvlshft_1p0_to_2p5 #(.mag(0.5)) (*
integer library_binding
 = "ether";
 *)
I109 ( .pole_2p5( pole[1:0] ), .gain_1p0( 
gain_1p0[4:0] ), .zero_1p0( zero_1p0[6:0] ), .pole_1p0( pole_1p0[1:0] ), 
.VDD_1p0( dvdd ), .zero_2p5( zero[6:0] ), .VDD_2p5( avdd ), .gain_2p5( 
gain[4:0] ), .VSS( dgnd ) );
 
capacitor #(.c(51f)) (*
integer library_binding = "analogLib";
 *)
C1
 ( Rplus, agnd );
capacitor #(.c(51f)) (*
integer library_binding = "analogLib";
 *)
C2
 ( Rminus, agnd );
capacitor #(.c(51f)) (*
integer library_binding = "analogLib";
 *)
C6
 ( net297, agnd );
capacitor #(.c(18f)) (*
integer library_binding = "analogLib";
 *)
C9
 ( net301, Rplus );
capacitor #(.c(18f)) (*
integer library_binding = "analogLib";
 *)
C10
 ( net297, Rminus );
capacitor #(.c(24f)) (*
integer library_binding = "analogLib";
 *)
C8
 ( net210, agnd );
capacitor #(.c(51f)) (*
integer library_binding = "analogLib";
 *)
C5
 ( net301, agnd );
capacitor #(.c(24f)) (*
integer library_binding = "analogLib";
 *)
C7
 ( net303, agnd );
capacitor #(.c(30f)) (*
integer library_binding = "analogLib";
 *)
C3
 ( net150, agnd );
capacitor #(.c(30f)) (*
integer library_binding = "analogLib";
 *)
C4
 ( net138, agnd );
capacitor #(.c(6f)) (*
integer library_binding = "analogLib";
 *)
C12
 ( net138, net297 );
capacitor #(.c(6f)) (*
integer library_binding = "analogLib";
 *)
C11
 ( net150, net301 );
capacitor #(.c(9f)) (*
integer library_binding = "analogLib";
 *)
C13
 ( net313, net182 );

endmodule
