fbpx

enginner course

 

What is SoC FPGA 架構演進對比圖

SoC FPGA 嵌入式設計實戰

解鎖異構運算時代的核心開發技能 🔥

想快速修改產品設計?

利用 SoC FPGA 兼具 FPGA 的可程式設計性與處理器的彈性,滿足即時調整硬體架構的需求。

想加速產品開發時程?

善用完善的現成 IP 資源與開發套件,協助企業以最快的速度將產品推向市場。

想要具有可和 CPU 整合的介面,開發 SoC 產品?

完美打破傳統處理器與 FPGA 的界線,實現高頻寬、低功耗的軟硬體無縫整合系統。

什麼是 SoC FPGA?

SoC FPGA(System-on-Chip Field-Programmable Gate Array)將 FPGA 的可程式設計性和靈活性,與 CPU 或其他處理單元的處理能力完美結合在一個晶片上。它將處理器的高階管理功能與嚴苛的即時作業、極端的資料處理或介面功能全部整合於單一裝置,打造出整合度更高、功率更低、主機板更小、通訊頻寬更高的強大嵌入式運算平台。

What is SoC FPGA 架構演進對比圖
為什麼選擇 SoC FPGA?
  • 多面向優勢與加速:整合 FPGA 架構與處理器至單一裝置,提供完善的 IP 可供使用,大幅加速產品開發時程。
  • 靈活性與計算能力:同時擁有 FPGA 的可編程性和嵌入式處理器的計算能力,適用於嵌入式系統、通信系統等廣泛應用。
  • 更有效的資源管理:節省了空間和功耗,有效整合獨立配置所需的處理器和 FPGA 硬體。
  • 異構運算前沿趨勢:完美反映多核心、異構運算的趨勢,全面滿足 IoT、高速網路、AI 硬體加速等應用的高運算需求。
成為 SoC FPGA Designer 需要具備什麼條件
  • 具有基本 HDL (Verilog, VHDL, SystemVerilog...) 撰寫能力
  • 具有系統的概念,可由現成的 IP 中組合出符合規格要求的產品(如:網路、PCIe、資料的串流處理)
  • 具有驅動程式的基本概念
Intel SoC FPGA 開發流程架構圖
核心課程目標
  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 晶片
  • Intel Cyclone V SoC FPGA 簡介
  • Intel Avalon Bus Interface Protocol 介紹
  • 利用 Platform Designer 軟體整合 Embedded Peripherals IP 來設計系統電路
  • 利用 Intel Qsys 整合軟體設計 SoC system
  • 核心實作 LAB:使用 Platform Designer 整合 GPIO design 至 FPGA,並利用 System Console 做系統驗證
🔌 軟硬體整合控制應用
  • 將自行設計的 IP 利用 Platform Designer 整合至 Intel SoC FPGA,並和 Linux Driver 結合,再利用 Linux APP 做控制
  • 系統整合 LAB:GPIO Driver 控制 SoC FPGA 開發板上的 LED
階段二:Linux 驅動程式設計
🧱 基礎核心驅動與控制
  • 字元裝置 Driver 架構開發
  • Linux Misc Device 驅動應用
  • Linux GPIO 驅動程式實務 (for LED, Button, Relay)
  • Raspberry Pi 3 功能說明與 BCM283x 使用說明
  • Pi 擴充卡硬體功能介紹與電路圖接腳說明
  • Linux 中斷註冊 & 中斷控制器 HAL 層架構解析
  • Bottom Halves 機制實作 (Tasklet & Work Queue)
🚀 進階驅動程式開發技術
  • 進階字元 Driver:Non-blocking I/O(使用 Wait Queue & completion 機制)
  • Kernel 對 UserSpace 通知:SIGIO 信號非同步通知,call_usermodehelper()
  • Kernel Timer List (Jiffies, timer ticks) 實現 LED 閃爍
  • Linux Serial port 驅動程式 (for 藍牙模組)
  • Linux Platform Device & Platform Driver 架構應用
  • Linux Device Tree 裝置樹配置與規範
📡 外部匯流排與工業子系統控制
  • Linux SPI Client 驅動程式:實現 ADC Driver (MCP3008) 控制
  • Linux IIO Driver (Linux Industrial I/O Subsystem) 工業輸入輸出子系統
  • Linux SPI Bus master 驅動程式 for BCM2835 SPI controller
  • Linux I2C Client 驅動程式 for EEPROM 讀寫
  • Linux I2C Bus master 驅動程式 for BCM2835 I2C controller
  • Linux User Space Driver 開發技術與技巧
業界頂尖師資團隊
Jemmy 講師
Jemmy
資深數位 IC 設計工程師 (具 16 年數位 IC 設計經驗)
  • 電機工程碩士
  • 專長領域:FPGA/CPLD 設計、Verilog HDL 撰寫
  • 專精技術:Gigabit Ethernet 網路介面訊號處理
  • 具備深厚的 FPGA SoC 系統設計、數位電路分析設計與數位晶片產品開發經驗
Collin 講師
Collin
資深嵌入式架構師 (具 18 年嵌入式開發與 Linux 驅動設計經驗)
  • 國立雲林科技大學電機系畢業
  • 核心技術:Linux 驅動程式、Embedded Linux 開發、ARM u-boot 開發
  • 豐富業界產品實務:Android 手機開發、P.O.S (工業電腦) 系統設計
專屬職涯方向
FPGA 研發設計工程師 數位 IC 設計工程師 FPGA / RTL 驗證工程師 CPLD 研發工程師 電信/通訊系統工程師 韌體工程師 嵌入式 Linux 工程師
進階延伸學習推薦

 

 

 

 

 

課程諮詢