【1】基本概念(Overview)
VTC-TDC型ADCは、
アナログ電圧をまず時間(遅延)に変換し(VTC: Voltage-to-Time Converter)、
その時間差をデジタル値に変換する(TDC: Time-to-Digital Converter)構造である。
目的:
オペアンプや大電流DACを使わずに、電圧→時間→デジタルの完全デジタル処理を実現。
→ 微細化(FinFET / GAA / CFET)・低電圧(0.4–0.6 V)に極めて有利。
【2】ブロック構成(Block Diagram)
┌─────────────────────────────┐
Vin ───► │ Voltage-to-Time Converter │ ───► t_delay ───► │ Time-to-Digital Converter │ ───► Dout
└─────────────────────────────┘ └─────────────────────────────┘
拡張構成(多チャネル並列型):
Vin1 ─► [VTC1] ─► [TDC] ─► D1
Vin2 ─► [VTC2] ─► [TDC] ─► D2
⋮
VinN ─► [VTCN] ─► [TDC] ─► DN
【3】動作原理(Principle)
(1) 電圧→時間変換(VTC部)
入力電圧に応じて、充電時間・遅延時間・発振周期が変化する。
代表的実装:電圧制御遅延線(VCDL)、電圧制御発振器(VCO)
基本式:
t_delay = k * (Vref - Vin)
または、充放電型VTCでは:
t_delay = (C * (Vref - Vin)) / Icharge
ここで
- C:キャパシタンス
- Icharge:電流源(Vinで制御)
- k:比例定数(回路構造依存)
低電圧でも遅延素子のしきい値制御により高直線性が得られる。
(2) 時間→デジタル変換(TDC部)
VTCで生じた遅延差を、時間分解能Δtで量子化する。
代表方式:
- Delay-Line TDC
- Vernier TDC
- Ring-Oscillator TDC
基本式:
Dout = floor( t_delay / Δt )
時間分解能:
Δt = 1 / ( f_clk * M )
ここで
f_clk:クロック周波数
M:遅延素子段数
(3) 総合変換式(Analog→Digital)
全体として:
Vin → t_delay → Dout
理想化モデル:
Dout = α * (Vref - Vin) / Δt
α:比例係数(設計によるスケーリング係数)
【4】ブロック別詳細構造
| ブロック | 主構成要素 | 動作式 | 備考 |
|---|---|---|---|
| Voltage-to-Time Converter | 電圧制御遅延線(VCDL)/電圧制御充電器 | t_delay = (C/I)·(Vref−Vin) | 電圧→遅延変換 |
| Time-to-Digital Converter | Vernier TDC, DLL, Ring Counter | Dout = floor(t_delay / Δt) | 遅延→ビット化 |
| Digital Backend | キャリブレーション、リニア補正 | Dout_corr = Dout + f_calib(Vin) | 非線形補正 |
【5】数式モデル(Model Equations)
電圧制御遅延素子(VCDL)モデル:
t_delay = τ0 + k1*(Vref - Vin)
Ring-oscillator型VTCの場合:
f_osc = f0 + k2*(Vin - Vbias)
t_delay = N / f_osc
TDC変換:
Dout = round( (t_delay / Δt) )
最終出力:
Dout = round( k_total * (Vref - Vin) )
【6】低電圧・微細化適性(FinFET/GAA/CFET)
| 項目 | VTC-TDC型ADC | 従来SAR/Pipelineとの比較 |
|---|---|---|
| 動作電圧 | ◎ 0.4–0.6 Vでも安定 | SAR: 0.6–0.8 V必要 |
| 電源スケーリング | 優 | 完全CMOSロジック化可 |
| 利得依存性 | 低い | OpAmp非依存 |
| クロック依存 | 高い | ジッタ補償が必要 |
| 面積 | 小 | DAC不要 |
| 主用途 | SerDes, Time-domain SoC, 低VDD高速変換 |
【7】誤差要因と補償式
| 要因 | 影響 | 補償手法 |
|---|---|---|
| ジッタ (σt) | SNDR低下 | PLL同期・平均化 |
| 非線形遅延 | DNL/INL悪化 | キャリブレーション補償 |
| 温度ドリフト | t_delay変動 | DLL補償 |
| クロックスキュー | 差分誤差 | デジタル位相補償 |
遅延ジッタの影響:
σ_Dout ≈ σ_t / Δt
【8】性能指標式
実効分解能:
ENOB = (SNDR - 1.76) / 6.02
Walden FoM:
FoM_W = P / (2^ENOB * fs)
時間領域型の特性(時間分解能に換算):
Δt_eff = 1 / (fs * 2^N)
【9】実装例(ISSCC/JSSC報告)
| 年 | プロセス | 構造 | VDD | 分解能 | 速度 | 備考 |
|---|---|---|---|---|---|---|
| ISSCC 2021 | 7 nm FinFET | VTC-TDC Hybrid SAR | 0.6 V | 10 bit | 1 GS/s | 全デジタル制御 |
| ISSCC 2023 | 3 nm GAA | VCO-based TDC | 0.45 V | 9 bit | 2 GS/s | OpAmpレス・CFET準備 |
【10】まとめ(Summary)
| 項目 | 内容 |
|---|---|
| 動作原理 | Vinを遅延時間に変換し、TDCでデジタル化 |
| 構造 | Voltage-to-Time Converter + Time-to-Digital Converter |
| 長所 | OpAmp不要・低電圧・高速・面積小 |
| 短所 | ジッタ影響が大・キャリブレーション必須 |
| 主用途 | GAA/CFET世代の高速・低VDD SoC |
【11】主要数式(プレーンテキスト形式)
t_delay = k * (Vref - Vin)
Dout = floor( t_delay / Δt )
Vin = Vref - (Dout * Δt / k)
FoM_W = P / (2^ENOB * fs)
FoM_S = SNDR + 10 * log10(fs / P)
σ_Dout ≈ σ_t / Δt
【12】結論
VTC-TDC型ADCは、
- 電圧→時間→デジタルの変換で
- 低VDDでも高線形性・高速度を維持できる。
したがって、
GAA/CFET世代の主力ADCアーキテクチャとして有望であり、
SAR + 時間領域TDC融合構造(Hybrid SAR-TDC)が次世代主流である。
# Program Name: vtctdc_adc_model.py
# Creation Date: 20251028
# Overview: Simulation and visualization of a VTC-TDC ADC (Voltage-to-Time + Time-to-Digital Converter)
# Usage: Run this script to visualize voltage-to-time and time-to-digital conversion behavior.
# --- Library installation ---
import numpy as np
import matplotlib.pyplot as plt
# ===============================
# 1. Parameters (unified control)
# ===============================
Vref = 1.0 # Reference voltage [V]
k_vtc = 2e-9 # Voltage-to-time conversion coefficient [s/V]
dt_tdc = 50e-12 # TDC time resolution [s]
fs = 200 # Number of input samples
Vin = np.linspace(0, Vref, fs) # Input voltage sweep
# ===============================
# 2. Voltage-to-Time Converter
# ===============================
# Linear voltage-to-delay model: t_delay = k * (Vref - Vin)
t_delay = k_vtc * (Vref - Vin)
# ===============================
# 3. Time-to-Digital Converter
# ===============================
# Quantization process: Dout = floor(t_delay / Δt)
Dout = np.floor(t_delay / dt_tdc)
# Reconstructed Vin from digital output (inverse mapping)
Vin_reconstructed = Vref - (Dout * dt_tdc / k_vtc)
# ===============================
# 4. Ideal continuous-time mapping
# ===============================
t_delay_ideal = k_vtc * (Vref - Vin)
# ===============================
# 5. Plot results (Voltage → Time → Digital)
# ===============================
plt.figure(figsize=(10, 6))
# --- (a) Voltage-to-Time relationship ---
plt.subplot(2, 1, 1)
plt.plot(Vin, t_delay * 1e9, 'b', label='VTC Output (t_delay)')
plt.plot(Vin, t_delay_ideal * 1e9, 'k--', alpha=0.6, label='Ideal linear relation')
plt.title('Voltage-to-Time Converter (VTC)')
plt.xlabel('Input Voltage Vin [V]')
plt.ylabel('Delay Time t_delay [ns]')
plt.legend()
plt.grid(True)
# --- (b) Time-to-Digital quantization ---
plt.subplot(2, 1, 2)
plt.step(Vin, Dout, where='mid', color='r', label='Quantized Digital Output (Dout)')
plt.plot(Vin, (t_delay / dt_tdc), 'k--', alpha=0.5, label='Ideal continuous value')
plt.title('Time-to-Digital Conversion (TDC)')
plt.xlabel('Input Voltage Vin [V]')
plt.ylabel('Digital Output Code')
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()
# ===============================
# 6. Text summary (English comments)
# ===============================
"""
Explanation:
-------------
This script models the behavior of a VTC-TDC ADC in two sequential stages:
1. Voltage-to-Time Conversion (VTC):
- The input analog voltage Vin controls a delay time t_delay.
- Equation: t_delay = k * (Vref - Vin)
- A lower Vin produces longer delay (proportional relationship).
2. Time-to-Digital Conversion (TDC):
- The delay time is quantized by digital time steps of Δt.
- Equation: Dout = floor(t_delay / Δt)
- The output code increases linearly as Vin decreases.
Advantages:
------------
- No operational amplifier (OpAmp) or large DAC required.
- Suitable for low-voltage FinFET / GAA / CFET technologies (0.4–0.6 V).
- Fully digital implementation using standard CMOS delay cells.
Performance Metrics:
---------------------
ENOB ≈ (SNDR - 1.76) / 6.02
FoM_W = P / (2^ENOB * fs)
σ_Dout ≈ σ_t / Δt
"""