본문 바로가기
CMOS IC Design

Cascode Stage, Folded Cascode [Razavi][Ch3]

by 숩달SoobDal 2024. 11. 13.
반응형

출처: Behzad Razavi, Design of Analog CMOS Integrated Circuits, Second Edition

Chapter 3 - Single-Stage Amplifiers (pg. 82~92)


3.6. Cascode Stage

Cascode Stage

 

Cascode는 CS stage와 CG stage를 cascade(직렬로 연결한) 특정한 회로입니다. (Fig. 3.59)

Common-source stageVin을 인가해서 생성된 전류 신호를 common-gate stage에 인가하는 겁니다.

 

* Cascade: 여러 증폭 단을 직렬로(위아래로) 연결하여 전압 이득을 높이는 일반적인 방식

* Cascode: CS stageCG stage를 위로 쌓아 연결하는 특별한 cascade 구성

* 포함 관계: 그러니까 모든 cascodecascade이지만, 모든 cascadecascode는 아닙니다.

 

Fig. 3.59를 보면, M2sourceinput을 받고, gateVb, drainVout이 있는 CG stage입니다.

그리고 M2CS stageload이죠.

M1M2에는 같은 전류가 흐릅니다.

Vin을 받는 M1input device, M2cascode device라고 부릅니다.

 

Fig. 3.59와 같이 CSCG stage를 수직으로 쌓아 올린 특정 회로를 telescopic cascode라고도 합니다.

다른 cascode 종류로는 folded cascode, wide-swing cascode 등이 있는데, chapter 후반부에 folded cascode를 다룹니다.

 

 

 

Vx Change in Cascode Stage 

Vin이나 Vb가 조금 변할 때 Vx가 어떻게 변하는지 알아보겠습니다.

Vx의 변화를 보는 이유는, X CS stage output이자 CG stage input이기 때문인 것 같습니다.

M1 M2 둘다 saturation이고, channel-length modulation body effect는 무시합니다.

 

(Fig. 3.60(a)) VinΔV만큼 증가하면, Id1gm1ΔV만큼 증가합니다.

이 전류 변화량은 M2Rd에도 흐릅니다.

전류 gm1ΔVX에서 본 M2impedance, , M2source에서 본 impedance1/gm2를 통해 흐르면, Vxgm1ΔV*(1/gm2)만큼 감소합니다.

gm1ΔVRd를 통해 흐르면, Voutgm1ΔV*Rd만큼의 drop을 발생시킵니다.

 

, 이제 반대로 Fig. 3.60(a)에서 Vin은 고정이고, VbΔV만큼 증가하는 경우에 Vx의 변화를 살펴봅시다.

Vgs1이 고정이고 ro1=이므로, Fig. 3.60(b)처럼 M1current source로 나타낼 수 있습니다.

- 우리는 Vx의 변화를 보고 싶은 거니까, node Xoutput으로 생각할 겁니다.

M2gateinput을 받고, Xoutput을 보내기 때문에 source follower입니다.

λ=γ=0이면 Rd의 값에 상관 없이 source followervoltage gain1입니다. (Small-signal equivalent model 참고)

(Rd를 고려할 필요가 없는 이유는, current source M1에 의해 Rd에 흐르는 전류가 Id1으로 고정이라, Vout = Vdd-Id1*Rd로 고정이기 때문입니다.)

Voltage gain1이므로, VxΔV만큼 증가합니다.

 

 

 

Cascode Stage - Bias Conditions

다음으로 cascodebias condition을 살펴보겠습니다.

이번에도 channel-length modulationbody effect는 무시합니다.

 

M1M2둘다 saturation 되어있다면, M2source follower로 동작합니다.

M2source follower라면 Vx = Vb-Vgs2입니다.

 

이때 M1saturation 조건Vx ≥ Vin-Vth1이고, 여기에 Vx = Vb-Vgs2를 대입하면 Vb > Vin+Vgs2-Vth1이 됩니다.

 

M2saturation 조건Vout ≥ Vb-Vth2이며, 여기에 Vb > Vin+Vgs2-Vth를 대입하면 (3.124)가 됩니다.

(3.124)에서 Vin=Vgs1이므로, (3.124)(3.125)와 같이 M1M2overdrive voltage(Vov = Vd,sat)의 합으로 나타낼 수 있습니다.

이를 두고, minimum output voltagetwo overdrive, 혹은 2Vd,sat라고 하기도 합니다.

Fig. 3.61에서 M1M2 옆에 적혀 있는 Vgs1-Vth1, Vgs2-Vth2는 각각 M1M2가 동시에 saturation에 있기 위한 최소 Vds입니다.

 

, M1M2가 동시에 saturation에서 동작하기 위해서는, 최소 ‘M1M2Vov 만큼의 output level이 요구된다는 것입니다.

회로에 source follower M2를 추가함으로써, output voltage swingM2Vov만큼 줄어든 것이죠.

 

 

 

Cascode Stage - Large-Signal Characteristics

이제 cascode stagelarge-signal behavior를 살펴보겠습니다. (어렵다!)

 

* M1saturation 조건: Vin ≥ Vth1, Vx ≥ Vin-Vth1 (Vds1 ≥ Vgs1-Vth1)

* M2saturation 조건: Vb-Vx ≥ Vth2, Vout ≥ Vb-Vth2 (Vds2 ≥ Vgs2-Vth2)

 

Vin Vth1이면, M1M2둘다 off이고, Vout = Vdd입니다.

또한, VoutVdd로 고정이라 M2source follower로 동작하므로 Vx ≈ Vb-Vth2 (subthreshold conduction 무시)가 됩니다.

 

Vin > Vth1이 되면, M1에 전류가 흐르기 시작해서 VoutVdd보다 낮아집니다.

Id2Id1과 같은 값으로 증가하니까 Vgs2가 증가해야 되는데, Vb고정값이니 Vx가 작아지게 됩니다.

Vx가 감소하지만, Vx ≥ Vin-Vth1을 유지하는 동안은 M1saturation에 있습니다. (Vth1 < Vin < S2)

동시에 Vout ≥ Vb-Vth2이면 M2saturation에 있습니다. (Vth1 < Vin < S1)

 

Vin Fig. 3.62S2, S1 지점을 넘어 충분히 큰 값이라 할 때, 두 가지 효과가 나타납니다.

(1)첫째, Vout < Vb-Vth2 (Vds2 < Vgs2-Vth2)가 되어, M2triode region에 진입합니다.
(2)둘째, Vx < Vin-Vth1 (Vds1 < Vgs1-Vth1)이 되어, M1triode region에 진입합니다.
 

M1, M2 중 어떤 MOSFET이 먼저 triode region에 진입하는지는 device dimension, Rd, Vb 값에 따라 결정됩니다.

예를 들어, Vb가 비교적 높으면 Fig. 3.62처럼 M2가 먼저 triode region에 진입하겠지만, Vb-Vth2 < Vin-Vth1이면 M1가 먼저겠죠.

 

M2deep triode region에 진입하면, Vds2 << 2(Vgs2-Vth2)라는 것이므로 Vx Vout이 됩니다.

 

 

 

Cascode Stage - Small-Signal Characteristics

이번에는 cascode stagesmall-signal 특성을 살펴보겠습니다.

 

λ=0이면, , channel-length modulation이 없다면, input device M1에서 생성된 drain currentcascode device M2를 통해서도 흐릅니다.

따라서 voltage gainCS stagevoltage gain과 같은 Av = -GmRout으로 나타납니다.

GmRout의 식은 이후에 살펴보겠습니다.

 

 

 

Example 3.21

 

Fig. 3.64cascode에서 λ=0일 때의 voltage gain을 구하는 문제입니다.

Small-signal circuitFig. 3.63Rp를 추가하면 됩니다.

 

 

 

M1small-signal 전류 gm1V1RpM2source에서 본 impedance1/(gm2+gmb2)에 나뉘어 들어갑니다.

이와 같은 식 전개를 통해 Id2(3.126)으로, Av(3.127)로 구할 수 있습니다.

 

 

 

Cascode Stage - Output Resistance

Cascode의 장점은 높은 output impedance입니다. (중요!)

Fig. 3.65cascode 구조에서 Rout을 계산해 보겠습니다.

 

이 회로는 degeneration resistor ro1이 있는 CS stage로 볼 수 있습니다.

따라서, CS stage 파트에 나왔던 (3.66) 식에, Rsro1을 대입하고, roro2를 대입하면 cascode stageRout(3.128)이 됩니다.

 


gmro
>> 1을 가정하면, Rout(gm2+gmb2)ro2ro1로 근사할 수 있습니다.

, M1 M2를 쌓음으로써 M1output impedance(gm2+gmb2)ro2배로 증폭시킬 수 있다는 겁니다.

 

 

Fig. 3.66에서처럼, 3개 이상의 트랜지스터를 cascoding하면 더 높은 output impedance를 얻을 수 있습니다.

대신, 더 큰 voltage headroom이 요구됩니다. 트랜지스터 2개를 쓸 때는 voltage headroom2Vov인데, 3개를 쓰면 3Vov로 늘어나겠죠.

Cascode에서 높은 output impedance가 왜 중요할까요?

아까 cascodevoltage gain-Gm*Rout이라고 했었습니다.

 

그런데 Gm은 트랜지스터의 gm에 대한 식인데, gm높였다가는 bias currentcapacitance가 커지는 trade-off가 발생합니다.

따라서 Rout을 높여서 voltage gain을 높이는 방법이 좋아서, 높은 Rout을 얻는 것이 중요한 것입니다.

 

 

 

Example 3.21

 

Fig. 3.67voltage gain을 구하는 문제입니다.

 

직관적으로 보면, cascodeGmgm1보다 살짝 작습니다.

M1에 의해 생성된 small-signal currentM2에 온전히 전달된다면 Gm=gm1이겠지만, ro1에 의해 일부 gndshunt되므로 Gmgm1보다 살짝 작습니다.

gm2Vin에 직접 반응하지 않기 때문에 Gm에 영향을 미치지 않습니다.

 

 

Fig. 3.68(a)처럼, Voutac groundshort시키면 M2source에서 본 impedance[1/(gm2+gmb2)] || ro2입니다.

M1에서 생성된 small-signal 전류 gm1Vin[1/(gm2+gmb2)] || ro2를 통해 Iout만큼 흐르고, 나머지 전류는 ro1을 통해 흐릅니다.

따라서, Iout (3.129)로 구할 수 있고, Gm=Iout/Vin(3.130)으로 구해집니다.

 

Voltage gain (3.131)~(3.132)와 같이 구할 수 있습니다.

 

 

 

Cascode Stage vs Increasing L of CS Stage

Cascoding을 통해 output impedance를 늘릴 수도 있지만, input transistor M1L을 늘려서 주어진 bias current에 대해 output impedance를 늘릴 수도 있습니다.

결론부터 말하자면 두 경우의 voltage headroom은 같고, output impedancecascode에서 더 큰 값을 얻을 수 있어, cascode를 쓰는 것이 유리합니다.

이 두 경우의 voltage headroom을 먼저 비교해보겠습니다.

 

(Fig. 3.69(b)) CS stage input transistor M1 W는 건드리지 않고, L 4배 했다고 생각해 봅시다

Id가 아래와 같기 때문에, 일정한 bias current를 위해서는 L4L로 바뀌었을 때, overdrive voltage2배 되어야 합니다.

 

, M1Fig. 3.69(c)cascode stage와 같은 voltage headroom값을 가지게 됩니다.

Fig. 3.69(b)(c)가 동일한 voltage headroom을 가진다는 겁니다.

 

이번에는 output impedance를 비교해보겠습니다. 

Fig. 3.69(b)에서 gmro(3.133)으로 나타나고, gmro(루트 L)에 비례하기 때문에, L4배 하면 gmro2배가 됩니다.

그런데 Fig. 3.69(c)의 cascode의 경우, output impedance가 대략 gm(ro^2)L루트L에 비례하므로, output impedance가 더 큽니다. (좋은 특성)

또한, L4L로 늘린 경우에는 gm½배 줄어들어, 성능이 저하됩니다.

따라서, L을 늘리는 것보다 cascode가 높은 output impedance를 얻기에 더 좋은 구조라는 게 결론입니다.

 

 

 

Cascode Stage - Constant Current Sources

 

 

Example 3.22에서 봤던 Fig. 3.67에서, current sourcePMOS cascode로 구현한 것이 Fig. 3.70입니다.

PMOS로 구현했을 때 달라지는 점은 cascodeoutput impedance1/gm이 아니라 ro에 대한 식이라는 점입니다.

RoutPMOS cascodeNMOS cascodeoutput impedance를 병렬연결한 것이므로, (3.134)입니다.

 

Gaingm1Rout이며, Rout을 대입하면 (3.135)가 됩니다.

 

 

 

Poor Man's Cascode

 

Poor man’s cascode는 아주 간단한 형태로 output impedance를 증가시킬 수 있습니다.

이 회로에서는 M1saturation, M2triode region에서 동작하게 합니다.

그러면 M1source에 저항(M2)이 연결된 것과 같아서, output impedance가 높아지는 효과가 있습니다.

MOSFET의 L을 늘리고자 할 때도 사용합니다.

 

 

 

Cascode Stage - Shielding Property

 

Output impedance가 높다는 건 output node의 전압이 ΔV만큼 변할 때, cascode devicesource 전압 변화가 작게 나타나는 것을 말합니다.

Cascode 트랜지스터가 input deviceoutput의 전압 변동으로부터 “shield”하고 있다는 뜻입니다.

Cascodeshielding 특성은 종종 유용하게 사용됩니다.

(Ch5 cascode current mirror에서 등장합니다)

 

Cascodeshielding propertycascode devicetriode region에 들어서면 사라지게 됩니다.

그 이유를 Fig. 3.73연관지어 설명하겠습니다.

 

Vx가 큰 값에서 감소한다고 생각해 봅시다.

Vx < Vb2-Vth2가 되면 M2triode region에 진입하는데, M1에 의해 정해지는 일정한 Id2 값을 유지하기 위해서는 Vp가 감소해야 합니다.

(3.142)를 보면, Vx가 감소할 때, Vp가 같이 감소해야 Id2가 일정하게 유지될 수 있죠.

, cascode deviceM2triode region에 있으면 Vx의 변화가 Vp의 변화로 나타난다, , shielding property가 사라진다는 것을 알 수 있습니다.

 

 

 

Folded Cascode

다음으로 cascode의 한 종류인 folded cascode에 대해 알아보겠습니다.

 

Folded cascodeinput devicePMOS, cascode deviceNMOS를 사용하는 cascode입니다. (Fig. 3.74(a))

 

M1M2bias하기 위해, Fig. 3.74(b)처럼 current source가 추가되어야 합니다.

|Id1| + Id2 = I1으로 일정하겠죠.

 

Vin이 증가하면, |Id1|이 감소해서 Id2는 증가하고, Vout이 감소합니다.

PMOS-NMOS cascodevoltage gainoutput impedance, 앞서 구한 NMOS-NMOS cascode와 같습니다.

 

Fig. 3.74(c) 같은 NMOS-PMOS cascode도 만들 수 있습니다.

 

Fig. 3.74(b)(c)의 구조가 folded cascode라고 불리는 이유는, small-signal current가 위(b) 또는 아래(c)“folded” 되었기 때문입니다.

Fig. 3.70telescopic cascode에서는 M1에 흐르는 bias currentM2에 그대로 흐르는데, Fig. 3.74folded cascode에서는 M1 M2의 전류가 더해져서 I1이 됩니다.

따라서, folded cascodebias currenttelescopic cascode보다 커야 합니다.

 

 

 

Folded Cascode - Large-Signal Behavior

 

이제 folded cascodelarge-signal behavior를 살펴보겠습니다.

 

*PMOSsaturation 조건은 NMOSsaturation 조건에서 각 전압을 절대값으로 생각한 것과 같습니다.

 

Fig. 3.74(b)에서, VinVdd에서 0으로 감소한다고 생각해 봅시다.

Vin이 충분히 작아져야 |Vgs|가 커져서 saturatoin이 되겠죠.

Vin > Vdd-|Vth1|이면, M1은 꺼진 상태고, M2I1이 다 흘러서(Id2=I1) Vout = Vdd-I1Rd입니다.

 

Vin < Vdd-|Vth1|이 되면 M1이 켜지면서 saturation되어, M2에는 (3.143)Id2가 흐릅니다.

 

Vin이 계속 감소하면, I1은 계속 증가하고 Id2는 계속 감소하여 Id1=I1일 때 Id2=0이 됩니다.

 

그러면 Rd를 통한 전압 강하가 없으므로 Vout=Vdd겠죠.

이때의 VinVin1이라고 하면, Vin1의 값은 (3.145)와 같겠습니다.

Vin < Vin1이면 Id1I1보다 커져서, Id1=I1을 유지하기 위해 M1triode region에 진입합니다.

 

이 내용이 Fig. 3.75plot되어 있습니다.

오른쪽 그래프의 경우, |Id1|+Id2 = I1임을 확인할 수 있습니다.

 

 

 

Folded Cascode - Output Impedance

 

(Example 3.25) Fig. 3.76(a)folded cascodeoutput impdance를 구해 봅시다.

M3bias current source로 작동하고 있습니다.

주어진 회로를 small-signal model로 그린 Fig. 3.76(b)를 보면, 이는 source degeneration이 있는 CS stage 구조입니다.

Source degeneration이 있는 CS stageRout(3.66)과 같으므로, 값들을 대입하면 Rout(3.146)으로 구해집니다.

 

 

 

Folded Cascode - Cascode Load

 

Folded cascode에서 높은 voltage gain을 얻기 위해서, folded cascodeloadcascode로 구현할 수 있습니다.

이는 Ch9: OPAMP에서 자세하게 다룬다고 합니다 .