教學優勢
曙海教育的課程培養了大批受企業歡迎的工程師。大批企業和曙海
建立了良好的合作關系。曙海教育的課程在業內有著響亮的知名度。
本課程,秉承20年積累的教學品質,以項目實現為導向,老師將會與您分享設計的全流程以及工具的綜合使用經驗、技巧。
課程簡介:
課程目標:
課程大綱:
程大綱:
?
1、ZYNQ-7000硬件系統設計知識點
(1)基本電路設計:主要管腳、常用外設設計、JTAG電路設計、上電啟動流程。
(2)片上資源介紹:邏輯資源Slice、LUT和CLB,時鐘管理和分配,IO和存貯資源。
(3)PS外設接口資源與設置,PS與PL連接資源與方式。
(4)Xilinx自帶IP庫功能、例化與使用。
(5)定制IP核設計與使用,分別介紹單個IP核、子系統IP核和RTL IP核。
(6)AXI總線介紹和AXI?IP核設計。
(7)XDC管腳與時序約束文件的設計與使用。
(8)時序分析技術,前仿真、后仿真和原理圖時序定位。
(9)時序優化技術,插入寄存器、并行結構、邏輯展開、寄存器平衡、路徑重組、Fanout限制、IP核的引入。
(10)裸機地址映射與庫函數、初始化、中斷程序和主程序編寫,以實現用戶對硬件的控制。
2、ZYNQ-7000?裸機開發實例(工具Vitis、Vivado和SDK)
(1)三種I/O接口方式MIO、EMIO和AXI?GPIO流水燈例程。從流水燈例程中學會使用MIO、EMIO和AXI?GPIO,Vivado的設計,IP核的使用,Vitis軟件創建硬件平臺與應用平臺,BSP生成,庫函數使用和應用程序編寫。
(3) FIFO例程。FIFO原理、IP核例化與測試、開發板調試,學會testbench與邏輯分析儀ILA的使用。
(4)DMA原理、分類、IP核的例化、SDK的讀寫調用、開發板調試。
(5)任意信號發生器的設計與驗證。自制IP核的設計、驗證與使用,掌握testbench、邏輯分析儀ILA和虛擬輸入輸出VIO等FPGA調試工具。
(6)基于LwIP協議千兆以太網的設計與驗證。學會ZYMQ7 IP核的配置和網絡通信的程序設計,在開發板上使用網絡調試助手進行設計驗證。
3、ZYNQ-7000軟件系統設計
(1)定制Linux工具Petalinx軟件原理和開發流程介紹。
(2)工程文件參數配置、本地sstate-cache和根文件系統配置介紹。
(3)網絡連接、鏡像源和域名服務器的配置。
(4)定制模塊module、層layer、應用app和軟件包package的方法。
(5)開機自啟動程序配置方法。
(6)設備樹的概念和設置
(7)開發板具備編譯功能的設計方法,不必使用交叉編譯。
(8)硬件設計的升級方法。
(9)啟動串口輸出內容介紹與故障診斷。
(10)鏡像文件BOOT、image.ub和root文件介紹。
(11)SD啟動盤的制作和燒寫。
4、Petalinux定制Linux系統與驅動程序開發實例
(1)GPIO驅動與應用程序編寫,Petalinux制作Linux系統。介紹字符驅動的概念與編程方法。介紹文件描述符、打開設備文件、讀文件、寫文件與釋放設備文件,設備的初始化函數,設備號的靜態與動態申請,設備結構體的初始化與注冊,設備節點的創建等概念與編程,用Petalinux工具生成系統和驅動程序,并在開發板制作的Linux系統上用C語言編程實現GPIO流水燈的控制。亦介紹了GPIO另外一種簡單的控制方法SysFs編程與實現。
(2)DMA驅動與應用程序編寫,Petalinux制作Linux系統。介紹DMA基本概念,系統描述符、設備樹配置、自啟動模塊與腳本的編寫、GCC編譯功能的添加、BSP作用與輸入輸出、本地化配置sstate-cache、網絡參數配置、硬件引入與升級、SD卡鏡像制作、DMA驅動程序和應用程序編寫與解讀,并對這些內容進行實操,最后在開發板上用全流程自己制作的SD卡鏡像進行驗證。
5、新技術PYNQ 和ZYNQ MPSoC介紹
本節將為學員展示Xilinx的新產品、新技術,為學員展望未來FPGA的發展之路。
(1)PYNQ技術介紹。使用高級語言Python來開發FPGA, 通過Python編程就可以調用FPGA模塊,不需要懂Verilog/VHDL硬件編程就可以享受FPGA可并行計算、接口可方便擴展和可靈活配置帶來的諸多好處。
(2)演示通過PYNQ在ZYNQ 7000開發板上實現點燈、圖像處理和神經網絡諸多功能,展示其通過簡易方法來實現復雜功能的強大處理能力。
(3)演示基于Ultrascale+ MPSoC系列的Ultra96或Kria?KV260開發板的項目例程,其作為ZYNQ系列的升級產品,展示其在異構加速、圖像處理和人工智能方面的強大功能。
練習
答疑