ngspice/contrib/spiceprm/EXAMPLES

177 lines
5.3 KiB
Plaintext

****************************************************************
* Pi attenuator pad.
* Parameters: R0 = impedance
* DB = attenuation in dB (positive)
.SUBCKT PIPAD 1 2 { R0 DB }
R1 1 0 {R0*(1+2/(10**(DB/20)-1))}
R2 1 2 {(R0/2)*(10**(DB/20)-10**(DB/-20))}
R3 2 0 {R0*(1+2/(10**(DB/20)-1))}
.ENDS
****************************************************************
* PCB Via inductance + extra L.
* H = substrate height in inches
* D = via diameter in inches
* L = extra inductance in henries.
.SUBCKT VIA 1 2 { H D L }
LV 1 2 {L+
+ 5.08E-9*H*(log((2+sqrt(4+D*D/(H*H)))*H/D)+
+ .75*(D/H-sqrt(4+D*D/(H*H))))}
.ENDS
****************************************************************
* Voltage-controlled oscillator.
* Parameters: F = frequency @ Vc = 0 in Hz
* KV = tuning sensitivity in Hz/volt
* A = peak output amplitude
* RO = output port resistance
* Connections: Vc Out
.SUBCKT VCO 20 2 { F KV A RO }
RIN1 20 0 1E12
VSW 30 0 DC 0 PULSE 0 1
RSW 30 0 1E12
BIN 3 0 V=(V(20)+{F/KV})*V(30)
R3 3 0 1E6
GSIN 2 0 22 0 {1/RO}
RSIN 2 0 {RO}
B1 1 0 I=-(V(22)*V(3))
B2 22 0 I=V(1)*V(3)
R2 1 0 1E9
I1 0 1 PULSE {1E-9*A} 0
C2 1 0 {.159154943/KV}
C1 22 0 {.159154943/KV}
R1 22 0 1E9
.ENDS
****************************************************************
* Ideal Frequency converter.
* Parameters: F = Oscillator frequency
* RI = input port resistance
* RO = output port resistance
* Connections: In Out
.SUBCKT FCNVT 1 2 { F RI RO }
RIN 1 0 {RI}
VLO 3 0 DC 0 SIN 0 1 {F}
RLO 3 0 1E12
BMIX 0 2 I=(V(1)*V(3))/{RO}
RO 2 0 {RO}
.ENDS
****************************************************************
* Sine wave RF power source.
* Parameters: F = Frequency
* R = Output resistance
* P = Power in dBm
* V = DC (EMF)
.SUBCKT RFGEN 1 2 { F R P V }
* + -
Is 2 1 DC {V/R} SIN {V/R} {sqrt((10**(P/10))/(125*R))} {F}
Ro 1 2 {R}
.ENDS
****************************************************************
* Sine wave 2-tone RF power source.
* Parameters: F1 = 1st tone frequency
* F2 = 2nd tone frequency
* R = output resistance
* P = power per tone in dBm
* V = DC (EMF)
.SUBCKT 2TGEN 1 2 { F1 F2 R P V }
* + -
I1 2 1 DC {V/R} SIN {V/R} {sqrt((10**(P/10))/(125*R))} {F1}
I2 2 1 DC 0 SIN 0 {sqrt((10**(P/10))/(125*R))} {F2}
Ro 1 2 {R}
.ENDS
****************************************************************
* Transmission lines
* All ports must have external connections.
* Parameters: Z0 = impedance
* L = length in inches
* VP = velocity-of-propagation rel. to air
* Connections: 1+ 1- 2+ 2-
.SUBCKT TXL 1 2 3 4 { Z0 L VP }
T1 1 2 3 4 Z0={Z0} TD={L/(1.180315E10*VP)}
.ENDS
****************************************************************
* Lossy transmission line.
* All ports must have external connections.
* Parameters: Z0 = impedance
* L = length in inches
* VP = velocity-of-propagation rel. to air
* A = loss in dB/inch
* Connections: 1+ 1- 2+ 2-
.SUBCKT LTXL 1 2 3 4 { Z0 L VP A }
O1 1 2 3 4 LOSSY
.MODEL LOSSY LTRA LEN={L}
+ R={5.848492e-3*A*Z0}
+ L={Z0/(1.180315E10*VP)}
+ C={1/(1.180315E10*VP*Z0)}
.ENDS
****************************************************************
* 2 coupled transmission lines
* All ports must have external connections.
* Parameters: Z0E = even-mode impedance
* Z0O = odd-mode impedance
* L = length in inches
* VP = velocity-of-propagation rel. to air
* Connections: 1+ 1- 2+ 2- { Z0E Z0O L VP }
.SUBCKT CPL2 1 2 3 4
T1 1 0 3 0 Z0={Z0E} TD={L/(1.180315E10*VP)}
T2 1 2 3 4 Z0={2*Z0E*Z0O/(Z0E-Z0O)} TD={L/(1.180315E10*VP)}
T3 2 0 4 0 Z0={Z0E} TD={L/(1.180315E10*VP)}
.ENDS
****************************************************************
* Generic Bipolar OpAmp - linear model
* Parameters: G = open-loop gain in dB
* FT = unity gain frequency in Hz
* IOS = input offset current in amps
* VOS = input offset voltage
* IB = input bias current in amps
.SUBCKT BIPOPA 2 3 6 7 4 { G FT IOS VOS IB }
* - In + Out Vcc Vee
RP 4 7 10K
RXX 4 0 10MEG
IBP 3 0 {IB-IOS}
RIP 3 0 10MEG
CIP 3 0 1.4PF
IBN 2 0 {IB}
RIN 2 0 10MEG
CIN 2 0 1.4PF
VOFST 2 10 {VOS}
RID 10 3 200K
EA 11 0 10 3 1
R1 11 12 5K
R2 12 13 50K
C1 12 0 {13E-6/FT}
GA 0 14 0 13 {0.0135*(10**(G/20))}
C2 13 14 {2.7E-6/FT}
RO 14 0 75
L 14 6 {30/FT}
RL 14 6 1000
CL 6 0 3PF
.ENDS
****************************************************************
* Generic FET OpAmp - linear model
* Parameters: G = open-loop gain in dB
* FT = unity gain frequency in Hz
* VOS = input offset voltage
.SUBCKT FETOPA 2 3 6 7 4 { G FT VOS }
* - In + Out Vcc Vee
RP 4 7 6K
RXX 4 0 10MEG
IBP 3 0 33E-12
RIP 3 0 1E12
CIP 3 0 3PF
IBN 2 0 30E-12
RIN 2 0 1E12
CIN 2 0 3PF
VOFST 2 10 {VOS}
RID 10 3 1E12
EA 11 0 10 3 1
R1 11 12 5K
R2 12 13 50K
C1 12 0 {24E-6/FT}
GA 0 14 0 13 {0.0135*(10**(G/20))}
C2 13 14 {2.33E-6/FT}
RO 14 0 75
L 14 6 {4E-6/FT}
RL 14 6 100
CL 6 0 3PF
.ENDS
****************************************************************