전체 글 92

#5 Background Calibration (추가해야 함)

근래 고성능 회로에는 Digital Calibration 기법들이 내재되고 있습니다.공정은 작아지고, 요구하는 속도와 정밀는 올라가고 있기에아날로그는 빠르고 최대한 저전력으로 동작하고, 디지털 알고리즘으로 보정하는 것이지요.아날로그 단에서 이와 같이 동작하다보니 Mismatch, Offset, Gain Error 등이 발생하게 됩니다.이를 LMS, Correlation 등 DSP 단으로 넘겨 보정하게 됩니다. 예를 들어 #3 장에서 DAC Mismatch를 공부했는데일반적으로 DAC Mismatch를 보정하기 위해서는 Foreground Calibration을 사용합니다.Calibration에는 Foreground와 Background가 있습니다.Foreground Calibration이란 동작을 시작하..

#6 Floating Inverter Amplifier (수정 예정)

일단 바쁘니까 비교기쪽은 Flow만 잡아두고 천천히 쓰겠습니다.ADC쪽도 던져둔거 많고RF도 써야될게 많습니다. 대충 Flow는 왜 Strong Arm Latch에 Pre Amp가 필요한지그리고 2020. JSSC 논문으로 기존의 Pre Amp를 대체하는Floating Inverter Amplifier 소개하고요. 근래 CICC에서 이거보다 더 성능 좋게 뽑은 논문들 있습니다.이걸로 마무리 할 듯 합니다. 근데 사실 Floating Inverter Amplifier는 비교기에서만 사용되는게 아니죠그래서 2단으로 사용되는 다른 FIA를 소개해볼 수도 있는데일단 추후에 천천히 생각해보도록 하겠습니다. (수정 할 사항)FIA 나오기 전에 원래는 BI-Directional 비교기 구조부터 시작하는데 그거랑20..

#5 Double Tail Comparator (수정 예정)

ISSCC 2007년도꺼 기반으로 왜 Strong Arm Latch 안쓰고 이거 쓰는지 적고 그 다음에 TVLSI 2013.01년 저널 기반으로 파형과 수식 해석 할 예정입니다. 그러다가 2018.07 JSSC 논문으로 Dynamic Bias로 성능 좋아지는거 수식과 함께 보여드리고 마지막으로 2022년 ISSCC에 나온 논문으로DTC 구조에서 최고 성능을 뽑아낸 것으로 마무리 하면 될 듯 합니다. 이정도면 DTC 관련해서 알짜배기들만 모아놨습니다.수정 전까지는 논문 사진들로 대체합니다. (추가)2026.06년 JSSC에 Dynamic Bias 쪽 사단에서 Self clock으로 latch 구동시키는 방법도 나왔습니다.솔직히 Dynamic Bias만 하나 거기서 거기 같습니다.

#2 Mixfighter 구조 분석

직전에 shell과 예시 ADC 코드가 주어져 돌려보기는 했습니다.하지만 제대로 어떻게 동작하는지를 모르겠어서 메인 코드인 mixed_bridge.cpp 파일을 분석해보았습니다.그리고 그린 Flowchart입니다.설명하자면 Icaruse Verilog 파일을 shell을 통해 컴파일하면 vvp 파일이 생성됩니다.이후 같은 메모리를 사용하게 한 후 세마포어, 회로 정보 등을 저장합니다.이제 시뮬레이션을 시작하는데아무래도 IVerilog의 시뮬레이션 속도가 아날로그보다 빠릅니다.그래서 매 Latch마다 Spice_sync()라는 함수를 호출해서그 때마다 NGSpice와 IVerilog를 동기화합니다.위 그림은 FSM 그려본건데 처음에는 Bootstrap으로 한번 $spice_sync()를 실행해줍니다.$Sp..

#3 DAC Mismatch & DWA, MES

DAC(Digital-Analog Converter)는 일반적으로 저항 혹은 Capacitor들로 구성되어 있습니다.이들의 크기 비에 따라 분배되어 아날로그로 변환하지요.하지만 앞서 말했듯 공정에서 각 소자 별 크기의 오차로 Mismatch가 발생하게 됩니다.이를 줄이기 위한 가장 간단한 방법은 소자 크기를 키우는 것입니다.대략적으로 크기가 4배 증가하면 각 소자의 표준 편차가 2배 줄어든다고 합니다.물론 이것은 원하는 설계 방향성이 아닙니다. 가장 일반적으로 사용되는 방법은 Digital Calibration 방식입니다.Calibration은 나중에 Calibration만 따로 다뤄보도록 하겠습니다.반면 DAC의 부정합으로 생기는 Error를 Shaping 하는 방법도 존재합니다.Dynamic Elem..

#2 MOS Mismatch & Offset Cancellation

일반적으로 회로를 설계하고 시뮬레이션을 돌릴 때, 회로가 완벽한 대칭 구조라고 가정합니다.하지만 동일한 소자더라도 공정에 따라 오차가 발생합니다.이를 Mismatch(부정합)이라고 합니다.Capacitor에서 일어나는 Mismatch는 약 0.1%정도로 규정하고 있으며MOSFET 역시 부정합으로 인해 선폭의 오차가 발생하게 됩니다.이는 단위 트랜지스터 수를 증가시킴으로 $\mu C_{ox}$, $V_{TH}$의 Averaging이 커져 줄일 수 있습니다. 이러한 MOSFET의 문턱전압 부정합은 DC Offset을 발생시킵니다.Offset이 증폭기를 통과하게 될 경우 비선형 영역을 건드릴 수 있기에 보정이 필요합니다.이외에도 Even order Distortion이 발생하는데,본래 Fully Differe..

#1 Mixfighter 개요

오픈소스로 신기한 코드가 올라왔습니다.https://github.com/cyberflex/MixFighter Mixfighter라는 건데아날로그 회로 Spice 툴인 Ngspice와 디지털 Icarus Verilog를 통합하여 왔다갔다 할 수 있도록 하는 구조였습니다.좋은건 C, C++환경에서 통제한다는 점이고각자 이벤트가 발생할때마다 bridge라는 코드를 통해서 왔다갔다 합니다. 사용하기 위해서는 당연히 Ngspice와 IVerilog 등 몇 가지 툴들이 있어야하고요이는 하단의 사진으로 대체하겠습니다. 파일 구조를 보니 4개의 Shell이 있고요, 예시로 Ideal 8Bit SAR ADC 코드도 있습니다. 돌려보니 확실히 잘 작동을 합니다.Opensource로 Verilog와 spice를 서로 연동한..

#1 Flicker Noise & Chopping

Chopping은 Flicker Noise(1/f Noise)를 해결하는 전통적인 방법입니다.먼저 Flicker Noise가 뭔지 설명하자면MOSFET은 Gate Oxide 그리고 실리콘 기판 사이에서 Dangling 결합이 일어납니다.문제는 전하가 이동하다가 붙잡혀버리고, 나중에 방출되는 현상이 생깁니다.이유는 자세히 밝혀진건 없고 몇 가지 이론만 존재합니다.각 이론에 맞게 전력 밀도 수식을 써보겠습니다. 1. Surface Potential이 변하면서 채널 내 캐리어 수가 무작위로 바뀌기 때문$$S_{vf}(f) = \frac{K_1}{C_{ox}^{\prime 2}} \frac{1}{WL} \frac{1}{f^c}$$2. 격자(Lattice)가 변하면서 이동도(mobility)가 변하기 때문$$S_..

#10 Impedance Matching

전 장에서 신호의 최대 전력 전달을 달성하기 위해, 임피던스 매칭을 한다고 했습니다.그러면 그 임피던스 매칭을 어떻게 할 수 있을지 알아보겠습니다. 1. Transformer Matching트랜스포머는 코일의 턴 비율을 이용하여 임피던스를 변환하는 방식입니다.트랜스포머의 코일 전압 공식은 자속의 시간에 따른 변화율로 나타냅니다.이는 인덕턴스($L = A_L * N^2$)와 상호 인덕턴스(M) 으로 정의할 수 있습니다.$$V_{1}=sL_{1}\cdot I_{1}+sM\cdot I_{2}$$$$V_{2}=sM\cdot I_{1}+sL_{2}\cdot I_{2}$$ 이를 바탕으로 입력 임피던스를 유도해보겠습니다.먼저 V2 전압을 유도합니다.$$\frac{V_{2}}{I_{2}} = -Z_{L} \Righta..