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