반도체/전자공학 심화

[디지털 회로]Inverter sizing : Fan-out & Buffer topology

코라자비 2023. 5. 8. 20:39

Inverter 를 설계함에 있어서 inverter size를 어느정도로 해야할지에 대해 고민해본 적이 있을 겁니다. 보통 간단한 inverter simulation을 그려 시뮬레이션을 하게 되면 load cap 을 얼마를 달으냐에 따라 inverter 의 speed 와 switching power가 달라지는 것을 관찰할 수 있을 것입니다. 여기서 우리는 inverter 를 설계할 때 speed를 중점적으로 볼 것인지 아니면 switching power 를 중점적으로 볼 것인지 생각해볼 수 있습니다.

 

일반적으로 inverter switching power의 경우에는 load cap을 logical 0에서 logical 1로 충전하는 데 필요한 power 입니다. 여기서는 0V 에서 VDD 까지 충전하는 데 드는 power 겠네요.

보통 다음과 같은 power consumption 공식을 사용합니다. 여기서 f는 inverter가 0에서 1로 switching 하는 주기를 나타낸 것이고 Cl 은 load cap 의 크기입니다. 그렇다면 inverter size 의 경우에는 이론적으로 작으면 작을수록 power 소모가 작습니다. inverter size가 작으면 parasitic cap이 더 작게 보이니 load cap 이 작을테니 말이죠.

(inverter size가 엄청나게 작으면 제대로된 inverting 작업을 못하니 이 경우는 제외합시다.)

 

따라서 inverter가 switching speed를 충분히 따라가기만 한다면 inverter size가 작을수록 load cap이 작아져 power 소모가 작아지게 됩니다. 그렇다면 이 switching speed 를 위한 inverter 의 최적의 size를 구해야겠죠? 바로 이때 fan out 의 개념이 나오게 됩니다.

Fan-out 은 위에 보이는 것과 같이 1개의 inverter 가 같은 size의 inverter를 몇개를 drive 하냐는 의미입니다. 만약 inverter 1개가 다른 inverter 1개를 drive 하고 쭉쭉 1개씩 drive 하는 경우에는 Fan-out 1, 1개 - 2개 - 4개 이런식으로 inverter 1개가 2개를 drive 하는 경우에는 Fan-out 2 라고 합니다. 이 Fan-out 개념은 Inverter 로 이루어진 logic에서 생기는 logical delay의 최솟값을 구하는데 아주 유용한 개념입니다.

 

먼저 여기서 한 가지 가정을 해보겠습니다. Inverter는 input 값이 0이냐 1이냐에 따라 NMOS 와 PMOS 가 각각 켜지게 됩니다. 이 때 어느 mosfet이 켜지냐에 따라 Ron 저항값을 Ronp, Ronn이라고 해봅시다. Ronn=Ronp 라고 가정할 수 있겠죠. 일반적으로 Ronn = Ronp 가 되도록 설정해야 가장 이상적인 digital logic이 될테니까요. 여기선 Ron=Ronp=Ronn 이라고 하겠습니다.

여기서 Fan-out 을 A만큼 가져간다고 하겠습니다. A 가 1이라면 inverter 각각은 size 가 같은 1개의 inverter를 drive 한다는 뜻이죠. 그러면 위와 같은 그림처럼 될 수 있겠네요. 2번 째 stage는 1번째 stage inverter 보다 size가 A배 크고 3번째는 A^2 배 .... 이런식로 가게 됩니다.

그렇게 마지막 inverter 가 load cap 인 Cload를 drive한다고 해봅시다. 여기서는 load cap 의 size를 마지막 inverter size의 input load cap의 A배라고 가정했습니다. 그러면 위와 같은 식이 성립하게 되죠.

이 때 time constant를 이용해 아주 복잡하고 복잡한 식을 전개하면 stage 갯수 N은 위와 같이 나오고 이 N의 갯수를 또 최소하하기 위해 A 값을 구하게 되면 결국 A값은 자연상수 e가 나오게 됩니다. e = 2.718 이므로 결국 Fan-out 3 가 일반적으로 delay 를 가장 적게 하는 inverte size라고 볼 수 있습니다. 경우에 따라서는 Fan-out 4로 설계하는 경우도 있습니다. 정확한 최소 delay 는 model parameter에 따라서 다르기 때문에 simulation을 해봐야하지만, 엄청나게 중요한 path 가 아닌 경우에는 매번 simulation 하기는 힘듦으로 보통 FO3 나 FO4로 설계하게 됩니다.

반응형