연구를 진행하면서 다른 사람들의 논문을 보게 되면 Look up table 이라는 표현을 자주 보게 됩니다. Look up table 은 줄임말로 LUT 라고도 부르며, 많은 사람들이 사용하게 되는 회로 triming 수단이죠. 처음에 해당 단어를 보면 잘 와닿지가 않습니다. 회로 triming 수단으로 다른 수단인 self-calibration 은 어떤 training mode 를 통해 회로를 최적화 시키는거겠구나. 하지만 Look up table 은 어떻게 적용되는지 헷갈리기도 합니다. 그리고 이러한 수단이 왜 필요한지에 대해서도 의문일 수 있죠. 오늘은 Look up table 에 대해 알아봅시다.
Look Up Table (LUT) 의 의미
일반적으로 Look up table 에 대해 검색해보면 위와 같은 그림이 많이 나옵니다. LUT 에서는 위와 같이 여러개의 SRAM 과 이를 MUXing 하는 MUX 회로로 구성됩니다. 위에서는 총 8개의 SRAM 을 사용하고 8:1 MUX 를 사용했습니다. 이렇게 될 경우 3 개의 input 인 a,b,c 가 필요하게 되고 총 출력 y는 1개가 나오게 되겠죠. 이러한 회로를 LUT 회로라고 합니다.
LUT 사용하는 이유
FPGA 를 사용하시거나 Digital 회로 설계를 하는 사람들은 이러한 LUT 의 개념과 사용하는 이유에 대해 직감적으로 알 수 있을 겁니다. 하지만 아날로그 회로 설계를 처음 해보거나 회로 설계에 익숙하지 않은 경우에는 이러한 LUT 가 필요한 이유에 대해 와닿지 않죠. LUT 를 사용하는 이유는 과연 무엇일까요?
실제 회로는 우리가 시뮬레이션하는 것과 다르게 나올 수 있습니다. 일반적으로 industry 가 아니면 모든 process corner 와 vdd 에 대해서 robust 하게 동작하는 회로를 만들지 않죠. 연구하는 환경에서는 TT corner 와 TVDD (Typical VDD) 에 대해서만 시뮬레이션 하는 경우도 많습니다. 실제 fab-out 되는 칩은 FF corner / TT corner / SSP corner 로 나뉘고 이 때문에 우리가 시뮬레이션 상에서 보는 값과 실제 chip 이 동작해서 output 으로 내뱉는 값이 다를 수 있습니다.
위 그래프는 단순 inverter 한 단의 corner 를 틀어가며 simulation 해 VTC 를 그린 그래프입니다. 단 한단의 inverter 에서 생기는 저러한 VTC 의 차이에 의해 tPD 가 발생합니다. 따라서 여러 개의 inverter 를 통과한 후에는 corner 혹은 VDD 에 따라 적게는 수십ps 에서 많게는 몇십, 몇백 ns 이상의 delay 차이가 발생할 수 있죠. 똑같은 회로인데도 말이죠.
하지만 우리는 코너에 따라 회로를 다르게 설계할 수 없습니다. 어떤 wafer 를 찍든 간에 모두 다 TT-corner 를 갖도록 fab-out 할 수도 없구요. (엄청나게 좋은 공정에서는 corner variation 값이 적겠지만 그래도 corner variation 값은 존재할 수밖에 없습니다) 그럼 우리는 TT corner chip 만 살리고, 나머지 FF corner 와 SS corner 의 chip 들은 모두 버려야할까요? 그렇지 않습니다. FF / SS corner 의 chip 또한 triming (training) 하여 TT corner , TVDD 즉 우리가 시뮬레이션 했던 sim 에 가깝게 만들 수 있습니다. 바로 Logic gate 와 LUT 을 이용하면 되죠
먼저 1ns 의 inverter chain 을 만드는게 목표라고 합시다. 그럼 이번에 무식하게 inveter chain 으로만 만드는 것이 아닌 중간에 nand 로 inverter path 를 분기하는 겁니다. 그럼 이제 FF corner 에서는 우리가 의도한 대로 1ns 의 delay 를 갖는 inverter chain 이 됩니다. 그런데 SS corner 에서는 inverter 가 느려져서 2ns 의 delay 를 갖는 inverter chain 이 되겠죠? 이렇게 되면 아래와 같이 A 신호를 바꿔 1ns 의 delay chain 만큼을 스킵하도록 하면 되는겁니다. 그럼 서로 다른 corner 의 회로임에도 불구하고 A 신호에 따라 똑같은 delay 를 갖게되는 inverter chain 이 되는거죠. 그리고 이 A 값은 코너에 따라 LUT 에 각각 다른 값을 저장하면 됩니다.
이런식으로 우리는 실제 시뮬레이션과 다르게 나올 수 있는 실물 wafer 상의 간극을 줄일 수 있습니다. 글에서는 단순 inverter chain 만을 그렸지만 comparator 의 offset, amplifier 의 gain 등 여러 회로의 불확정성을 LUT 를 이용해 calibration 할 수 있습니다. 이상입니다.
'반도체 > 전자공학 심화' 카테고리의 다른 글
Coupling noise : Positive & Negative coupling 과 Signal shielding (0) | 2024.09.09 |
---|---|
Latch, Flip-flop 회로와 TSPC(True single phase clock) 회로 (0) | 2024.09.07 |
Voltage Controlled Oscillator(VCO) 의 개념 및 동작원리 (0) | 2024.06.19 |
LDO dominant pole 의 위치와 pole compensation (0) | 2024.04.21 |
Circuit design : Clock 의 skew 와 jitter (0) | 2024.04.10 |