560 likes | 885 Views
Signal Flow Graph. nodes : variables branches : gains e.g. y = a ∙ x e.g. y = 3x + 5z – 0.1y. a. x. y. -0.1. x. z. 3. y. 5. The value of a node is equal to the sum of all signal coming into the node. The incoming signal needs to be weighted by the branch gains.
E N D
Signal Flow Graph • nodes : variables • branches : gains e.g. y = a ∙ x e.g. y = 3x + 5z – 0.1y a x y -0.1 x z 3 y 5
The value of a node is equal to the sum of all signal coming into the node. The incoming signal needs to be weighted by the branch gains. Note: y6, y7, y8 are gained up versions of y1.
1 u G1 r y -G2 An input node is a node with only out going arrows. R, N and r are input nodes. N G1 1 G3 x z R y 1 G2 -H1 -1
fig_03_30 Parallel branches can be summed to form a single branch
fig_03_31 Series branches can be multiplied to form a single branch fig_03_31
fig_03_32 Feedback connections can be simplified into a single branch 1 r y r y 1 Note: the internal node E is lost!
G1 G3 x z R y 1 G2 y 1 -H1 -1 G1 G3 z’ x z 1 R y 1 G2 y 1 -H1 -1 G1 R z’ x R y 1 G2 y 1 -1
z’ x R y 1 G2 y 1 -1 G1 R z’ x y G2 y 1 -1 Overall:
Mason’s Gain Formula • A forward path: a path from input to output • Forward path gain Mk: total product of gains along the path • A loop is a closed path in which you can start at any point, follow the arrows, and come back to the same point • A loop gain Li: total product of gains along a loop • Loop i and loop j are non-touching if they do not share any nodes or branches
The determinant Δ: • Δk: The determinant of the S.F.G. after removing the k-th forward path • Mason’s Gain formula:
N G1 1 G3 x z y R 1 G2 -H1 -1 Get T.F. from N to y 1 forward path: N y M = 1 2 loops: L1 = -H1G3 L2 = -G2G3 Δ1: remove nodes N, y, and branch N y All loops broken: Δ1 = 1 0
Get T.F. from R to y 2 f.p.: R x z y : M1=G2G3 R z y : M2=G1G3 2 loops: L1 = -G3H1 L2 = -G2G3 0
Δ1: remove M1 and compute Δ Δ1 = 1 Δ2: remove M2 and compute Δ Δ2 = 1 Overall:
H4 H6 H1 H2 H3 H5 H7 Forward path: M1 = H1 H2 H3 M2 = H4 Loops: L1 = H1 H5 L2 = H2 H6 L3 = H3 H7 L4 = H4 H7 H6 H5 L1 and L3 are non-touching
Δ1: If M1 is taken out, all loops are broken. therefore Δ1 = 1 Δ2: If M2 is taken out, the loop in the middle (L2) is still there. therefore Δ2 = 1 – L2 = 1 – H2H6 Total T.F.:
Application to integrated circuits • Identify input and output variables • At each internal “circuit node”: • Identify the equivalent resistance (impedance) • Use current into this R as a node variable • Use voltage at circuit node as another variable • Construct SFG for the circuit • Use Mason’s gain formula to find I/O TF
There are two input variables: Vi+, Vi- Vo is output variavle Internal circuit nodes: Vm, and IRm Vo1, and IRo1 Vm Rm Ro1 Vi- Vo Vi+ VBN 1/Zc -gm1 IRm Rm Vm -gm4 IRo1 Ro1 Vo1 -gm6 Io Ro Vo Vi- -gm2 -sC1 -1/Zc 1/Zc Vi+ -1/Zc -sCL This is a simplied version, by ignoring Cgds and the dynamics at the mirror node.
1/Zc -gm1 IRo1 Ro1 Vo1 -gm6 Io Ro Vi+ -Vi- Vo If Rm=1/gm4 gm1 = gm2 -sC1 -1/Zc 1/Zc -1/Zc -sCL Loops: L1= -Ro1(sC1+1/Zc); L2= -Ro(sCL+1/Zc) L3= Ro1Ro(-gm6+1/Zc)/Zc L1 an L2 are non-touching Two forward paths: M1=gm1Ro1gm6Ro; M2=- gm1Ro1Ro/Zc The corresponding D’s are both 1 By MGF: TF = (M1+M2)/(1-L1-L2-L3+L1L2) = gm1Ro1Ro(gm6Zc - 1)/{Zc+Ro1(sC1Zc+1)+Ro(sCLZc+1) + Ro1(sC1Zc+1)Ro(sCL+1/Zc) + Ro1Ro(gm6Zc-1)/Zc}
When s 0, if Zc inf, TF = gm1Ro1Ro(gm6Zc - 1)/{Zc+Ro1(sC1Zc+1)+Ro(sCLZc+1) + Ro1(sC1Zc+1)Ro(sCL+1/Zc) + Ro1Ro(gm6Zc-1)/Zc} gm1Ro1Rogm6 If Zc = 1/sCC: TF = gm1Ro1Ro(gm6 - sCC)/{1+sRo1(C1+CC)+sRo(CL+CC) + s2Ro1Ro (C1+CC) (CL+CC) + sCCRo1Ro(gm6-sCC)} = gm1Ro1Ro(gm6 - sCC)/{1+sRo1(C1+CC)+sRo(CL+CC) + s2Ro1Ro (C1CL+CCCL+CCC1) + sCCRo1Rogm6} For buffer connection, closed-loop characteristic equation: 1+gm1Ro1Rogm6+s{Ro1(C1+CC)+Ro(CL+CC)+Ro1Ro(CCgm6-gm1CC)} + s2Ro1Ro (C1CL+CCCL+CCC1)=0
Closed-loop BandWidth: ≈const/s-coeff≈gm1gm6/(CCgm6-gm1CC)=gm1/CC*gm6/(gm6-gm1) For stability: gm6 >= gm1 For damping ratio >= 0.5, need b2 >a*c. That is: (CCgm6-gm1CC)2 >= gm1gm6 (C1CL+CCCL+CCC1) (CC)2/(C1CL+CCCL+CCC1) >= gm1gm6/(gm6-gm1)2 BW2 <= gm1gm6 /(C1CL+CCCL+CCC1) Notice: Ro1 and Ro plays no role in these conditions.
Let closed-loop poles be p= -x+-jy. Step response settling time is determined by x. Ts = -ln(tol)/x, tol is settling tolerance. For fastest settling, want large x = -ln(tol)/Ts. Perform a shift of imag axis: s=z-x. Want to maximize a while z remains stable. 1+gm1Ro1Rogm6+(z-x){Ro1(C1+CC)+Ro(CL+CC)+Ro1Ro(CCgm6-gm1CC)} + (z-x)2Ro1Ro (C1CL+CCCL+CCC1)=0 gm1gm6-x(CCgm6-gm1CC)+x2(C1CL+CCCL+CCC1)+ z{(CCgm6-gm1CC)-2x(C1CL+CCCL+CCC1)} + z2(C1CL+CCCL+CCC1)=0 For stability of z, x< (gm6-gm1)/2(C1CL/CC+CL+C1)
If Zc = Rz + 1/sCc: TF = gm1Ro1Ro(sCc(Rzgm6 -1)+gm6)/ {(sCcRz+1)+Ro1(sC1(sCcRz+1)+sCc)+Ro(sCL(sCcRz+1)+sCc) - Ro1(sC1(sCcRz+1)+sCc)Ro(sCL+1/Zc) + Ro1Ro(gm6(sCcRz+1)-sCc)/Zc}
Closed-loop: Vm Rm Ro1 Vi- Vo Vi+ VBN -1 1/Zc 1 -gm1 Vi+ IRo1 Ro1 Vo1 -gm6 Io Ro Vo Vi+ -Vo -sC1 -1/Zc 1/Zc -1/Zc -sCL
-1 1/Zc 1 -gm1 Vi+ IRo1 Ro1 Vo1 -gm6 Io Ro Vo Vi+ -Vo -sC1 -1/Zc 1/Zc -1/Zc -sCL Forward paths remain the same. Two new loops added: L4=-M1; L5=-M2 These are touching with previous loop. • D=1-L1-L2-L3-L4-L5+L1L2, set D=0: • Zc+ gm1Ro1Ro(gm6Zc - 1)+Ro1(sC1Zc+1)+Ro(sCLZc+1)-Ro1(sC1Zc+1)Ro(sCL+1/Zc) + Ro1Ro(gm6Zc-1)/Zc = 0 • This is the closed-loop characteristic equation.
If Zc= Rz + 1/sCC, The char eqbecomes:L Zc+ gm1Ro1Ro(gm6Zc - 1)+Ro1(sC1Zc+1)+Ro(sCLZc+1)-Ro1(sC1Zc+1)Ro(sCL+1/Zc) + Ro1Ro(gm6Zc-1)/Zc = 0
IRA VA RA sCC -sCC-sCA sCC gmc Vi+ -Vo Vi+ IRo1 Ro1 Vo1 -gm5 Io Ro Vo 1 -gm1 -sCL-sCC -sC1
If we include a finite roc for M6c: IRA VA RA sCC goc -sCC-sCA sCC gmc+ goc Vi+ -Vo Vi+ IRo1 Ro1 Vo1 -gm5 Io Ro Vo 1 -gm1 -sCL-sCC -sC1 There is one more FP: -gm1R’o1gocR’AsCCRo Its D=1
It also introduces a loop: ro1 goc RA (gmc+goc). This loop is non touching with the one at Vo.
If we include Cgd effect for M5: IRA VA RA sCC goc -sCC-sCA sCC gmc+ goc Vi+ -Vo Vi+ IRo1 Ro1 Vo1 -gm5 Io Ro Vo 1 -gm1 -sCL -sCC-sCgd sCgd -sC1-sCgd sCgd
C1 and CL should be modified just a little bit. It also introduces a loop: Ro1 Ro sCgd (-gm5+sCgd). This loop is non touching with the one at VA. In the main forward path, gm5 is replaced by gm5-sCgd.
Quick tips • Each circuit node makes one loop, with loop gain = -R*sCtot • If there is two way current injection between node A and B, it makes a loop with loop gain = +RA*RB*YAB*YBA • These loops are non touching if the involved circuit nodes are separate.
b1 b2 x1 x e y b3 Σ Σ x2 x3 -a1 -a2 -a3 b1 b2 1 1 1 1 e s s x3 s x y x1 x2 b3 -a1 -a2 -a3
b1 Example: b2 x1 x e y b3 Σ Σ x2 x3 -a1 -a2 -a3 • Forward paths: • Loops:
Determinant: Δ1: If M1 is taken out, all loops are broken. therefore Δ1 = 1 Δ2: If M2 is taken out, all loops are broken. therefore Δ2 = 1 Δ3: Similarly, Δ3 = 1
I2 I1 - Vc U + y + - One forward path, two loops, no non-touching loops.
+ U + + Y + - - Two forward paths, three loops, no non-touching loops.