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

`include "disciplines.vams"
 
module trans_ld_100tx_bias ( ibias_rext_50u,ibias_100tx_100u,FBI,VDD,
siddq,tx_vbias,switch_vbias,VSS,TX_on,FBO,tx_ibias_400u ); 

input   ibias_rext_50u;
input   ibias_100tx_100u;
input   FBI;

input   VDD;
input   siddq;
output   tx_vbias;
output   switch_vbias;

input   VSS;
input   TX_on;
output   FBO;
input   tx_ibias_400u;

 
 
gpdk090_resnsppoly #(.w(2u), .r(80.0031K), .l(400.029u)) (*
integer 
library_binding = "gpdk090";
 *)
R1 ( tx_vbias, tx_ibias_400u, VSS );
 
gpdk090_pmos2v #(.ps(24.72u), .m(1 * 5), .as(7.2p), .l(4u), .pd(24.72u),
 .ad(7.2p), .w(20u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM27 ( net104, net105, VDD, VDD );
gpdk090_pmos2v #(.ps(24.72u), .m(1 * 5), .as(7.2p), .l(4u), .pd(24.72u),
 .ad(7.2p), .w(20u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM29 ( net105, net105, VDD, VDD );
gpdk090_pmos2v #(.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";
 *)
PM13 ( net105, \100TX_en , VDD, VDD );
 
gpdk090_nmos2v #(.ps(35.4u), .m(1 * 4), .as(10.35p), .l(280.0n), .pd(23.6u),
 .ad(6.9p), .w(23u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM22 ( tx_ibias_400u, ibias_100tx_100u, 
net286, VSS );
gpdk090_nmos2v #(.ps(4.65u), .m(1 * 4), .as(1.125p), .l(2u), .pd(3.1u),
 .ad(750f), .w(2.5u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM28 ( net105, ibias_rext_50u, VSS, VSS );
gpdk090_nmos2v #(.ps(36.9u), .m(1 * 4), .as(10.8p), .l(300n), .pd(24.6u),
 .ad(7.2p), .w(24u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM19 ( switch_vbias, off, VSS, VSS );
gpdk090_nmos2v #(.ps(36.9u), .m(1 * 4), .as(10.8p), .l(300n), .pd(24.6u),
 .ad(7.2p), .w(24u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM20 ( FBO, off, VSS, VSS );
gpdk090_nmos2v #(.ps(4.65u), .m(1 * 4), .as(1.125p), .l(2u), .pd(3.1u),
 .ad(750f), .w(2.5u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM26 ( ibias_rext_50u, ibias_rext_50u, VSS, 
VSS );
gpdk090_nmos2v #(.ps(36.9u), .m(1 * 4), .as(10.8p), .l(300n), .pd(24.6u),
 .ad(7.2p), .w(24u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM25 ( net286, off, VSS, VSS );
gpdk090_nmos2v #(.ps(36.9u), .m(1 * 4), .as(10.8p), .l(300n), .pd(24.6u),
 .ad(7.2p), .w(24u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM18 ( tx_ibias_400u, off, VSS, VSS );
gpdk090_nmos2v #(.ps(35.4u), .m(1 * 4), .as(10.35p), .l(280.0n), .pd(23.6u),
 .ad(6.9p), .w(23u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM8 ( VDD, switch_vbias, FBO, VSS );
gpdk090_nmos2v #(.ps(36.9u), .m(1 * 4), .as(10.8p), .l(300n), .pd(24.6u),
 .ad(7.2p), .w(24u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM44 ( ibias_rext_50u, off, VSS, VSS );
gpdk090_nmos2v #(.ps(17.16u), .m(1 * 20), .as(4.95p), .l(760.0n), .pd(15.6u),
 .ad(4.5p), .w(15u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM1 ( VSS, ibias_100tx_100u, VSS, VSS );
gpdk090_nmos2v #(.ps(49.2u), .m(1 * 2), .as(14.4p), .l(1u), .pd(24.6u),
 .ad(7.2p), .w(24u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM7 ( FBO, tx_vbias, VSS, VSS );
gpdk090_nmos2v #(.ps(17.16u), .m(1 * 20), .as(4.95p), .l(760.0n), .pd(15.6u),
 .ad(4.5p), .w(15u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM43 ( ibias_100tx_100u, off, VSS, VSS );
gpdk090_nmos2v #(.ps(49.2u), .m(1 * 2), .as(14.4p), .l(1u), .pd(24.6u),
 .ad(7.2p), .w(24u)) (*
integer library_binding = "gpdk090";
integer 
passed_mfactor = "m";
 *)
NM16 ( net286, tx_ibias_400u, VSS, VSS );
 
gpdk090_nmoscap2v #(.m(2 * 5), .l(6.305u), .w(6.285u)) (*
integer 
library_binding = "gpdk090";
integer passed_mfactor = "m";
 *)
C0 ( 
VSS, switch_vbias, VSS, VSS );
gpdk090_nmoscap2v #(.m(2 * 5), .l(5.745u), .w(5.725u)) (*
integer 
library_binding = "gpdk090";
integer passed_mfactor = "m";
 *)
C2 ( 
VSS, switch_vbias, VSS, VSS );
gpdk090_nmoscap2v #(.m(1 * 10), .l(4.065u), .w(4.055u)) (*
integer 
library_binding = "gpdk090";
integer passed_mfactor = "m";
 *)
C1 ( 
VSS, tx_vbias, VSS, VSS );
 
trans_inv_1X (*
integer library_binding = "ether";
 *)
I33 ( .Vgnd( 
VSS ), .in( TX_on ), .out( net082 ), .Vpwr( VDD ) );
trans_inv_1X (*
integer library_binding = "ether";
 *)
I34 ( .Vgnd( 
VSS ), .in( \100TX_en  ), .out( off ), .Vpwr( VDD ) );
 
trans_NOR_1X (*
integer library_binding = "ether";
 *)
I30 ( .Vgnd( 
VSS ), .Y( \100TX_en  ), .B( siddq ), .Vpwr( VDD ), .A( net082 ) );
 
trans_ld_100tx_bias_cascode (*
integer library_binding = "ether";
 *)

I22 ( .S( VSS ), .D( ibias_100tx_100u ), .G( ibias_100tx_100u ), .B( 
VSS ) );
 
trans_ld_100tx_opamp_pfet (*
integer library_binding = "ether";

integer cds_net_set[0:1] = { "DVDD","DVSS" };
integer DVDD = "VDD";

integer DVSS = "VSS";
 *)
I16 ( .ibias( net104 ), .inp( net286 ), .vss( 
VSS ), .vdd( VDD ), .siddq( siddq ), .inm( FBI ), .out( switch_vbias ) );

endmodule
