Current mirror는 amplifier 등의 회로에서 원하는 current를 흘려주기 위해서 필수적인 회로입니다. 회로를 설계하는 관점에 있어서 전류의 관점에서 혹은 전압의 관점에서 설계를 하게 되는데, 실제로는 기준을 잡아주기에 전류가 더 편하기 때문이죠. 예를 들어서 회로 안에서 0.5V의 전압을 만들어주는 경우를 생각해보겠습니다. 0.5V 의 전압을 만들기 위해서는 회로 밖에서 0.5V의 전압을 직접 걸어주어도 되고, 혹은 1V의 전압을 걸어 resistor를 사용해 voltage dividing 을 해도 됩니다. 반면에 current 같은 경우에는 current mirror를 사용하죠. 일반적으로 amplifier를 설계할 시에 branch에 흐르는 current 값을 정해 설계하는데 이를 위해서는 current mirror를 사용하는게 훨씬 효과적입니다.
간단한 current mirror 구조는 위와 같습니다. M1은 dioded-connect이고 M2는 Vgs에 의해 biasing 되는 mosfet이죠. 이렇게 설계하면 M1 mosfet은 항상 saturation region에 있게 됩니다. 이 때의 전류식에 대해 간단히 살펴보면
위와 같이 식을 전개할 수 있는데요. 결국 M1 branch 에 흐르는 전류가 reference 전류인 Iref가 되고 M2에 흐르는 전류가 Io가 됩니다. 우리는 Io의 전류를 간단히 말하면 M1과 M2의 length, width 비로 결정할 수 있습니다. 만약 (W1/L1)=2*(W2/L2) 라면 Io = Iref*2 가 되는거죠. 실제로는 위 식에 보이는 것처럼 channel length modulation 등을 고려해 완벽히 2배가 되지는 않지만 시뮬레이션을 통해 보면 거의 2배 값을 가지게 됩니다. 여기서 일반적으로 같은 current mirror들은 length를 일정하게 해주기 때문에 Width 비로 current 가 결정된다고 봐도 됩니다.
간단히 말하면 Iref = 20 uA일 때 width비가 3배이면 60uA, 10배이면 200uA, 1/2 배면 10uA 가 흐른다고 볼 수 있죠. 이러한 current mirror 들은 matching issue가 상당히 중요하기 때문에 layout에서도 많은 노력을 기울입니다.
일반적으로 이렇게 M1과 M2를 width 가 같은 여러 개의 finger로 나누어서 순서를 뒤죽박죽 섞어서 설계합니다. 이 방법을 통해 각 mosfet이 받는 layout 상에서의 여러 effect (ex. STI)에서 좀 더 robust하게 설계할 수 있습니다.
따라서 위와 같이 2배의 width를 가지는 current branch를 꾸밀 때 reference mosfet의 2배의 width를 가지는 mosfet을 이용하기 보다 같은 width를 가진 mosfet의 finger를 늘려주는 방식을 사용합니다. Layout 상에서의 대칭성 등을 최대한 맞추어 실제 fab 시에 생기는 mismatch들을 최대한 미연에 방지하는 거죠.
처음 current mirror 를 설계할 때 헷갈리는 점이 실제로 layout effect 를 고려하다보면 mosfet의 gate 쪽에 저항이 끼는 (a) 경우와 mosfet의 source 쪽에 저항이 끼는 (b) 경우 중에 어떤 것이 더 critical 할지 고민해본 적이 있을 겁니다. 결과적으로 말하면 (a)의 경우에는 이미 gate 쪽으로 보이는 저항이 어마어마하게 크기 때문에 저항이 끼는 것이 거의 영향이 없습니다. Voltage-biaising이기 때문에 gate 쪽으로 전류가 거의 흐르지 않게 되고, 전류가 거의 흐르지 않는다면 저항으로 인한 전압 강하가 거의 없다는 뜻이기 때문이죠. 반면 (b)의 경우에는 큰 문제가 될 수 있습니다. Mosfet branch를 통해 current가 흐르고 이것이 ground로 가는 길에 저항이 끼기 때문에 오른쪽으로 갈 수록 source 쪽에 더 많은 전압 강하가 생기게 됩니다. 따라서 맨 오른쪽의 mosfet의 source에는 Ground voltage인 0V보다 더 높은 전압이 생기게 되고 이로 인해, Vgs 값이 원래 생각한 값보다 더 작아지게 돼죠. 이로 인해 current를 설계한 값보다 더 조금 흘리게 되고 margin이 부족하다면 이로 인해 큰 문제가 생길 수 있습니다.
마지막으로 current mirror를 cascoding하는 이유에 대하 알아보겠습니다. Iref의 전류를 흘리는 reference mosfet가 이를 copy하는 current mirror 가 있을 때 copy 되는 current 는 Io는 Vgs에 의해서만 결정되는 것이 아닌 Vds에 의해서도 영향을 받습니다. 따라서 아무리 current mirror를 잘 설계하게 되더라도 mosfet의 drain 에 걸리는 전압이 켜지면 커질수록 Io 값이 더 커질 수 밖에 없죠. 이 때 Vo에 대한 Io의 기울기는 1/ro 입니다. 우리는 Vo가 변하더라도 일정한 전류를 흐르는 current mirror 를 설계하기 원하므로 기울기를 줄여야합니다. 기울기를 줄이기 위해서는 ro 값을 키워야 하죠.
한 방법으로는 바로 current mirror단에 mosfet을 cascode 하는 것입니다.이렇게 mosfet을 cascode하게 되면 output resistance가 ro 에서 ro*ro로 훨씬 더 커지게 됩니다. 따라서 Vo의 변화에 대한 Io의 변화를 보면 기울기가 현저하게 낮아진 것을 볼 수 있죠. 따라서 Vo 변화에 따른 current 변화량의 줄어들어 훨씬 더 robust한 current mirror를 만들 수 있습니다.
이상입니다.
'반도체 > 전자공학 기초' 카테고리의 다른 글
5-3. Amplifier 의 Linearity 란?(Nonlinearity 의 원인) Fast Fourier Transform이란? Linearity를 증가시키는 방법 (2) | 2023.04.08 |
---|---|
5-2. Miller cap compensation (2) | 2023.01.14 |
5-1. Amplifier의 gain을 늘려야하는 이유 (0) | 2023.01.07 |
5. Gain 늘리는 방법 : Cascode stage vs Multi-stage (0) | 2023.01.03 |
4. Single-Stage amplifier : Common-source, Common-gate, Source-follower (0) | 2022.12.31 |