單元一:FPGA Verilog HDL數位邏輯電路設計與周邊控制實戰
在FPGA數位電路設計上超大型積體電路設計(VLSI)或系統晶片(SOC)設計均扮演著非常重要的角色,是軟硬體工程師在職場上必備的工具。工業4.0(生產力4.0)應用以機器手臂為重要抓手的“工業4.0”戰略,會加速智慧製造的進程。未來物聯網與工業4.0是大勢所趨,而高性能電機控制是實現工業4.0的關鍵應用。使用FPGA/Verilog可充分滿足當今磁場定向控制(FOC)等複雜控制演算法所提出的苛刻的時序和性能要求。
本課程搭配FPGA實驗板進行,先詳細講述FPGA / Verilog HDL語法與應用,採深入淺出講解並輔以實作DEMO方式進行實戰教學,並結合【IP-Core設計應用】以加速產品開發速度。
將完整解說Verilog HDL語法及其對應之數位邏輯電路之呈現,課程後能熟悉Verilog語言全貌,帶領大家進入以Verilog為主的各種相關設計領域,因此非常適合各層次的設計者參考使用,上完課程後可直接與業界銜接,真正提升數位邏輯電路設計能力。
★【基礎LAB】
Verilog 循序電路設計:正反器、暫存器(Flip-Flop)、LED或七段顯示器(一位數與多位數七段顯示器)、按鍵控制電路、計時器(Timer)/毫秒、計數器(Counter)電路實驗、Finite State Machine:比大小遊戲電路實驗、紅綠燈控制電路實驗
★【進階LAB】
Simple 4 bit ALU implementation、PLL電路實驗、LCD1602實驗、RS-232通訊(UART)控制電路實驗、I2C/SPI 系統電路實驗(24C08讀寫LAB)、PWM 控制電路實驗(Servo Controller)、VGA 控制電路實驗
序
|
日期
|
課程內容
|
1
|
112/10/04
(三)
9:30-17:30
|
(1)FPGA工具介紹、安裝與使用及如何使用電路模擬:介紹 Xilinx 之FPGA/CPLD開發工具 Vitis / Vivado
(2)階層模組觀念(Hierarchical Modeling Concepts)設計方法
(3)Verilog HDL語法協定( Lexical conventions):資料型態(data types)、記憶體(Memories)、系統任務(system tasks)、編譯命令(compiler directives)
(4)Verilog HDL 模組與輸出入埠(Modules and Ports):模組(Module definition),輸出入埠(port declaration, connecting ports)、階層化取名(hierarchical name referencing)
(5)邏輯合成(Logic Synthesis)、邏輯閘層次模型(Gate-Level Modeling)
|
2
|
112/10/06
(五)
9:30-17:30
|
(1)Verilog HDL資料處理模型(Dataflow Modeling):持續指定(Continuous assignments)、延遲(delay specification)、運算式(expressions)、運算子(operators)、運算元(operands)、運算子種類(operator types)
(2)Verilog HDL行為模型( Behavioral Modeling):結構化程序(Structured procedures)、initial 及always敘述、程序指定(阻礙指定blocking 及無阻礙指定nonblocking statements)、時序控制(delay control, event control)、條件敘述(conditional statements)、多路徑分支(multiway branching)、迴圈(loops)、循序與平行區塊(sequential and parallel blocks)
(3)Verilog HDL 任務(Tasks)與函數(Functions) : 函數(Functions)、任務(Tasks)、Assignment
|
3
|
112/10/18
(三)
9:30-17:30
|
(1)演算法狀態機(Algorithmic State Machine)、有限狀態機(Finite State Machine):Moore FSM、Mealy FSM and Modeling。
(2)Verilog HDL 時序及遲延(Timing and Delays)、Verilog HDL 時序仿真(Timing Simulation)
(3)Verilog generate / endgenerate statement (genvar、localparam、generate if、generate for、generate case)
(4)Verilog HDL有用之程式技巧(Useful Modeling Techniques):程序持續指定(assign與deassign 及 force與release),參數(parameter) and 複寫參數(defparam, module instance),條件式的編譯與執行,時間刻度(Time Scales) ,有用的系統任務: File ($fopen,$fdisplay,…)、隨機亂數產生器(Random Number Generation)、VCD File
|
4
|
112/10/20
(五)
9:30-17:30
|
(1)FPGA晶片內建記憶體 (In-System Memory)、Memory Synchronous/Asynchronous Read/Write,Synchronous FIFO and Asynchronous FIFO
(2)【IP-Core設計應用】:Verilog IP-Core(Intellectual Property Core)<<for Xilinx>>
l添加設計和發布IP-Core (Adding design and publish IP-Core)
l如何添加Altera的IP-Core (How to adding Xilinx's IP-Core: such as General-purpose input/output, PLL, Timer, RAM, ROM, UART, I2C, SPI...)
l移植OpenCores (Porting OpenCores: Lab UART IP)
(3)設計除錯(Design Debugging):ILA IP、Timing Analyzer
|
※ 因不可預測之突發因素,主辦單位得保留課程之變更權利。
單元二:FPGA設計與圖像處理實戰
帶領學員了解各種 Xilinx OpenCV 計算機視覺問題原型,及深入了解計算機視覺 Vitis vision Library,能獨立正確處理更深入的計算機視覺應用,如人臉識別、物體檢測等。
序
|
日期
|
課程內容
|
1
|
112/11/01
(三)
9:30-17:30
|
(1) Xilinx OpenCV 簡介
(2) Using the Vitis vision Library
(3) Getting Started with Vitis Vision(xfOpenCV): Vitis Design Methodology & Host Code with OpenCL
(4) Introduction Wrappers around HLS Kernel(s) & xf::cv::Mat class
(5) Introduction Stream Based Kernels: xf::cv::Array2xfMat()、xf::cv::xfMat2Array()
(6) Vitis vision Library API Reference
(7) 重要GUI操作:圖像的基本操作(Basic Operations on Images)[1]、圖像的算術運算(Arithmetic Operations on Images)
|
2
|
112/11/03
(五)
9:30-17:30
|
(1) 重要GUI操作:圖像的基本操作(Basic Operations on Images)[2]
(2) Vitis vision Library API Reference
(3) 重要GUI操作:圖像的基本操作(Basic Operations on Images)、圖像的算術運算(Arithmetic Operations on Images)、效能測量和改進技術 (Performance Measurement and Improvement Techniques)
|
3
|
112/11/15
(三)
9:30-17:30
|
(1) 圖像處理(Image Processing):更改顏色空間(Changing Colorspaces)、圖像的幾何變換(Geometric Transformations of Images)、圖像閾值(Image Thresholding)、平滑圖像(Smoothing Images)、形態轉換(Morphological Transformations)、圖像漸變(Image Gradients)、圖像金字塔(Image Pyramids)、輪廓(Contours)、直方圖(Histograms)、圖像變換(Image Transforms)、模板匹配(Template Matching)
(2) 特徵檢測和描述(Feature Detection and Description)
|
4
|
112/11/17
(五)
9:30-17:30
|
(1) 視頻分析(Video Analysis)
(2) 機器學習(Machine Learning):支持向量機(Support Vector Machines (SVM)
(3) 計算攝影(Computational Photography):圖像去噪(Image Denoising)、圖像修復(Image Inpainting)
(4) 物體檢測(Object Detection)
|
※ 因不可預測之突發因素,主辦單位得保留課程之變更權利。