從 HDL 到晶片:EDA 原理與 veryl2chip 實作#
一本講解 EDA(電子設計自動化)核心原理的書,並以本專案 veryl2chip 的 Rust 原始碼作為貫穿全書的實作案例。 本書不是使用手冊(使用手冊見 manual/),而是深入「為什麼這樣做、演算法怎麼寫、資料結構長什麼樣」。
全書分六篇:
- 第 1 章 導論:EDA 在做什麼、veryl2chip 的整體架構。
- 第 2 章 前端:解析與模擬(veryl-sim 的世界)。
- 第 3 章 中端:綜合(veryl-eda 的核心:符號執行 → 閘級網表 → 最佳化)。
- 第 4 章 FPGA 後端:iCE40 / ECP5 映射、佈局繞線、位元流。
- 第 5 章 ASIC 後端:標準單元、實體設計、SKY130 PDK、GDS。
- 第 6 章 進階主題:RISC-V SoC 與 C 編譯器、虛擬麵包板、Web/WASM。
目錄#
- 第1章-導論:什麼是 EDA
- 第2章-模擬器原理:veryl-sim
- 第3章-邏輯綜合原理:veryl-eda 中端
- 3.1-綜合總論:從行為描述到閘級網表的每一步
- 3.2-符號執行:把 RTL 直接「執行」成閘的獨門做法
- 3.3-if/case 變多工器、迴圈展開與函式內嵌
- 3.4-always_ff 語意:正反器推斷與同步/非同步重置
- 3.5-記憶體推斷:何時該是 Flip-Flop,何時該是 RAM
- 3.6-網表資料結構:別名解析、雜湊共用與常數折疊
- 3.7-組合迴路偵測與死邏輯清除
- 3.8-以驗證驅動的最佳化:隨機模擬與窮舉證明常數節點
- 3.9-查表法 LUT 覆蓋:切點演算法的理論與實作
- 3.10-進位鏈辨識:全加器與 carry-save 結構
- 3.11-yosys JSON 與結構化 Verilog 輸出
- 3.12-等價性檢查:用 yosys 證明綜合沒有改錯
- 第4章-FPGA 後端原理
- 第5章-ASIC 後端原理
- 5.1-標準單元設計流程總覽:從網表到 GDS
- 5.2-技術映射:樹覆蓋動態規劃與 BUF 樹
- 5.3-全域佈局:模擬退火與行合法化
- 5.4-全域繞線:GCell 模型與 Prim/A* 演算法
- 5.5-詳細繞線:引腳存取點與 PDK 設計規則
- 5.6-時鐘樹合成:H-tree 與 skew 控制
- 5.7-靜態時序分析(ASIC):NLDM 查表與 setup/hold
- 5.8-電源網路與 PDN 生成
- 5.9-實體版圖建構與 DRC 檢查
- 5.10-GDSII 檔案格式與輸出
- 5.11-PDK 整合:Liberty / LEF / DEF 的解析與應用
- 5.12-SKY130 實戰:開源製程上的完整流程
- 第6章-進階主題
- 附錄