339 lines
10 KiB
Plaintext
339 lines
10 KiB
Plaintext
`include "constants.h"
|
|
`include "discipline.h"
|
|
|
|
// uA741
|
|
// AD822
|
|
// LTC1050
|
|
// TL071
|
|
// NE5534
|
|
// OPA627
|
|
|
|
|
|
|
|
// ---------------------------------------------------------
|
|
// uA741
|
|
// ---------------------------------------------------------
|
|
module uA741( inp, inn, out, vdd, vss);
|
|
inout inp, inn, out, vdd, vss;
|
|
electrical inp, inn, out, vdd, vss;
|
|
|
|
va_opamp opa( inp, inn, out, vdd, vss);
|
|
endmodule
|
|
|
|
// ---------------------------------------------------------
|
|
// TLC2272
|
|
// ---------------------------------------------------------
|
|
module TLC2272( inp, inn, out, vdd, vss);
|
|
inout inp, inn, out, vdd, vss;
|
|
electrical inp, inn, out, vdd, vss;
|
|
|
|
va_opamp #( .Aol(50e3),
|
|
.GBW(2.18e6),
|
|
.Rin(10e12),
|
|
.Rout(140),
|
|
|
|
.VRailp(0.25),
|
|
.VRailn(0.25),
|
|
|
|
.Vos(950e-6),
|
|
.Ios(100e-12),
|
|
.Ib(100e-12),
|
|
.Cin(8),
|
|
|
|
.SRp(3.5e6),
|
|
.SRn(3.5e6)
|
|
)
|
|
opa( inp, inn, out, vdd, vss);
|
|
endmodule
|
|
|
|
|
|
|
|
// ---------------------------------------------------------
|
|
// NJM2068
|
|
//
|
|
// .Rout(),
|
|
// .Cin(),
|
|
// ---------------------------------------------------------
|
|
module NJM2068( inp, inn, out, vdd, vss);
|
|
inout inp, inn, out, vdd, vss;
|
|
electrical inp, inn, out, vdd, vss;
|
|
|
|
va_opamp #( .Aol(750e3),
|
|
.GBW(27e6),
|
|
.Rin(300e3),
|
|
|
|
.VRailp(1.5),
|
|
.VRailn(1.5),
|
|
|
|
.Vos(3e-3),
|
|
.Ios(200e-9),
|
|
.Ib(1e-6),
|
|
|
|
.SRp(6e6),
|
|
.SRn(6e6)
|
|
)
|
|
opa( inp, inn, out, vdd, vss);
|
|
endmodule
|
|
|
|
// ---------------------------------------------------------
|
|
// NJM4058 (50 mA)
|
|
//
|
|
// .Rin()
|
|
// .Rout()
|
|
// .Cin()
|
|
// ---------------------------------------------------------
|
|
module NJM4058( inp, inn, out, vdd, vss);
|
|
inout inp, inn, out, vdd, vss;
|
|
electrical inp, inn, out, vdd, vss;
|
|
|
|
va_opamp #( .Aol(750e3),
|
|
.GBW(15e6),
|
|
|
|
.VRailp(1.5),
|
|
.VRailn(1.5),
|
|
|
|
.Vos(3e-3),
|
|
.Ios(200e-9),
|
|
.Ib(500e-9),
|
|
|
|
.SRp(5e6),
|
|
.SRn(5e6)
|
|
)
|
|
opa( inp, inn, out, vdd, vss);
|
|
endmodule
|
|
|
|
// ---------------------------------------------------------
|
|
// LT1001
|
|
//
|
|
// .Rout()
|
|
// .Cin()
|
|
// ---------------------------------------------------------
|
|
module LT1001( inp, inn, out, vdd, vss);
|
|
inout inp, inn, out, vdd, vss;
|
|
electrical inp, inn, out, vdd, vss;
|
|
|
|
va_opamp #( .Aol(8e5),
|
|
.GBW(8e5),
|
|
.Rin(80e6),
|
|
|
|
.VRailp(1),
|
|
.VRailn(1),
|
|
|
|
.Vos(60e-6),
|
|
.Ios(1e-9),
|
|
.Ib(1e-9),
|
|
|
|
.SRp(0.25e6),
|
|
.SRn(0.25e6)
|
|
)
|
|
opa( inp, inn, out, vdd, vss);
|
|
endmodule
|
|
|
|
// ---------------------------------------------------------
|
|
// LT1007
|
|
//
|
|
// .Cin()
|
|
// ---------------------------------------------------------
|
|
module LT1007( inp, inn, out, vdd, vss);
|
|
inout inp, inn, out, vdd, vss;
|
|
electrical inp, inn, out, vdd, vss;
|
|
|
|
va_opamp #( .Aol(20e6),
|
|
.GBW(8e6),
|
|
.Rin(5e9),
|
|
.Rout(70),
|
|
|
|
.VRailp(1.5),
|
|
.VRailn(1.5),
|
|
|
|
.Vos(60e-6),
|
|
.Ios(50e-9),
|
|
.Ib(50e-9),
|
|
|
|
.SRp(2.5e6),
|
|
.SRn(2.5e6)
|
|
)
|
|
opa( inp, inn, out, vdd, vss);
|
|
endmodule
|
|
|
|
// ---------------------------------------------------------
|
|
// OPA627
|
|
// ---------------------------------------------------------
|
|
module OPA627( inp, inn, out, vdd, vss);
|
|
inout inp, inn, out, vdd, vss;
|
|
electrical inp, inn, out, vdd, vss;
|
|
|
|
va_opamp #( .Aol(1e6),
|
|
.GBW(16e6),
|
|
.Rin(10e13),
|
|
.Rout(55),
|
|
|
|
.VRailp(2.7),
|
|
.VRailn(2.7),
|
|
|
|
.Vos(100e-6),
|
|
.Ios(1e-12),
|
|
.Ib(2e-12),
|
|
.Cin(8e-12),
|
|
|
|
.SRp(55e6),
|
|
.SRn(55e6)
|
|
)
|
|
opa( inp, inn, out, vdd, vss);
|
|
endmodule
|
|
|
|
// ---------------------------------------------------------
|
|
// LTC1050
|
|
// ---------------------------------------------------------
|
|
module LTC1050( inp, inn, out, vdd, vss);
|
|
inout inp, inn, out, vdd, vss;
|
|
electrical inp, inn, out, vdd, vss;
|
|
|
|
va_opamp #( .Aol(1e6),
|
|
.GBW(2.5e6),
|
|
.Rin(1e13),
|
|
.Rout(50),
|
|
|
|
.VRailp(0.15),
|
|
.VRailn(0.15),
|
|
|
|
.Vos(5e-6),
|
|
.Ios(60e-12),
|
|
.Ib(30e-12),
|
|
.Cin(8e-12),
|
|
|
|
.SRp(4e6),
|
|
.SRn(4e6)
|
|
)
|
|
opa( inp, inn, out, vdd, vss);
|
|
endmodule
|
|
|
|
// ---------------------------------------------------------
|
|
// TL071
|
|
// ---------------------------------------------------------
|
|
module TL071( inp, inn, out, vdd, vss);
|
|
inout inp, inn, out, vdd, vss;
|
|
electrical inp, inn, out, vdd, vss;
|
|
|
|
va_opamp #( .Aol(200e3),
|
|
.GBW(3e6),
|
|
.Rin(1e12),
|
|
.VRailp(1.5),
|
|
.VRailn(1.5),
|
|
.Vos(3e-3),
|
|
.Ios(5e-12),
|
|
.Ib(65e-12),
|
|
.SRp(13e6),
|
|
.SRn(13e6)
|
|
)
|
|
opa( inp, inn, out, vdd, vss);
|
|
endmodule
|
|
|
|
// ---------------------------------------------------------
|
|
// LM324
|
|
// ---------------------------------------------------------
|
|
module LM324( inp, inn, out, vdd, vss);
|
|
inout inp, inn, out, vdd, vss;
|
|
electrical inp, inn, out, vdd, vss;
|
|
|
|
va_opamp #( .Aol(100e3),
|
|
.GBW(1e6),
|
|
.VRailp(1.5),
|
|
.VRailn(0.01),
|
|
.Vos(2e-3),
|
|
.Ios(5e-9),
|
|
.Ib(-45e-9),
|
|
.SRp(1.2e6),
|
|
.SRn(1.2e6)
|
|
)
|
|
opa( inp, inn, out, vdd, vss);
|
|
endmodule
|
|
|
|
// ---------------------------------------------------------
|
|
// NE5534
|
|
// ---------------------------------------------------------
|
|
module NE5534( inp, inn, out, vdd, vss);
|
|
inout inp, inn, out, vdd, vss;
|
|
electrical inp, inn, out, vdd, vss;
|
|
|
|
va_opamp #( .Aol(101e3),
|
|
.GBW(10e6),
|
|
.Rin(100e3),
|
|
.Rout(0.3),
|
|
|
|
.VRailp(2),
|
|
.VRailn(2),
|
|
|
|
.Vos(0.5e-3),
|
|
.Ios(20e-9),
|
|
.Ib(500e-9),
|
|
|
|
.SRp(13e6),
|
|
.SRn(13e6)
|
|
)
|
|
opa( inp, inn, out, vdd, vss);
|
|
endmodule
|
|
|
|
// ---------------------------------------------------------
|
|
// AD822
|
|
// ---------------------------------------------------------
|
|
module AD822( inp, inn, out, vdd, vss);
|
|
inout inp, inn, out, vdd, vss;
|
|
electrical inp, inn, out, vdd, vss;
|
|
|
|
va_opamp #( .Aol(1e6),
|
|
.GBW(1.8e6),
|
|
.Rin(1e13),
|
|
.Rout(20),
|
|
|
|
.VRailp(0.1),
|
|
.VRailn(0.1),
|
|
|
|
.Vos(0.5e-3), // 0.5e-3
|
|
.Ios(10e-12),
|
|
.Ib(10e-12),
|
|
.Cin(0.5e-12),
|
|
|
|
.SRp(3e6),
|
|
.SRn(3e6)
|
|
)
|
|
opa( inp, inn, out, vdd, vss);
|
|
endmodule
|
|
|
|
/*
|
|
parameter real Aol = 200e3 from (0 : inf); // Open loop DC gain [V/V] 200e3
|
|
parameter real GBW = 1e6 from (1 : inf); // Gain bandwidth product [Hz] 10e6
|
|
parameter real Rin = 2e6 from [0.01 : inf]; // Differential Input resistance [Ohm]
|
|
parameter real Rout = 75 from [0.01 : inf]; // Output resistance [Ohm]
|
|
|
|
parameter real VRailp = 1 from [0 : inf]; // Positive output voltage limit [V]
|
|
parameter real VRailn = 1 from [0 : inf]; // Negative output voltage limit [V]
|
|
|
|
parameter real Vos = 1.0e-3 from [0 : inf]; // Input voltage offset [V]
|
|
parameter real Ios = 20.0e-9 from [1e-20 : inf]; // Input offset current [A]
|
|
parameter real Ib = 80.0e-9 from [1e-20 : inf]; // Input bias current [A]
|
|
parameter real Cin = 1.4e-12 from [1e-20 : inf]; // Differential input capacitance [F]
|
|
|
|
parameter real SRp = 500e3 from [1 : inf]; // Positive slew rate [V/s]
|
|
parameter real SRn = 500e3 from [1 : inf]; // Negative slew rate [V/s]
|
|
|
|
va_opamp #( .Aol(),
|
|
.GBW(),
|
|
.Rin(),
|
|
.Rout(),
|
|
|
|
.VRailp(),
|
|
.VRailn(),
|
|
|
|
.Vos(),
|
|
.Ios(),
|
|
.Ib(),
|
|
.Cin(),
|
|
|
|
.SRp(),
|
|
.SRn()
|
|
)
|
|
opa( inp, inn, out, vdd, vss);
|
|
|
|
*/
|