Files
2026-07-01 13:27:45 +02:00

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);
*/