第二章: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 與極零位置容許相對誤差為 ;暫態容許歸一化輸出的絕對誤差為 。線性 AC 最大誤差約 ,MOS AC 約 ,極零位置約 。原始 PSF 有輸出有效位數限制。
完整驗證紀錄 · gm/Id 選點與尺寸 · MOS 工作點
模型與仿真層級
- 線性元件模型:使用真正的 Spectre resistor、capacitor、inductor、vccs、vcvs 建立連線。KCL 閉式公式另由 Python 計算,不把完整 H(s) 塞進單個行為源再稱作電路驗證。Gain boosting 的輔助極點用實際 R/C 實現。
- 電晶體模型:使用明列常數的 MOS1 教學模型,從 DC 掃描取得 gm/Id 與電流密度,選工作點與尺寸,再用 Spectre 求 DC/AC。
- 結果比對:MOS 仿真保留其本徵 Cgs;把實際工作點的 gm、gds、電容代入相應完整小訊號式。另列教材簡式的近似偏差,不把近似失效混成仿真失敗。
沒有指定 foundry PDK,因此本輪不作製程、角落、Monte Carlo 或版圖寄生驗證。線性 AC 掃至 1 THz、MOS AC 掃至 10 GHz,是檢查指定數學模型的極限;這些上限不代表長通道 MOS 實際可用頻寬。
gm/Id:先掃描,再選工作點與尺寸
NMOS/PMOS 各以 µm、 µm、 V,掃描 – V,步長 5 mV。教學模型採 V、 µA/V²、 V⁻¹、、 nm。其餘參數與引腳 D/G/S/B 順序保存在 netlist。
從仿真曲線選 V⁻¹,對應 V;沿用 029 的 MHz、 pF:
教材忽略通道長度調變的尺寸式給 µm;本次 MOS1 電流含 ,因此查表選出的 W 較小。這是可解釋的模型差異,沒有直接把教材尺寸當成 PDK 尺寸。
MOS1 查表 netlist · 完整查表 CSV · 七個 MOS 電路 netlist
直接極零分析
使用 Spectre pz,並設 docancel=no,因此可以看到相消前重疊的極點與零點。PSF 中的位置單位是 Hz;與理論根 比較前先除以 。
- Miller 右半平面零點約 +636.620 MHz。
- 兩級 Miller 補償右半平面零點約 +212.207 MHz。
- 跟隨器相消案例在 −13.2629 MHz 有重疊極點/零點,剩餘主極點約 −4.18829 MHz。
- 跟隨器複數極點案例得到共軛極點,與二次分母判別式一致。
Doublet 與 settling
閉迴路由受控源、積分電容及一個 R/C 極點構成。输入為延遲 1 µs、上升時間 1 ns 的階躍;理論參考對有限上升時間作了積分,避免把理想瞬時階躍誤差算給 Spectre。
單極點基準達到 0.1% 誤差約需 1.101 µs;具有慢速 doublet 尾巴的案例約需 184.641 µs。另有一個慢速殘值為負的案例呈現 overshoot,約 30.741 µs 進入 0.1% 範圍。穩定時間依下載波形的最後超差點估算,其時間解析度受保存樣點限制。
逐組電路、波形與近似差異
01 · 單管增益與 MOS/BJT 比較
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
intrinsic · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:5e-08;保存點數:721。
教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 0%。此數字與完整式驗證分開;橙色虛線顯示近似式。
02 · 單極點、GBW 與尺寸數值題
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
loaded_cs · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.57e-06;保存點數:721。
教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 7.36e-05%。此數字與完整式驗證分開;橙色虛線顯示近似式。
mos_cs · MOS1 教學電晶體
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.57e-06;保存點數:601。
DC 輸出:1 V;所有器件通過飽和區檢查。完整式使用實際工作點的 gm、gds 與 Cgs。
03 · Miller 回授與 RHP 零點
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
miller · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.17e-06;保存點數:721。
教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 5.77%。此數字與完整式驗證分開;橙色虛線顯示近似式。
miller_low_rs · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:3.77e-06;保存點數:721。
教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 15.9%。此數字與完整式驗證分開;橙色虛線顯示近似式。
miller_high_rs · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.63e-06;保存點數:721。
教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 1.06%。此數字與完整式驗證分開;橙色虛線顯示近似式。
mos_miller · MOS1 教學電晶體
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.5e-06;保存點數:601。
DC 輸出:1 V;所有器件通過飽和區檢查。完整式使用實際工作點的 gm、gds 與 Cgs。
本組另有直接 PZ 結果:miller。詳見上方極零圖與 JSON。
04 · 源極退化與可調跨導
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
degeneration · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:2e-08;保存點數:721。
教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 61%。此數字與完整式驗證分開;橙色虛線顯示近似式。
degeneration_zin · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:1.59e-05;保存點數:721。
mos_degen · MOS1 教學電晶體
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.23e-06;保存點數:601。
DC 輸出:1.2 V;所有器件通過飽和區檢查。完整式使用實際工作點的 gm、gds 與 Cgs。
05 · 二極體接法與主動負載
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
diode_z · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.55e-06;保存點數:721。
diode_load · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:3.98e-06;保存點數:721。
mos_diode_load · MOS1 教學電晶體
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:3.29e-06;保存點數:601。
DC 輸出:0.65 V;所有器件通過飽和區檢查。完整式使用實際工作點的 gm、gds 與 Cgs。
06 · CMOS 反相器:DC 與匹配
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
inverter_dc · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4e-06;保存點數:721。
07 · CMOS 反相器:完整頻率響應
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
inverter_ac · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.82e-06;保存點數:721。
mos_inverter · MOS1 教學電晶體
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.69e-06;保存點數:601。
DC 輸出:0.65 V;所有器件通過飽和區檢查。完整式使用實際工作點的 gm、gds 與 Cgs。
08 · 源極與射極跟隨器:DC
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
follower_dc · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.36e-06;保存點數:721。
09 · 源極跟隨器:極點、零點與峰化
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
follower_cancel · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.06e-06;保存點數:721。
follower_cancel_z · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.28e-06;保存點數:721。
follower_book · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:3.96e-06;保存點數:721。
follower_book_z · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.41e-06;保存點數:721。
follower_center · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:5e-06;保存點數:721。
follower_center_z · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.17e-06;保存點數:721。
mos_follower · MOS1 教學電晶體
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:3.76e-06;保存點數:601。
DC 輸出:1 V;所有器件通過飽和區檢查。完整式使用實際工作點的 gm、gds 與 Cgs。
本組另有直接 PZ 結果:follower_cancel、follower_center。詳見上方極零圖與 JSON。
10 · 射極跟隨器:有限 beta 與高頻阻抗
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
bjt_follower_z · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.03e-06;保存點數:721。
11 · 主動電感與差動調諧負載
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
active_inductor · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:3.83e-06;保存點數:721。
教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 0.314%。此數字與完整式驗證分開;橙色虛線顯示近似式。
12 · 共閘極的輸入、輸出與轉阻
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
common_gate · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.46e-07;保存點數:721。
13 · Cascode:有限輸出電阻的完整式
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
cascode · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.9e-06;保存點數:721。
教材近似式另行比較:在 1 Hz–1 MHz,最大相對偏差為 0.991%。此數字與完整式驗證分開;橙色虛線顯示近似式。
mos_cascode · MOS1 教學電晶體
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.37e-06;保存點數:601。
DC 輸出:2 V;所有器件通過飽和區檢查。完整式使用實際工作點的 gm、gds 與 Cgs。
14 · Cascode 的 Miller 電容
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
cascode_miller · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.95e-06;保存點數:721。
15 · Cascode 中間節點電容
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
cascode_cm_small · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.89e-06;保存點數:721。
cascode_cm_large · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.95e-06;保存點數:721。
16 · Telescopic 與 folded cascode
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
telescopic · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.9e-06;保存點數:721。
folded · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.37e-06;保存點數:721。
17 · 級聯與 Miller 補償
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
two_stage · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.4e-06;保存點數:721。
本組另有直接 PZ 結果:two_stage。詳見上方極零圖與 JSON。
18 · Regulated cascode 與 gain boosting
本推導組的代表模型已完成 Spectre 驗證;覆蓋範圍以所列 netlist 為準,未逐一搭建所有投影片電路。
gainboost_slow · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.89e-06;保存點數:721。
gainboost_fast · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:4.86e-06;保存點數:721。
本組另有直接 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_zout · 顯式小訊號元件
由 Spectre 輸出的複數波形,逐頻點與完整式比較;相位與正負號均纳入。 最大相對誤差:3.26e-07;保存點數:721。
尚待延伸的驗證
- 以實際 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。