SANSEN · CHAPTER 02 · CADENCE SPECTRE 18.1

從推導到實際仿真

32 組線性 AC · 7 個 MOS 電路 · 5 組極零分析 · 3 組暫態驗證

第二章:Spectre 仿真與推導對照

本輪使用遠端 Cadence Spectre 18.1.0.077 實際執行 netlist,透過 virtuoso-bridge-lite 0.8.0 下載原始 PSF。涵蓋 20 組推導的代表模型;以下清楚列出每個電路與檢查,沒有將它等同於逐一完成所有投影片電路。

結果總覽

驗證 數量 結果
顯式元件的小訊號 AC 32 全部通過
gm/Id 選尺寸的 MOS1 電路 AC 7 全部通過
直接極零分析 5 全部通過
Doublet/基準暫態 3 全部通過
MOS 工作區 10 顆 全部在飽和區

比較完整式時,AC 與極零位置容許相對誤差為 2×1052\times10^{-5};暫態容許歸一化輸出的絕對誤差為 2×1052\times10^{-5}。線性 AC 最大誤差約 1.59×1051.59\times10^{-5},MOS AC 約 4.69×1064.69\times10^{-6},極零位置約 1.93×1061.93\times10^{-6}。原始 PSF 有輸出有效位數限制。

完整驗證紀錄 · gm/Id 選點與尺寸 · MOS 工作點

模型與仿真層級

  1. 線性元件模型:使用真正的 Spectre resistor、capacitor、inductor、vccs、vcvs 建立連線。KCL 閉式公式另由 Python 計算,不把完整 H(s) 塞進單個行為源再稱作電路驗證。Gain boosting 的輔助極點用實際 R/C 實現。
  2. 電晶體模型:使用明列常數的 MOS1 教學模型,從 DC 掃描取得 gm/Id 與電流密度,選工作點與尺寸,再用 Spectre 求 DC/AC。
  3. 結果比對:MOS 仿真保留其本徵 Cgs;把實際工作點的 gm、gds、電容代入相應完整小訊號式。另列教材簡式的近似偏差,不把近似失效混成仿真失敗。

沒有指定 foundry PDK,因此本輪不作製程、角落、Monte Carlo 或版圖寄生驗證。線性 AC 掃至 1 THz、MOS AC 掃至 10 GHz,是檢查指定數學模型的極限;這些上限不代表長通道 MOS 實際可用頻寬。

gm/Id:先掃描,再選工作點與尺寸

NMOS/PMOS 各以 W=20W=20 µm、L=2L=2 µm、VDS=1|V_{DS}|=1 V,掃描 VOV=0.05V_{OV}=0.050.600.60 V,步長 5 mV。教學模型採 VT=0.45|V_T|=0.45 V、KP=100KP=100 µA/V²、λ=0.1\lambda=0.1 V⁻¹、γ=0\gamma=0tox=10t_{ox}=10 nm。其餘參數與引腳 D/G/S/B 順序保存在 netlist。

gm/Id 查表

從仿真曲線選 gm/ID=10g_m/I_D=10 V⁻¹,對應 VOV=0.2V_{OV}=0.2 V;沿用 029 的 GBW=100GBW=100 MHz、CL=3C_L=3 pF:

gm,target=2π(100MHz)(3pF)=1.88496mS.g_{m,\mathrm{target}}=2\pi(100\,\mathrm{MHz})(3\,\mathrm{pF})=1.88496\,\mathrm{mS}. ID,target=gm,target/(gm/ID)=188.496μA.I_{D,\mathrm{target}}=g_{m,\mathrm{target}}/(g_m/I_D)=188.496\,\mu\mathrm A. W=ID,targetID,lookup/Wlookup=171.360μm,L=2μm.W=\frac{I_{D,\mathrm{target}}}{I_{D,\mathrm{lookup}}/W_{\mathrm{lookup}}}=171.360\,\mu\mathrm m,\qquad L=2\,\mu\mathrm m.

教材忽略通道長度調變的尺寸式給 W=188.496W=188.496 µm;本次 MOS1 電流含 (1+λVDS)=1.1(1+\lambda V_{DS})=1.1,因此查表選出的 W 較小。這是可解釋的模型差異,沒有直接把教材尺寸當成 PDK 尺寸。

MOS1 查表 netlist · 完整查表 CSV · 七個 MOS 電路 netlist

直接極零分析

使用 Spectre pz,並設 docancel=no,因此可以看到相消前重疊的極點與零點。PSF 中的位置單位是 Hz;與理論根 ss 比較前先除以 2π2\pi

直接極零分析

  • Miller 右半平面零點約 +636.620 MHz
  • 兩級 Miller 補償右半平面零點約 +212.207 MHz
  • 跟隨器相消案例在 −13.2629 MHz 有重疊極點/零點,剩餘主極點約 −4.18829 MHz
  • 跟隨器複數極點案例得到共軛極點,與二次分母判別式一致。

極零解析值與理論值

Doublet 與 settling

閉迴路由受控源、積分電容及一個 R/C 極點構成。输入為延遲 1 µs、上升時間 1 ns 的階躍;理論參考對有限上升時間作了積分,避免把理想瞬時階躍誤差算給 Spectre。

Doublet 的 Spectre 暫態

單極點基準達到 0.1% 誤差約需 1.101 µs;具有慢速 doublet 尾巴的案例約需 184.641 µs。另有一個慢速殘值為負的案例呈現 overshoot,約 30.741 µs 進入 0.1% 範圍。穩定時間依下載波形的最後超差點估算,其時間解析度受保存樣點限制。

暫態 netlist · 暫態驗證數值

逐組電路、波形與近似差異

01 · 單管增益與 MOS/BJT 比較

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

intrinsic · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:5e-08;保存點數:721。

教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 0%。此數字與完整式驗證分開;橙色虛線顯示近似式。

intrinsic 仿真對照

波形 CSV · 執行 netlist

02 · 單極點、GBW 與尺寸數值題

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

loaded_cs · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.57e-06;保存點數:721。

教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 7.36e-05%。此數字與完整式驗證分開;橙色虛線顯示近似式。

loaded_cs 仿真對照

波形 CSV · 執行 netlist

mos_cs · MOS1 教學電晶體

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.57e-06;保存點數:601。

DC 輸出:1 V;所有器件通過飽和區檢查。完整式使用實際工作點的 gm、gds 與 Cgs。

mos_cs 仿真對照

波形 CSV · 執行 netlist

03 · Miller 回授與 RHP 零點

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

miller · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.17e-06;保存點數:721。

教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 5.77%。此數字與完整式驗證分開;橙色虛線顯示近似式。

miller 仿真對照

波形 CSV · 執行 netlist

miller_low_rs · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:3.77e-06;保存點數:721。

教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 15.9%。此數字與完整式驗證分開;橙色虛線顯示近似式。

miller_low_rs 仿真對照

波形 CSV · 執行 netlist

miller_high_rs · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.63e-06;保存點數:721。

教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 1.06%。此數字與完整式驗證分開;橙色虛線顯示近似式。

miller_high_rs 仿真對照

波形 CSV · 執行 netlist

mos_miller · MOS1 教學電晶體

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.5e-06;保存點數:601。

DC 輸出:1 V;所有器件通過飽和區檢查。完整式使用實際工作點的 gm、gds 與 Cgs。

mos_miller 仿真對照

波形 CSV · 執行 netlist

本組另有直接 PZ 結果:miller。詳見上方極零圖與 JSON。

04 · 源極退化與可調跨導

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

degeneration · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:2e-08;保存點數:721。

教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 61%。此數字與完整式驗證分開;橙色虛線顯示近似式。

degeneration 仿真對照

波形 CSV · 執行 netlist

degeneration_zin · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:1.59e-05;保存點數:721。

degeneration_zin 仿真對照

波形 CSV · 執行 netlist

mos_degen · MOS1 教學電晶體

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.23e-06;保存點數:601。

DC 輸出:1.2 V;所有器件通過飽和區檢查。完整式使用實際工作點的 gm、gds 與 Cgs。

mos_degen 仿真對照

波形 CSV · 執行 netlist

05 · 二極體接法與主動負載

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

diode_z · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.55e-06;保存點數:721。

diode_z 仿真對照

波形 CSV · 執行 netlist

diode_load · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:3.98e-06;保存點數:721。

diode_load 仿真對照

波形 CSV · 執行 netlist

mos_diode_load · MOS1 教學電晶體

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:3.29e-06;保存點數:601。

DC 輸出:0.65 V;所有器件通過飽和區檢查。完整式使用實際工作點的 gm、gds 與 Cgs。

mos_diode_load 仿真對照

波形 CSV · 執行 netlist

06 · CMOS 反相器:DC 與匹配

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

inverter_dc · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4e-06;保存點數:721。

inverter_dc 仿真對照

波形 CSV · 執行 netlist

07 · CMOS 反相器:完整頻率響應

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

inverter_ac · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.82e-06;保存點數:721。

inverter_ac 仿真對照

波形 CSV · 執行 netlist

mos_inverter · MOS1 教學電晶體

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.69e-06;保存點數:601。

DC 輸出:0.65 V;所有器件通過飽和區檢查。完整式使用實際工作點的 gm、gds 與 Cgs。

mos_inverter 仿真對照

波形 CSV · 執行 netlist

08 · 源極與射極跟隨器:DC

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

follower_dc · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.36e-06;保存點數:721。

follower_dc 仿真對照

波形 CSV · 執行 netlist

09 · 源極跟隨器:極點、零點與峰化

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

follower_cancel · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.06e-06;保存點數:721。

follower_cancel 仿真對照

波形 CSV · 執行 netlist

follower_cancel_z · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.28e-06;保存點數:721。

follower_cancel_z 仿真對照

波形 CSV · 執行 netlist

follower_book · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:3.96e-06;保存點數:721。

follower_book 仿真對照

波形 CSV · 執行 netlist

follower_book_z · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.41e-06;保存點數:721。

follower_book_z 仿真對照

波形 CSV · 執行 netlist

follower_center · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:5e-06;保存點數:721。

follower_center 仿真對照

波形 CSV · 執行 netlist

follower_center_z · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.17e-06;保存點數:721。

follower_center_z 仿真對照

波形 CSV · 執行 netlist

mos_follower · MOS1 教學電晶體

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:3.76e-06;保存點數:601。

DC 輸出:1 V;所有器件通過飽和區檢查。完整式使用實際工作點的 gm、gds 與 Cgs。

mos_follower 仿真對照

波形 CSV · 執行 netlist

本組另有直接 PZ 結果:follower_cancel、follower_center。詳見上方極零圖與 JSON。

10 · 射極跟隨器:有限 beta 與高頻阻抗

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

bjt_follower_z · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.03e-06;保存點數:721。

bjt_follower_z 仿真對照

波形 CSV · 執行 netlist

11 · 主動電感與差動調諧負載

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

active_inductor · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:3.83e-06;保存點數:721。

教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 0.314%。此數字與完整式驗證分開;橙色虛線顯示近似式。

active_inductor 仿真對照

波形 CSV · 執行 netlist

12 · 共閘極的輸入、輸出與轉阻

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

common_gate · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.46e-07;保存點數:721。

common_gate 仿真對照

波形 CSV · 執行 netlist

13 · Cascode:有限輸出電阻的完整式

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

cascode · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.9e-06;保存點數:721。

教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 0.991%。此數字與完整式驗證分開;橙色虛線顯示近似式。

cascode 仿真對照

波形 CSV · 執行 netlist

mos_cascode · MOS1 教學電晶體

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.37e-06;保存點數:601。

DC 輸出:2 V;所有器件通過飽和區檢查。完整式使用實際工作點的 gm、gds 與 Cgs。

mos_cascode 仿真對照

波形 CSV · 執行 netlist

14 · Cascode 的 Miller 電容

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

cascode_miller · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.95e-06;保存點數:721。

cascode_miller 仿真對照

波形 CSV · 執行 netlist

15 · Cascode 中間節點電容

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

cascode_cm_small · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.89e-06;保存點數:721。

cascode_cm_small 仿真對照

波形 CSV · 執行 netlist

cascode_cm_large · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.95e-06;保存點數:721。

cascode_cm_large 仿真對照

波形 CSV · 執行 netlist

16 · Telescopic 與 folded cascode

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

telescopic · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.9e-06;保存點數:721。

telescopic 仿真對照

波形 CSV · 執行 netlist

folded · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.37e-06;保存點數:721。

folded 仿真對照

波形 CSV · 執行 netlist

17 · 級聯與 Miller 補償

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

two_stage · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.4e-06;保存點數:721。

two_stage 仿真對照

波形 CSV · 執行 netlist

本組另有直接 PZ 結果:two_stage。詳見上方極零圖與 JSON。

18 · Regulated cascode 與 gain boosting

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

gainboost_slow · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.89e-06;保存點數:721。

gainboost_slow 仿真對照

波形 CSV · 執行 netlist

gainboost_fast · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.86e-06;保存點數:721。

gainboost_fast 仿真對照

波形 CSV · 執行 netlist

本組另有直接 PZ 結果:gainboost_slow。詳見上方極零圖與 JSON。

19 · Doublet 與精密 settling

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

本組的三個暫態情境及波形見上方 Doublet 小節。

20 · MOS/BJT 埠量總結

本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。

完整公式推導

bjt_degen_gain · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:5.77e-07;保存點數:721。

bjt_degen_gain 仿真對照

波形 CSV · 執行 netlist

bjt_degen_zout · 顯式小訊號元件

由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:3.26e-07;保存點數:721。

bjt_degen_zout 仿真對照

波形 CSV · 執行 netlist

尚待延伸的驗證

  • 以實際 PDK 替換 MOS1,重新產生 gm/Id、電容和增益查表。
  • 本輪針對各推導組的代表模型;例如 0216 的線性區可調 M2、0246–0247 的完整主動電感實現,仍需各自的器件級 bias 與穩定性案例。
  • BJT 目前使用顯式 hybrid-pi 等效元件;未使用製程 BJT 模型掃描偏壓。
  • 0244 的教材原模型/記號仍待釐清;仿真驗證了本專案明列的等效模型,不能反向證明該教材原式。

重現與原始資料

所有正式 netlist、CSV、圖及原始 PSF 都保存在本機工作區。遠端 /tmp 只用作執行暫存;不依賴其長期存在。執行命令、exit code 與 netlist SHA-256 保存在各 run 的 result.json

使用與重建說明 · 執行紀錄索引