Professional Documents
Culture Documents
Verilog-A Logarithmic Amplifier Macromodel
Verilog-A Logarithmic Amplifier Macromodel
Report
Verilog-A Logarithmic Amplifier Macromodel
Mike Brinson
Copyright
c 2008 Mike Brinson <mbrin72043@yahoo.co.uk>
Permission is granted to copy, distribute and/or modify this document under the
terms of the GNU Free Documentation License, Version 1.1 or any later version
published by the Free Software Foundation. A copy of the license is included in
the section entitled ”GNU Free Documentation License”.
Introduction
The development of simulation component and device models in many ways re-
flects how circuit simulator functionality has improved with increasing personal
computer computational power. Early circuit simulators were often restricted to
the DC, AC and transient analysis domains. Similarly, in the early days of circuit
simulation, the available types of component and device models were extremely
limited, often being confined to the fundamental passive components, simple volt-
age and current sources and the basic semiconductor devices. Adding new models
to a circuit simulator was, in most instances, a complex task. Today this picture is
changing. Modern circuit simulators, like Qucs, are equipped with an ever widening
selection of simulation tools plus increasingly sophisticated modelling tools. The
later allows easy construction of subcircuit models, linear and non-linear macro-
models, equation defined device models, and Verliog-A compact device models.
This report describes how a compact macromodel of a logarithmic amplifier can
be constructed from a model description written in the Verilog-A hardware de-
scription language, compiled to C++ code using the ADMS compiler plus Qucs
XML interface, and linked to the main body of Qucs C++ code1 . The logarithmic
amplifier model demonstrates an approach to Qucs modelling which allows high-
level functional models of integrated circuits to be added to the existing range of
Qucs component and device models.
1
to compress a wide dynamic range input signal to give as output it’s logarithmic
equivalent. In some respects the name logarithmic amplifier is misleading and it
would be better to consider the amplifier as a measurement device rather than an
amplifier. For the ideal logarithmic amplifier when Ii = Ir , the output voltage
Vout (ideal) ⇒ 0. In a practical logarithmic amplifier the current input terminals
are effectively at virtual ground potential which allows the amplifier input signals
to be derived from input voltages divided by scaling resistors of identical value. In
this case Ir = Vr /R and Ii = Vi /R, where Vr and Vi are the input signal voltages
respectively, and R is the scaling resistance. Transforming from current inputs to
voltage inputs gives equation (2).
Vi
Vout (ideal) = Kv · log (2)
Vr
To prevent the argument of the logarithmic amplifier from becoming negative
the input signal Ii must always have the same polarity as reference signal Ir .
The amplitude of the signal at terminal I must also be the same or greater than
the signal at terminal R. This implies that logarithmic amplifiers are unipolar
input devices. Similarly, to prevent the logarithmic amplifier output voltage from
becoming excessively large and causing the output voltage to saturate3 the ratio of
the two currents must be limited to a maximum value. In this context the dynamic
range of a logarithmic amplifier is defined by equation (3).
Ii Vi
dynamic range ' log ' log (3)
Ir Vr
In a real logarithmic amplifier Ir can be as low as 10 nA with the maximum allowed
value of Ii around 10 mA, yielding a dynamic range of six decades. Integrated
logarithmic amplifiers are available with dynamic ranges of five or six decades.
Where T E is called the total error. This can be represented by a function formed
from the combination of errors in gain scale factor, input offset current, input bias
3
Power supply voltages are often limited to ± 15 volts.
4
See the manufacturers data sheets for (a) Burr Brown (from Texas Instruments) LOG100
and LOG101 amplifiers, and (b) Maxim MAX4206 amplifier.
2
current, output offset voltage and transfer function non-linearity. On adding the
major contributions due to these errors equation (4) becomes equation (5).
Ii − Ib1
Vout = Kv · (1 ± ∆Kv ) · log ± 2 · Kv · N · m ± Vosout (5)
Ir − Ibr
Vi
− Ib1
Vout = Kv · (1 ± ∆Kv ) · log R ± 2 · Kv · N · m ± Vosout (6)
Vr
− Ibr
R
Where ∆Kv is the scale error factor in percent, Ib1 is the bias current at input I in
amperes, Ibr is the bias current at the reference input R in amperes, N is the log
conformity error in percent, m is the number of decades over which N is specified,
and Vosout is the output offset voltage. The log conformity error of a logarithmic
amplifier is defined as the peak deviation from the best-fit straight line of Vout
versus the log(Ii /Ir ) curve expressed as a percentage of peak-to-peak full-scale.
The other error parameters have their usual meaning. In general error parameters
may be plus or minus in sign, leading to the ± signs in the previous equations.
Where T emp is the circuit simulation temperature in Celsius, T nom is the device
parameter measurement temperature in Celsius and ∆Kv tc, Ib1 tc, Ibr tc, N tc and
Vosout tc are first order linear temperature coefficients in percentage per degree
Celsius or units per degree Celsius.
3
A compact macromodel for a logarithmic ampli-
fier
Parameters
* The default parameters are for a typical integrated circuit logarithmic amplifier.
+ These parameters may be negative.
++ Typical bias current doubles for every eight to ten degrees temperature in-
crease.
4
‘ i n c l u d e ” d i s c i p l i n e s . vams ”
‘ i n c l u d e ” c o n s t a n t s . vams ”
//
module log amp ( P I1 , P I r , P Vout ) ;
inout P I1 , P I r ;
inout P Vout ;
//
e l e c t r i c a l P I1 , P I r , P Vout ;
//
// I n t e r n a l nodes
//
e l e c t r i c a l n3 , n4 ;
//
‘define a t t r ( txt ) (∗ txt ∗)
//
parameter r e a l Kv = 1 . 0 from [− i n f : i n f ]
‘ a t t r ( i n f o=” s c a l e f a c t o r ” u n i t = ”V/ deca de ” ) ;
parameter r e a l Dk = 0 . 3 from [ −100 : 1 0 0 ]
‘ a t t r ( i n f o=” s c a l e f a c t o r e r r o r ” u n i t = ”%” ) ;
parameter r e a l I b 1 = 5 e −12 from [− i n f : i n f ]
‘ a t t r ( i n f o=” i n p u t I 1 b i a s c u r r e n t ” u n i t = ”A” ) ;
parameter r e a l I b r = 5 e −12 from [− i n f : i n f ]
‘ a t t r ( i n f o=” i n p u t r e f e r e n c e b i a s c u r r e n t ” u n i t = ”A” ) ;
parameter r e a l M = 5 from [ 1 : i n f ]
‘ a t t r ( i n f o=”number o f d e c a d e s ” ) ;
parameter r e a l N = 0 . 1 from [ 0 : 1 0 0 ]
‘ a t t r ( i n f o=” c o n f o r m i t y e r r o r ” u n i t = ”%” ) ;
parameter r e a l Vosout = 3 e−3 from [− i n f : i n f ]
‘ a t t r ( i n f o=”out put o f f s e t e r r o r ” u n i t = ”V” ) ;
parameter r e a l Rinp = 1 e6 from [ 1 : i n f ]
‘ a t t r ( i n f o=” a m p l i f i e r i n p u t r e s i s t a n c e ” u n i t = ”Ohm” ) ;
parameter r e a l Fc = 1 e3 from [ 1 : i n f ]
‘ a t t r ( i n f o=” a m p l i f i e r 3dB f r e q u e n c y ” u n i t = ”Hz ” ) ;
parameter r e a l Ro = 1 e−3 from [ 1 e−3 : i n f ]
‘ a t t r ( i n f o=” a m p l i f i e r out put r e s i s t a n c e ” u n i t = ”Ohm” ) ;
parameter r e a l Ntc = 0 . 0 0 2 from [ −100 : 1 0 0 ]
‘ a t t r ( i n f o=” c o n f o r m i t y e r r o r t e m p e r a t u r e c o e f f i c i e n t ” u n i t = ”%/ C e l s i u s ” ) ;
parameter r e a l V o s o u t t c = 80 e−6 from [− i n f : i n f ]
‘ a t t r ( i n f o=” o f f s e t t e m p e r a t u r e c o e f f i c i e n t ” u n i t = ”V/ C e l s i u s ” ) ;
parameter r e a l Dktc = 0 . 0 3 from [ −100 : 1 0 0 ]
‘ a t t r ( i n f o=” s c a l e f a c t o r e r r o r t e m p e r a t u r e c o e f f i c i e n t ” u n i t = ”%/ C e l s i u s ” ) ;
parameter r e a l I b 1 t c = 0 . 5 e −12 from [− i n f : i n f ]
‘ a t t r ( i n f o=” i n p u t I 1 b i a s c u r r e n t t e m p e r a t u r e c o e f f i c i e n t ” u n i t = ”A/ C e l s i u s ” ) ;
parameter r e a l I b r t c = 0 . 5 e −12 from [− i n f : i n f ]
‘ a t t r ( i n f o=” i n p u t r e f e r e n c e b i a s c u r r e n t t e m p e r a t u r e c o e f f i c i e n t ” u n i t = ”A/ C e l s i u s ” ) ;
parameter r e a l Tnom = 2 6 . 8 5 from [ −273 : i n f ]
‘ a t t r ( i n f o=”p a r a m e t e r measurement t e m p e r a t u r e ” u n i t = ” C e l s i u s ” ) ;
//
r e a l R, I x ;
r e a l V1 , V2 ;
r e a l Cc , PI ;
r e a l TempK, TnomK, T d i f f , NTemp, VosoutTemp , DkTemp , Ib1Temp , IbrTemp ;
//
a n a l o g begin
//
// C o n s t a n t s
//
PI = 3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 ;
//
// Model e q u a t i o n s
//
V1=V( P I 1 ) ;
5
V2=V( P I r )+1e −20;
R=Rinp+1e −6;
Cc=1/(2∗ PI ∗Fc ) ;
//
TempK=$ t e m p e r a t u r e ;
TnomK=Tnom+ 2 7 3 . 1 5 ;
T d i f f=TempK−TnomK ;
NTemp=N+Ntc ∗ T d i f f ;
VosoutTemp=Vosout+V o s o u t t c ∗ T d i f f ;
DkTemp=Dk+Dktc ∗ T d i f f ;
Ib1Temp=I b 1+I b 1 t c ∗ T d i f f ;
IbrTemp=I b r+I b r t c ∗ T d i f f ;
//
i f (V1 >= V2 ) I x = Kv∗(1+DkTemp/ 1 0 0 ) ∗ l o g ( ( ( V1/R)−Ib1Temp ) / ( ( V2/R)−IbrTemp ))+
(Kv∗ 2 ∗ (NTemp/ 1 0 0 ) ∗M)+VosoutTemp ;
else Ix = 0 . 0 ;
//
// C i r c u i t s t a g e s
//
// I n p u t s t a g e
//
I ( P I 1 ) <+ V( P I 1 ) /R;
I ( P I r ) <+ V( P I r ) /R;
//
// Log f u n c t i o n s t a g e
//
I ( n3 ) <+ −I x ;
I ( n3 ) <+ V( n3 ) ;
//
// Frequency compensation
//
I ( n4 ) <+ −V( n3 ) ;
I ( n4 ) <+ V( n4 ) ;
I ( n4 ) <+ ddt ( Cc∗V( n4 ) ) ;
//
// Output s t a g e
I ( P Vout ) <+ −V( n4 ) /Ro ;
I ( P Vout ) <+ V( P Vout ) /Ro ;
end
endmodule
The ADMS syntax is a subset of Verilog-A. Allowed language structures are out-
lined in a SYNTAX-SUPPORTED file which can be downloaded from http:
//mot-adms.sourceforge.net.
Basic logarithmic amplifier operation
The circuit shown in Fig. 1 demonstrates the operation of the logarithmic amplifier
macromodel with the input signals set as voltages. Input scaling resistance Rinp is
10kΩ, the reference voltage is 100 uV DC (which is equivalent to Ir = 10 nA), and
the input signal V s is swept between 1 uV and 10 V DC. For input signals (V 2)
less than V 1 the macromodel restricts the output voltage to zero volts, preventing
signal ratios from being less than one. Figure 2 illustrates the logarithmic amplifier
operating in current input mode. In Fig. 2 the input scaling resistors are set to
1Ω, causing the amplifier inputs to become effectively virtual earth points. Both
6
V
U2
= s V
U 1
= 0 L
R
V
uA
i1
n
p
I
R4
=
e V
t
o
uc
s
d
C
1
Di
m l
i
t
a
o
un
6)V(tou42Ir=10nA TsS a
r
P
w
W
i
m
p
y
a
r
P
t
Se
1
=
D
em
lt
e
r
p
C
1
o
g
V
s
u
01e061e051e041eV0s3(0.)10.1110o=10
Figure 1: Qucs schematic for a basic voltage driven logarithmic amplifier and
simulated DC transfer function
Fig. 1 and Fig. 2 illustrate the performance of a typical general purpose logarithmic
amplifier over five signal decades, clearly showing the signal compression properties
of the device.
7
L
RA
1
i
n
p
=
I1o
ut
I2
s
=
I I=
1 R V c
s
d
C
1
Di
m
ul
i
t
ao
n
A
0
n
6
4 r
=
IA
0
1
n a
P
s
wr
a
m
e
pt
e
er
)
V
(
t
u
o
2
V W
S
i
m
y
T
a1
C
=
D
l
p
e
o
r
a
m1
g
s
0 P
t
S
o=
0
t
1
p
=I
1
n
.
m
1
e
00
1
19
1
e
08
1
e
0I7
e
0 6
1
e
0
i(
A
)1
e
05
14
1
e
e
03
0
Figure 2: Qucs schematic for a basic current driven logarithmic amplifier and
simulated DC transfer function
• Gain stage : Logarithmic base ten transfer function over N decades with a
single pole frequency response. Errors; gain scale and log conformity.
• Properties with temperature variation : gain scale, log conformity, bias cur-
rents and output offset voltage.
Input stage
The input stage is represented by the Verilog-A code listed in this subsection of
the report. The voltages at input terminals PI1 and PIr are divided by scaling
resistors R to give the required input currents. When R is small the input stage
operates in current mode.
8
//
// I n p u t s t a g e
//
I ( P I 1 ) <+ V( P I 1 ) /R;
I ( P I r ) <+ V( P I r ) /R;
Gain stage
The gain stage is represented by the Verilog-A code listed in this subsection of
the report. This part of the model determines the primary logarithmic amplifier
transfer function, including logarithmic characteristics, frequency response, errors
and temperature effects. An if-else statement is used to test if the log function
argument is greater than one, setting the transfer function output to zero when
the test fails. Both error terms and temperature factors have been included in
the amplifier transfer function equation. Logarithmic amplifier transfer function
frequency response is normally a complex function of input currents and an in-
ternal frequency compensation capacitance. Manufacturer’s data sheets usually
provide curves of frequency response for typical values of input current and com-
pensation capacitance. Frequency effects are represented in the macromodel by
a single pole response. The 3dB corner frequency being set by device parameter
F c. The default value of 3 kHz should be changed to suit the circuit operating
conditions. Figure 3 illustrates a small signal test circuit which allows amplifier
transfer function frequency response to be simulated.
//
// C o n s t a n t s
//
PI = 3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 ;
//
// Model e q u a t i o n s
//
V1=V( P I 1 ) ;
V2=V( P I r )+1e −20;
R=Rinp+1e −6;
Cc=1/(2∗ PI ∗Fc ) ;
//
TempK=$ t e m p e r a t u r e ;
TnomK=Tnom+ 2 7 3 . 1 5 ;
T d i f f=TempK−TnomK ;
NTemp=N+Ntc ∗ T d i f f ;
VosoutTemp=Vosout+V o s o u t t c ∗ T d i f f ;
DkTemp=Dk+Dktc ∗ T d i f f ;
Ib1Temp=I b 1+I b 1 t c ∗ T d i f f ;
IbrTemp=I b r+I b r t c ∗ T d i f f ;
//
i f (V1 >= V2 ) I x = Kv∗(1+DkTemp/ 1 0 0 ) ∗ l o g ( ( ( V1/R)−Ib1Temp ) / ( ( V2/R)−IbrTemp ))+
(Kv∗ 2 ∗ (NTemp/ 1 0 0 ) ∗M)+VosoutTemp ;
else Ix = 0 . 0 ;
..
..
..
//
9
V
2fVU
=U 13=1k00H
.uz1Vu1VU V i
n L
R
F
I1=0RA
1
i
n
p
=
c
V
u3e4 d
D
V
t
o
u
a
c
A
T
y c
C
C 1s
si
im
m l
i
t
a
o
u
l
i
t
a
o
u
1Staore=o0H
p gn
n
)(tou00..1110rqu10ncy(H
V z
k
// Log f u n c t i o n s t a g e
//
Fez1)e31e4
Figure 3: Qucs small signal AC test circuit and simulated transfer function
I ( n3 ) <+ −I x ;
I ( n3 ) <+ V( n3 ) ;
//
// Frequency compensation
//
I ( n4 ) <+ −V( n3 ) ;
I ( n4 ) <+ V( n4 ) ;
I ( n4 ) <+ ddt ( Cc∗V( n4 ) ) ;
Output stage
The output stage is represented by the Verilog-A code listed in this subsection of
the report. This final section of the model introduces an output resistance R0. In
a practical logarithmic amplifier this is often low in value.
//
// Output s t a g e
I ( P Vout ) <+ −V( n4 ) /Ro ;
I ( P Vout ) <+ V( P Vout ) /Ro ;
10
a 100 Hz, 1.9 V peak sinewave signal, in series with a 2V battery, is applied
to amplifier input I. Amplifier reference R has a 0.1V battery connected as the
V
i
reference signal. As the logarithmic amplifier output signal is proportional to the
V
2fVU I A
1
L
log of the ratio of the input signals I/R, the shape of resulting output signal differs
=U V V1 R V
t
o
u
considerably from that of the excitation sinewave. When the peak of the input
3 U0
=
. V
sinewave is 1.9 V the input ratio is 29 and when the negative peak reaches -1.9 V,
V
9
1
=
.
H
0
z
the ratio is 1, yielding an output waveform with signal values between log(29) and
0. This example test circuit once again demonstrates the compression properties
4)V
of logarithmic amplifiers.
(i2020.50.1T0im .
e15
( s)0.20.250.c
d
C
D
3
t
si
s
m
1
r
a
n
s
i
m
uu
i
e
l
al
i
a
o
t
n
t
on
)(tou010.50.10im
V T
SR
1
p
e
y
=
t
a
r
oi
nm
0
3s
T.e15(s)0.20.250.3
Figure 4: Qucs large signal logarithmic amplifier AC test circuit and simulated
transient response
11
L
R
T A
1
i
n
p
=
m
e4
e
s
T c
d s im u lai
t
o
n
very basic example of amplifier response to temperature changes all circuit depen-
VU2=sVU C
1TsSPyW
I1=0uVRVoutD
dent parameters are varied at the same time and no attempt is made to identify
aSPtaim to0Vg1sur
ropr1ee==D
m
e1lC
individual parameter contributions to the overall temperature dependency. From
w p
the results of this simple test the simulation waveforms indicate that the typical
temperature coefficients only have minimal effect on circuit performance. Modern
integrated logarithmic amplifies are, in general, well temperature compensated,
minimising the effects of temperature changes on circuit performance.
6)V(tou420Tem p P
s
S
T ya
w
W
i
m
p in
r
2ee= m
p
W
S
l
i 5
e
n 1 tr
1e141e130.V1s(0).1110SPtaorin=115T0s
Figure 5: Qucs logarithmic amplifier transfer function test circuit and simulated
temperature response
12
iUV 1 L
RA
i4=inV2snR
n 1IVU 4A
p2==1emVV
LS
R
C
2
1
1
=
G S
U
r
=
I
KB
0 V
.1P0 Vot
u
2 c s i
m u l
ation ar m
et
r
amplifiers, two voltage controlled voltages sources (these act as a voltage summer)
V I L
R i
n
p
=1
4
e2
V
L d
DC 1 P
s
SWwe
1 p
and an antilog amplifier.
1 0V
U3
=4m V VU 1= mV S
GR
1
= T
P
Sy
a
ti
m
p
r
o
i=
e
=
nDC
l
o
g
V
0
1
71
s
6
/
(i1n10ee//.453611e/51e/41eV/s3(0.)10.1110)V
)V (i2n0.051e/61e/51e/41ev/s3(0V.)10.1110
6)(L1432 V
5V )
(
2
L 0.0
1
1
0)V 3
/(543261e/51e/41eV/s3(0.)10.1110V)(tou01.01e/61e/51e/41eV/s3(0.)10.1110
1P e
01e/61e/51e/41eV/s3(0.)10.11101e/4361e/51e/41eV/s3(0.)10.1110
Figure 6: A simple electronic multiplier circuit and test waveforms
The circuit illustrated in Fig. 6 multiplies the ratios of the two sets of inputs. This
is done by taking the log of each input ratio then adding the results and finally
finding the antilog of the sum. The antilog of a voltage can be found using the
circuit shown in Fig. 7. Parameters Ir and K are used to scale the output voltage.
This must be within the power supply range of a practical device. In the example
shown in Fig. 6 the second input ratio is constant at 4 and the first has a maximum
value of 10/1e-3 = 1e4, causing the output result to be 4e4 which is way beyond
the output voltage of a practical circuit. By setting k=1 and Ir to 1e-4 the output
voltage is scaled so that the maximum output becomes roughly 4 volts.
13
P_V S
R
C
1
=2
iP_Vout11GSR
SIK
r=U
B
1 1G =C
1Q
O hm
1=r*0^(V1/K
ID )
Figure 7: A simple antilog amplifier based on a single equation defined device:
Controlled source SRC2 acts as a buffer and source SCR1 converts EDD current
I1 to voltage
14
the amplifier output is high. The circuit given in Fig. 8 works over six decades of
light transmission coefficient. Moreover, it does not require the absolute values of
the light intensities to be measured. The circuit output voltage is compressed to a
range between 0 and 5 volts which is ideal for interfacing with a unipolar analogue-
to-digital converter. Qucs cannot represent light signals directly. However, it is
Lisg=h1t_m
source1 TC
possible to use a voltage to represent the intensity of a light. Once one realises
V iR
tB
P h
JIN o
0 p d
= o
6 0 1
e
p Vt
o
u
that the numerical value of light intensity can be represented by a voltage of the
d k
stvepsarr=ioe1n.03s5i1vm
n I
same numerical value then it also becomes possible to represent light signals paths
R
by nets with specific voltage values. In Fig. 8 the light paths are represented by
0
5
t
y
=
. A
1
L
wires connecting the light source, the liquid vessel and the photodiodes. Models
d
ci
s
ml
a
ui
t
o
n
for the light absorbing liquid and the photodiodes are shown in Fig. 9.
i
d
q
u
Ln
u
_d
t
e
r
e
s
_
f1 P
C
s
I
N
B h
v
tJ
dpo
0at
pr= k 1d
=.0i
3o
650 2
e
p
1
n C
D
P
s
w
W
S
y
T1
a
r
e
1
i
=
m
D
p
et
m
e
p
C
1
l
o
gr
)V
(littegaoporevu1 1 0 r
a
n
s
Tt
r
c
=o T
R e s r ioe n s i
1v0
5
t
y
=
.
m a
P
t
Sr
o
=
i
n
st
r
_
6
1
.
9
5f
c
o
e
flLpm 0
.ago0.11e.61e.51e.4Transmis1oe.n3coeficent0.10.11
Figure 8: Light absorption measurements using photodiodes and a logarithmic
amplifier
15
S
R
C
T
=
G2
rans
P_in1P_PA _1out1R
hTC
iB
tIN
P
JR o d o e
0stvedpsaprr=iko1=n.036s50i1vpm 1 S
R
=
GCe1s
po
nsi
v
nty=0.5P_Vlight1P_C t
y1TC1
s
e
r
=
1B
D i
sIN s daJ0rdkpd
=tjv0=pC
Figure 9: Experimental Qucs models for a light absorbing liquid and a photodiode
source where the source gain models the transmission coefficient: a gain of one
implies 100% transmission and a gain of zero no light transmission at all. The
photodiode model is much more complex. A voltage controlled current source in
parallel with a diode forms the core of the model. The gain of the controlled source
represents the responsivity of the diode. Responsivity is expressed in amperes per
watt or as the photodiode current for a given input light power per unit area. As
the current generated is also expressed as the current per unit area, effectively
the area factor is eliminated. Equation (8) relates the photodiode current to the
voltage at the light input terminal:
Responsivity is a function of the light wavelength and is around 0.5 to 0.6 for
wavelengths of 900nm. It is roughly 0.3 for blue wavelengths and drops to 0.2 in
the ultraviolet region of the spectrum. With no illumination falling on a photodiode
the resulting diode current is small, being called the device dark current. It ranges
from tens of pA for ultraviolet detecting photodiodes to several µA for low cost
silicon diodes. Typical values for Rseries are in the range 1m to 20mΩ. The other
parameters are similar to those representing standard semiconductor diodes but
with values specifically chosen to represent the properties of photodiodes.
16
End note
These notes summarise a basic technique for modelling logarithmic amplifiers using
Verilog-A. Verilog-A is primarily intended for modelling compact semiconductor
devices. However, as this report demonstrates it can be equally employed for
macromodelling of integrated circuits and circuits in general. The Qucs C++
code for the modular operational amplifier model, generated by ADMS, can be
found in the Qucs release archives at http://qucs.sourceforge.net/download.
html. The procedure undertaken to convert the Verilog-A code into C++ for
compilation and linking with Qucs closely followed that described by Stefan Jahn
and Hélène Parruitte. Although it takes more work to construct models using
ADMS the effort is worthwile because the finished models are very efficient in
terms of memory usage and have significantly reduced run times. It is worth
noting that Verilog-A based models can be combined with other forms of Qucs
model, forming a powerful combination that extends Qucs simulation capabilities.
Once again a special thanks to Stefan Jahn for all his help and encouragement
over the period that I have been developing the Verilog-A logarithmic amplifier
macromodel, writing this report and testing the examples it includes.
17