Files
tcad-devsim_triac/USER_FEATURE_GUIDE.md

80 lines
6.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# USER_FEATURE_GUIDE.md (使用者應用功能指南)
本文件整理並梳理當前半導體 TCAD 元件模擬系統所提供給使用者端的所有應用特性、操作方式以及工作流程。
---
## 1. 使用者應用功能 (User-Facing Features)
本系統主要協助半導體元件設計工程師解決以下工程模擬與計算問題:
* **Feature A:製程導向二維掺雜解析建模 (Process-Step Oriented Doping / PCAD)**
* **核心用途**:工程師可以直接輸入晶圓代工廠的**實際製程參數**(如注入離子種類、注入能量、注入劑量、熱退火溫度及熱擴散時間),而非手動輸入抽象的硬編碼摻雜濃度。
* **工程邏輯**:系統內建 Boron、Phosphorus、Arsenic 的注入與擴散物理常數資料庫,自動計算垂直射程與側向擴散標準差,並依據遮罩視窗範圍,合成精確的 2D 摻雜濃度分佈模型(如 LDMOS 漂移區、雙向三極體 Triac 的 P-well 井區等)。
* **Feature B:摻雜梯度自適應網格剖分 (Gradient-Based Adaptive Mesh)**
* **核心用途**:自動優化網格節點分佈,防止在空間梯度極大的區域(如 PN 接面、氧化層界面、MOSFET 表面通道)發生數值計算發散,同時避免在平坦區使用過密網格以降低計算負載。
* **工程邏輯**:在基礎網格上對摻雜濃度分布進行數值差分,動態計算局部合適的網格尺度,並在 PN 接面上施加最高密度的細化,產生背景網格場定義檔案 (`.pos`),引導 Gmsh 輸出高密度的適應性網格。
* **Feature C:高電壓偏壓掃描與動態細化插值 (HV Sweep & Dynamic Remeshing)**
* **核心用途**:模擬功率元件(如 TVS 二極體、Triac)在高反向電壓下的雪崩穿隧特性與崩潰電壓(BV)。
* **工程邏輯**:提供自適應步長調整與回退(Backoff)機制。當高壓下空乏區擴大至粗網格邊界時,自動觸發動態網格细化,並將電位、載子濃度等溶液物理量精準插值(Log-space 插值與保守平滑處理)至細化網格,以保證大電位跨度下的求解收斂性。
* **Feature D:低溫剛性收斂優化 (Low-Temperature Stiff Solver)**
* **核心用途**:解決 MOSFET 元件在極低溫度(如 $-40^\circ\text{C}$)下本徵載子極少所引起的數值收斂發散問題。
* **工程邏輯**:利用客製化的 C++ 收斂誤差下限控制與雙階段牛頓迭代。第一階段使用 `log_damp` 對電位變動施加阻尼,第二階段切換至 `positive` 連續性方程求解,藉此在亞臨界區平滑吸收載子漂移噪聲,順利完成轉移特性全範圍掃描。
* **Feature E:多溫度 MOSFET 轉移特性自動掃描與整合 (Multi-Temp Transfer Curves)**
* **核心用途**:量測 MOSFET 的轉移曲線($I_{ds}\text{ vs }V_{gs}$),以分析臨界電壓 $V_{th}$ 的溫度相依漂移、亞臨界擺幅(SS)惡化以及強導通區的通道迁移率退化特性。
* **工程邏輯**:整合一鍵式多溫度($-40^\circ\text{C}$ 到 $125^\circ\text{C}$)進程隔離調度,產出完整整合的 CSV 表格並自動繪製精美的線性與對數坐標曲線。
---
## 2. 使用者操作與應用模式 (Usage Modes & Workflows)
使用者可透過專案根目錄的 `Makefile` 以命令列參數形式操作系統。
### 應用情境/模式一:自適應網格建構與生成
* **運作機制與輸入參數要求**
* 命令格式:`make mesh dev=<device_name> pcad=<true|false>`
* 核心參數:`dev` 代表元件目錄名稱(例如 `dev=Triac_rp``dev=LDMOS`);`pcad` 決定是否啟用製程步驟掺雜(預設 `true`)。
* **觸發的本地附加功能**
* 先呼叫 `generate_mesh_2d.py` 產出粗網格。
* 調用 `generate_analytical_bgmesh.py` 載入 PCAD 製程步驟,執行摻雜梯度評估,於 `devices/[dev]/` 下輸出 `device_bgmesh.pos`
* 再次呼叫 `generate_mesh_2d.py` 載入背景網格位置場,輸出最終的自適應網格 `device_2d.msh`
### 應用情境/模式二:零偏壓熱平衡電位初始化
* **運作機制與輸入參數要求**
* 命令格式:`make static dev=<device_name> temp=<temperature_K> pcad=<true|false>`
* 核心參數:`temp` 為模擬溫度(絕對溫度,預設 `300.0` K)。
* **觸發的本地附加功能**
* 執行 `solve_static_2d.py`,加載網格與掺雜,僅求解電位 Poisson 方程式,得出熱平衡狀態的內建電勢(Built-in Potential)與初始載流子分佈,並在輸出文件夾生成初始狀態 pickle 種子檔。
### 應用情境/模式三:高壓反向偏壓掃描(含雪崩/BTBT及動態細化)
* **運作機制與輸入參數要求**
* 命令格式:`make sweep dev=<device_name> avalanche=<true|false> btbt=<true|false> refine=<true|false> refine_v_step=<voltage> sweep_target=<voltage>`
* 核心參數:
* `avalanche=true`:開啟 Chynoweth 雪崩電離模型。
* `btbt=true`:開啟 Hurkx 帶帶穿隧效應。
* `refine=true`:開啟動態細化;`refine_v_step=50.0` 代表每掃描 50V 就重新對空乏邊界網格分裂細化一次。
* `sweep_target=1000V`:設定掃描電壓上限。
* **觸發的本地附加功能**
* 啟動 `solve_sweep_recon.py` 載入 static 狀態,逐步遞增反向偏壓。若收斂失敗,會自動減小電壓增量並回退(Backoff)。
* 若開啟網格細化,於指定偏壓間隔調用 `dynamic_refine.refine_and_interpolate` 重新生成細網格、插值溶液,並進行解耦/耦合雙階段牛頓解法以穩定高壓狀態。
### 應用情境/模式四:從指定 Checkpoint 中斷點接續掃描
* **運作機制與輸入參數要求**
* 命令格式:`make resume dev=<device_name> checkpoint=<filepath> sweep_target=<voltage>`
* 核心參數:`checkpoint` 指向先前備份的 pickle 檔案(例如 `devices/Triac_rp/output_260625_01/seed_500V.pkl`)。
* **觸發的本地附加功能**
* 啟動 `resume_run.py`,讀取中斷點的網格與變數分佈,恢復邊界條件設定,並沿用當前設置的雪崩/BTBT 或細化控制繼續向目標電壓進行 sweep。
* 背景執行模式可使用 `make resume-bg ...`(利用 nohup 與背景重定向輸出)。
### 應用情境/模式五:MOSFET 輸出與轉移特性溫度掃描
* **運作機制與輸入參數要求**
* 輸出特性掃描:`make mos_sweep dev=LDMOS out=<out_dir> temp=<temp_K>`
* 轉移特性溫度掃描:`make mos_transfer dev=LDMOS vds=<vds_V>`(例如 `vds=0.05` 代表線性區,`vds=1.0` 代表飽和區)。
* **觸發的本地附加功能**
* `mos_sweep`:對 LDMOS 進行多閘壓下的 Ids-Vds 掃描,確認導通與飽和電流特性。
* `mos_transfer`:利用父腳本多進程隔離掃描各個溫度,內部調用 `mos_transfer_single_temp.py` 以雙階段 Newton 法及 `min_error` 剛性參數克服低溫發散,最終自動生成融合數據與對數/線性轉移特性圖檔。