104學習精靈

全部 課程 貼文 教室 證照 影片
ASIC相關的課程 (3)
從工作推薦課程
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
艾鍗學院
SOC FPGA嵌入式實戰
SoC FPGA整合了FPGA架構與處理器至單一裝置,帶來了多面相優勢。不僅有完善的IP可供使用,加速產品開發時程,SoC FPGA同時擁有FPGA的可編程性和嵌入式處理器的計算能力,適用於嵌入式系統、通信系統等廣泛應用,提供了更多選擇和靈活性。此外,SoC FPGA節省了空間和功耗,整合了獨立配置所需的處理器和FPGA硬體,有助於更有效地管理資源。SoC FPGA的發展反映了多核心、異構運算的趨勢,能夠滿足IoT、高速網路、AI硬體加速等應用的需求,提供高效的運算能力。 課程引導學員養成系統的概念,可由現成的IP中,組合出符合規格要求的產品;驅動程式。 課程目標 1. 了解 Intel® SoC FPGA Embedded Development Suite(SoC EDS)設計流程並利用 Linux Driver 來控制自行設計的 IP。 2. 掌握開發Linux驅動程式設計需要的知識,能分析程式碼,進而修改程式碼,了解驅動程式形成的每個細節。 3. 在SoC上讀取/控制FPGA上的IP,並知道如何編寫Driver建構出基本的SoC FPGA嵌入式系統軟體。 階段一 : SoC FPGA 嵌入式系統晶片開發 ➢SoC FPGA - 嵌入式系統晶片開發實務 ★ 硬體設計- 設計你的 SoC FPGA 晶片 1. Intel Cyclone V SoC FPGA 簡介 2. Intel Avalon Bus Interface Protocol 介紹 3. 利用 Platform Designer 軟體整合 Embedded Peripherals IP 來設計系統電路 4. 利用 Intel Qsys 整合軟體設計 SoC system 5. LAB:使用 Platform Designer 整合 GPIO design 至 FPGA,並利用 System Console 做系統驗證 ★ 將自行設計的 IP 利用 Platform Designer 整合至 Intel SoC FPGA,並和 Linux Driver 結合,再利用 Linux APP 做控制 1. LAB: GPIO Driver 控制 SoC FPGA 開發板上的 LED 階段二 : Linux驅動程式設計 1. 字元裝置Driver 2. Linux Misc Device 3. Linux GPIO 驅動程式 for LED, Button,Relay 4. Raspberry Pi 3 功能說明與BCM283x 使用說明 5. Pi 擴充卡硬體功能介紹與電路圖接腳說明 6. Linux 中斷註冊 & 中斷控制器HAL層架構 7. Bottom Halves (Tasklet & Work Queue) 8. 進階字元Driver : 1) Non- blocking I/O : 使用Wait Queue & completion 機制 2) kernel 對UserSpace通知: SIGIO 信號非同步通知,call_usermodehelper() 9. Kernel Timer List (Jiffies, timer ticks) for LED 閃爍 10. Linux Serial port 驅動程式 for Bluetooth 模組 11. Linux Platform Device & Platform Driver 架構 12. Linux Device Tree 13. Linux SPI Client驅動程式 for ADC Driver (MCP3008) 14. Linux IIO Driver(Linux Industrial I/O Subsystem) 15. Linux SPI Bus master 驅動程式 for BCM2835 SPI controller 16. Linux I2C Client驅動程式 for EEPROM 17. Linux I2C Bus master驅動程式 for BCM2835 I2C controller 18. Linux User Space Driver
艾鍗學院