FPGA數位IC設計實戰
學程概要
AI人工智慧的機器學習與深度學習、5G傳輸速度提升到10Gbps、無人駕駛汽車要求網路延遲時間小於1ms,這些都已無法再仰賴CPU計算來達成了...
與此同時,為了彌補雲端運算上頻寬、延遲、儲存、資安等侷限,邊緣運算應運而生,終端裝置被賦予了執行運算的能力,AI讓硬體的重要性再次被看見!
為了實現更高的運算效能與功耗性能、更低的延遲、更高的安全性,以及用更短的開發週期,
FPGA 扮演著關鍵性的角色!
艾鍗學院特別邀請具有16年以上FPGA開發經驗的資深工程師,精心規劃「FPGA數位IC設計實戰」課程。本課程著重於實作訓練,使用Intel(Altera) FPGA SoC 實驗平台進行主題式的單元實驗。
課程分成三個階段,第一階段說明FPGA設計架構、Verilog語法、並行運算處理與有限狀態機設計TestBench及功能。第二階段實作FPGA I/O訊號處理與一般序列通訊設計,包含UART、SPI、I2C,以及訊號時序分析與模擬等。此外,為因應5G物聯網趨勢,我們獨家安排了一個FPGA專題製作,說明Gigabit Ethernet 的MII 界面與如何設計Gigabit Ethernet Switch。
第三階段將說明如何設計一個基於硬核ARM Cortex-A的SoC FPGA的嵌入式系統晶片的解決方案。課程包含SoC FPGA晶片硬體設計,利用Intel Qsys整合軟體設計SoC system、在SoC上讀取/控制FPGA上的IP,並教你如何編寫Driver建構出基本的SoC FPGA嵌入式系統軟體。
Why SoC FPGA?
為什麼要選用SoC FPGA?現今,嵌入式系統晶片開發人員必須應對激烈的市場挑戰,被要求更高的單位功耗性能/運算效能、更低的時延以及更短的開發週期,以滿足各種市場需求,因此基於FPGA的SoC已成為最流行且可能的解決方案。簡單來說,SoC FPGA架構在FPGA可程式邏輯晶片嵌入了一個「硬核」處理器系統-- SoC(包含ARM處理器、記憶體控制器、I/O週邊)。在SoC FPGA 架構下,可以彈性的設計,單純使用ARM SoC、僅使用FPGA或兩者結合使用。當兩者結合使用時,FPGA可以作為ARM週邊的角色,針對大量且須經複雜運算的資料,如數據資料、影像訊號、聲音訊號等,可利用FPGA 硬體並行運算能力設計演算法追求最佳效能。因此,利用SoC FPGA 架構所設計的嵌入式平台,不僅可以突顯產品優勢,在價格和性能方面都可以達到最優水平,更重要的是產品能夠及時上市,搶先一步拿下市場與客戶。
學習目標
1、能夠寫出語意精準的Verilog程式與好用的testbench。
2、以業界的角度實作訓練,養成數位電路設計與數位訊號處理能力。
3、了解如何使用 Intel® Quartus® Prime Lite Edition 進行 intel Cyclone V FPGA 設計。
4、能夠掌握Debug技巧,活用Debug Tool,讓Debug更加快速有效率。
5、使具備Gigabit Ethernet MAC與PHY網路通訊界面處理的能力,進而能夠用FPGA實現一個Ethernet Frame。
6、了解 Intel® SoC FPGA Embedded Development Suite(SoC EDS)設計流程並利用 Linux Driver 來控制自行設計的 IP。
7、掌握基於ARM的SoC FPGA硬核解決方案,能夠運用工具做IP整合與系統驗證,設計你的SoC FPGA晶片。
章節架構
第一階段 Verilog硬體描述語言
● FPGA 技術簡介
- FPGA 硬體架構
- CPLD vs.FPGA
- 晶片功能與技術規格解讀
● Intel Cyclone V FPGA 晶片介紹
● Intel SoC FPGA 解決方案
● Intel Quartus Prime FPGA設計工具使用 (1)
- 軟體安裝
- 建立新專案
- 編譯 & 合成
● HDL硬體描述語言(部份講義預覽)
- Verilog 基本程式結構與語法說明
- 組合邏輯設計
- 同步邏輯設計
- 訊號取樣設計
- Cock dividing
- 模組化設計方式與參數傳遞
- Timing constraint 時序限制
- FSM 有限狀態機設計
● Verilog 應用練習-Digital Counter
第二階段 FPGA 晶片設計實作
● DE10-Nano Kit開發板介紹
● Intel Quartus Prime FPGA 設計工具使用 (2)
- Pin Assignment
- 加入 Intel's IP 使用MegaWizard (PLL,
RAM, ROM,FIFO, …)
- 燒錄code
● 設計除錯:使用SignalTap II Logic Analyzer
● 設計除錯:使用SignalProbe
● 設計除錯:訊號時序分析TimeQuest Timing
Analyzer&SDC (Synopsis Design Constraints)
● 設計除錯:使用 ModelSim模擬
● IP實作及UART通訊實驗
● IP實作及SPI通訊實驗
● IP實作及I2C通訊實驗
● Intel Avalon Bus Interface Protocol
● Gigabit Ethernet 專題製作
-整合Ethernet MAC( Medium Access Controller)
- 連接Gigabit PYH的 MII 界面說明
- Lab: 設計FPGA電路,控制MII 產生Ethernet Frame
- Lab: 透過FPGA電路,控制MII 側錄Ethernet Frame
艾鍗學院