上門編程教學課程內容
課程簡介
本課程專為希望快速掌握 Chisel(Constructing Hardware In a Scala Embedded Language) 的學員設計,三小時內完整介紹從硬體描述邏輯、模組化設計到電路生成原理,協助學員從傳統 HDL(如 Verilog/VHDL)跨進新一代 Scala-Based 硬體設計語言 世界。
Chisel 由 UC Berkeley 開發,是以 Scala 語言為基礎 的硬體構建框架,可產生 RTL 級 Verilog 代碼。它強調高階抽象、可重用性與可參數化設計,是開發 RISC-V CPU、ASIC、FPGA 系統 的主流技術之一。
課程以理論結構與實務應用並重,讓學員在短時間內理解 硬體描述思維(HDL)、Scala 語法整合 與 Chisel 模組生成流程,並以實例完成一個電路設計專案。
適合對象:
學習成果:
-
理解 Chisel 語言原理與軟硬體混合式設計思維
-
能以 Scala 撰寫模組化硬體生成程式
-
熟悉 Basic IO、Wire、Reg 與運算的抽象邏輯
-
能將 Chisel 轉譯成 Verilog 並在 FPGA / 模擬環境運行
-
建立參數化硬體模組(Parametric Design)能力
課程時長
3 小時(180 分鐘)
理論講解與實作操作比例約 3 : 7
課程大綱
第一部份:Chisel 與現代硬體設計概論(30 分鐘)
-
傳統 HDL 與高階硬體語言的轉變
-
Chisel 的設計背景與特色(基於 Scala 的嵌入式 DSL)
-
Chisel 與 RISC-V、Rocket Chip、FIRRTL 架構關係
-
開發環境建置(JDK、SBT、Chisel3、VSCode)
-
實作:建立第一個 Chisel 專案(Hello Circuit)
第二部份:Scala 與 Chisel 語法基礎(40 分鐘)
-
Scala 簡介:變數、函式、類別與高階語法
-
Chisel 程式結構(Module、IO、Bundle、Wire)
-
資料型別介紹:Bool, UInt, SInt, Vec
-
運算與邏輯控制(when / otherwise / switch)
-
實作練習:撰寫簡單的加法器與比較器
第三部份:模組化與可參數化設計(40 分鐘)
-
建立可重用電路模組(Module Reuse)
-
參數化硬體(Generics / Parameters)
-
輸入輸出介面(IO Bundle)與結構化訊號設計
-
註冊(Register)與暫存器邏輯(RegNext、RegInit)
-
實作範例:製作「可調寬度的計數器電路」
第四部份:測試、模擬與 Verilog 匯出(40 分鐘)
-
Chisel 套件 chiseltest 測試框架使用
-
單元測試(Unit Test)與波形模擬(VCD Trace)
-
FIRRTL 轉譯流程與 Verilog 產生指令
-
結合 Verilog 模擬器(Icarus / Verilator)驗證結果
-
實作練習:測試加法器與控制同步電路
第五部份:綜合應用與進階架構(30 分鐘)
-
建構模組層級設計:ALU / FSM 控制單元示範
-
與 FPGA 流程整合思維(Vivado / Quartus)
-
Chisel 與 Rocket Chip / Chipyard 架構簡介
-
延伸方向:生成式設計、Tensor Accelerator、AI 芯片
-
綜合實作:建立一個「四位元簡易 CPU 模型」
課程特色
-
三小時快速掌握 Chisel 的硬體設計思維與語法核心。
-
理論與實作同步進行,課堂即可生成 Verilog 程式並模擬。
-
專注「抽象建模 × 電路實現 × 測試驗證」完整流程。
-
適合跨入硬體架構設計、RISC-V SoC 或 FPGA 專案開發者。