上一期的學(xué)習(xí)中,我們系統(tǒng)性地介紹了PYNQ與ZYNQ地區(qū)別與聯(lián)系。PYNQ = Python + ZYNQ,即將ZYNQ部分功能的Python化,直接調(diào)用Python庫和FPGA硬件庫進(jìn)行功能的開發(fā)。
Pynq降低了開發(fā)人員的門檻,但知其然也知其所以然,開發(fā)效率將會更高。因此,在進(jìn)入PYNQ的python開發(fā)之前,我們先來學(xué)習(xí)ZYNQ的PL與PS開發(fā),為接下來的學(xué)習(xí)提供良好的基礎(chǔ)。
本部分的學(xué)習(xí),我們依舊借助PYNQ_z2來完成。
1. ZYNQ功能塊
ZYNQ中包含兩大功能塊:PS部分和PL部分。
PS部分指Processing System,一個(gè)基于雙ARM Cortex A9內(nèi)核的處理系統(tǒng),其中集成了內(nèi)存存儲器和外部存儲器接口,以及如GPIO、UART接口等大量的外設(shè)。
PL部分指Programmable Logic,基于Xilinx 7系列架構(gòu)的可編程邏輯單元,通過PL部分可以為ARM定制很多外設(shè),這也是ZYNQ的一大優(yōu)點(diǎn)。
2. ZYNQ整體架構(gòu)
ZYNQ中雖然包含PS端和PL端,但是整個(gè)設(shè)計(jì)是以ARM處理器為中心的,PS端的ARM內(nèi)核可以獨(dú)立于PL端運(yùn)行;雖然PL端也可以獨(dú)立于PS端運(yùn)行,但是PL的配置是由PS端完成的,所以不能采用傳統(tǒng)的固化FLASH的方式固化PL端程序。
PS端和PL端通信是通過AXI接口協(xié)議連接,這個(gè)協(xié)議是AMBA的一部分,是一種高性能、高帶寬、低延遲的片內(nèi)總線。
3. vivado與PL開發(fā)
下面我們通過一個(gè)LED燈的小項(xiàng)目進(jìn)行本部分學(xué)習(xí):
實(shí)驗(yàn):輪流點(diǎn)亮LED燈
1. 打開vivado hls,點(diǎn)擊Create New Project Project”,創(chuàng)建一個(gè)新工程。
選擇板子的時(shí)候搜索xc7z020clg400-1,這是PYNQ的板子號,選擇完成(PYNQ-Z2板采用ZYNQ XC7Z020-1CLG400C SoC)。
3. 新建一個(gè) VerilogHDL 文件,可以通過右擊 Design sourse 選擇 AddSourse,選擇第二個(gè)選項(xiàng)
選擇 CreateFile…在彈出下面窗口填寫新建源文件名稱
創(chuàng)建完成點(diǎn)擊 Finish
4. 在用戶區(qū) VerilogHDL 文件窗口中輸入源程序,保存時(shí)文件名與實(shí)體名 保持一致,代碼如下:

得到的最終界面:

5. 新建約束文件,輸入下面指令

點(diǎn)擊finish
7. 時(shí)序約束向?qū)Х治龀鲈O(shè)計(jì)中的時(shí)鐘,這里把“sys_clk”頻率設(shè)置為50Mhz,然后點(diǎn)擊Skip to Finish結(jié)束時(shí)序約束向?qū)А?/p>
在彈出的框選擇OK,接著選finish
這個(gè)時(shí)候led.xdc文件已經(jīng)更新,點(diǎn)擊“Reload”重新加載文件
8. 點(diǎn)擊“Generate Bitstream”,直接生成bit 文件。
在彈出的對話框中可以選擇任務(wù)數(shù)量,這里和CPU核心數(shù)有關(guān),一般數(shù)字越大,編譯越快,單擊”O(jiān)K”
9. 這個(gè)時(shí)候開始編譯,可以看到右上角有個(gè)狀態(tài)信息,在編譯過程中可能會被殺毒軟件、電腦管家攔截運(yùn)行,導(dǎo)致無法編譯或很長時(shí)間沒有編譯成功。
編譯中沒有任何錯(cuò)誤,編譯完成,彈出一個(gè)對話框讓我們選擇后續(xù)操作,這里選項(xiàng)“open hardware manager” ,然后單擊“OK”
10. 下載到板子
1)連接好開發(fā)板的 JTAG接口,給開發(fā)板上電
2)可以看到JTAG掃描到arm和 FPGA 內(nèi)核
3)選擇FPGA內(nèi)核,右鍵選擇“Program Device...” ,在彈出窗口中點(diǎn)擊“Program”
4)等待下載,下載完成以后,我們可以看到4 顆LED開始每秒變化一次
-
FPGA
+關(guān)注
關(guān)注
1663文章
22491瀏覽量
638896 -
led
+關(guān)注
關(guān)注
244文章
24699瀏覽量
692344 -
python
+關(guān)注
關(guān)注
58文章
4882瀏覽量
90285
發(fā)布評論請先 登錄
Onsemi P 溝道 MOSFET:NTR0202PL 和 NVTR0202PL 的技術(shù)解析
ZYNQ核心板原理圖講解
PL 3120 和 PL 3150 電力線智能收發(fā)器:設(shè)計(jì)與應(yīng)用全解析
FPGA硬件設(shè)計(jì)之ZYNQ外圍DDR介紹
基于ZYNQ-MZ702P開發(fā)板實(shí)現(xiàn)以太網(wǎng)通信
DR1 系列評估板 PS 端裸機(jī)與 FreeRTOS 開發(fā)案例手冊
DR1 系列核心板 PS+PL 異構(gòu)多核實(shí)戰(zhàn)案例手冊(二)
DR1 系列核心板 PS+PL 異構(gòu)多核實(shí)戰(zhàn)案例手冊(一)
ALINX教程分享_Zynq UltraScale+ MPSoC PYNQ3.1.2移植
雙Zynq MPSoC PS側(cè)PCIe高速DMA互連解決方案
ZYNQ PS與PL數(shù)據(jù)交互方式
PYNQ案例(一):ZYNQ的PL與PS開發(fā)
評論