0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【ZYNQ Ultrascale+ MPSOC FPGA教程】第十八章 Hello World(上)

FPGA技術(shù)專欄 ? 來(lái)源:芯驛電子科技 ? 作者:芯驛電子科技 ? 2021-01-26 09:47 ? 次閱讀

原創(chuàng)聲明:

本原創(chuàng)教程由芯驛電子科技(上海)有限公司(ALINX)創(chuàng)作,版權(quán)歸本公司所有,如需轉(zhuǎn)載,需授權(quán)并注明出處。

適用于板卡型號(hào):

AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG

vivado工程目錄為“ps_hello/vivado”

從本章開(kāi)始由FPGA工程師與軟件開(kāi)發(fā)工程師協(xié)同實(shí)現(xiàn)。

前面的實(shí)驗(yàn)都是在PL端進(jìn)行的,可以看到和普通FPGA開(kāi)發(fā)流程沒(méi)有任何區(qū)別,ZYNQ的主要優(yōu)勢(shì)就是FPGA和ARM的合理結(jié)合,這對(duì)開(kāi)發(fā)人員提出了更高的要求。從本章開(kāi)始,我們開(kāi)始使用ARM,也就是我們說(shuō)的PS,本章我們使用一個(gè)簡(jiǎn)單的串口打印來(lái)體驗(yàn)一下Vivado Vitis和PS端的特性。

前面的實(shí)驗(yàn)都是FPGA工程師應(yīng)該做的事情,從本章節(jié)開(kāi)始就有了分工,F(xiàn)PGA工程師負(fù)責(zé)把Vivado工程搭建好,提供好硬件給軟件開(kāi)發(fā)人員,軟件開(kāi)發(fā)人員便能在這個(gè)基礎(chǔ)上開(kāi)發(fā)應(yīng)用程序。做好分工,也有利于項(xiàng)目的推進(jìn)。如果是軟件開(kāi)發(fā)人員想把所有的事情都做了,可能需要花費(fèi)很多時(shí)間和精力去學(xué)習(xí)FPGA的知識(shí),由軟件思維轉(zhuǎn)成硬件思維是個(gè)比較痛苦的過(guò)程,如果純粹的學(xué)習(xí),又有時(shí)間,就另當(dāng)別論了。專業(yè)的人做專業(yè)的事,是個(gè)很好的選擇。

1. 硬件介紹

我們從原理圖中可以看到ZYNQ芯片分為PL和PS,PS端的IO分配相對(duì)是固定的,不能任意分配,而且不需要在Vivado軟件里分配管腳,雖然本實(shí)驗(yàn)僅僅使用了PS,但是還要建立一個(gè)Vivado工程,用來(lái)配置PS管腳。雖然PS端的ARM是硬核,但是在ZYNQ當(dāng)中也要將ARM硬核添加到工程當(dāng)中才能使用。前面章節(jié)介紹的是代碼形式的工程,本章開(kāi)始介紹ZYNQ的圖形化方式建立工程。

FPGA工程師工作內(nèi)容

下面介紹FPGA工程師負(fù)責(zé)內(nèi)容。

2. Vivado工程建立

2.1 創(chuàng)建一個(gè)名為“ps_hello”的工程,建立過(guò)程不再贅述,參考“PL的”Hello World”LED實(shí)驗(yàn)”。

2.2 點(diǎn)擊“Create Block Design”,創(chuàng)建一個(gè)Block設(shè)計(jì),也就是圖形化設(shè)計(jì)

o4YBAGAKMFuAAUdaAACnP0iWkl0423.jpg

2.3 “Design name”這里不做修改,保持默認(rèn)“design_1”,這里可以根據(jù)需要修改,不過(guò)名字要盡量簡(jiǎn)短,否則在Windows下編譯會(huì)有問(wèn)題。

pIYBAGAKMFuALvXfAABWNKkWRdY624.jpg

2.4 點(diǎn)擊“Add IP”快捷圖標(biāo)

o4YBAGAKMFuAYcBxAABFH-4S2OQ583.jpg

2.5 搜索“zynq”,在搜索結(jié)果列表中雙擊”Zynq UltraScale+ MPSoC”

pIYBAGAKMFyAeLoIAABDnVi5i7c892.jpg

2.6 雙擊Block圖中的ZYNQ核,配置相關(guān)參數(shù)

o4YBAGAKMF2AR1YlAAB4kaH_Ypg130.jpg

2.7 首先出現(xiàn)的界面是ZYNQ硬核的架構(gòu)圖,可以很清楚看到它的結(jié)構(gòu),可以參考ug1085文檔,里面有對(duì)ZYNQ的詳細(xì)介紹。圖中綠色部分是可配置模塊,可以點(diǎn)擊進(jìn)入相應(yīng)的編輯界面,當(dāng)然也可以在左側(cè)的窗口進(jìn)入編輯。下面對(duì)各個(gè)窗口的功能一一介紹。

pIYBAGAKMF6AZd4ZAADEvS-zD4A617.jpg

2.7.1 Low Speed配置

1) 在I/O Configuration窗口,配置BANK0~BANK2電壓為L(zhǎng)VCMOS18,BANK3電壓為L(zhǎng)VCMOS33。首先配置Low Speed管腳,勾選QSPI,并設(shè)置為”Single”模式,Data Mode為”x4“,勾選Feedback Clk

o4YBAGAKMF6AQQ9cAACCcwZo8qA835.jpg

2) (AXU2CGA開(kāi)發(fā)板沒(méi)有EMMC,不需要勾選此項(xiàng))勾選SD 0,配置eMMC。選擇MIO13..22,Slot Type選擇eMMC,Data Transfer Mode為8Bit,勾選Reset,并選擇MIO23。

pIYBAGAKMF-AC2fNAAAufp_p3tc803.jpg

3) 勾選SD 1,配置SD卡。選擇MIO 46..51,Slot Type選擇SD 2.0,Data Transfer Mode選擇4Bit,勾選CD,用于檢測(cè)SD卡插入,選擇MIO45

o4YBAGAKMF-AUtUkAAAtZ0UxUlI304.jpg

4) 勾選I2C 1,用于EEPROM等的I2C,選擇MIO 32..33

pIYBAGAKMF-Acm10AAAMK93Vz8A878.jpg

5) 勾選串口UART 1,選擇MIO 42..43

o4YBAGAKMGCAEEOMAAAQXrnS8IM376.jpg

6) 勾選TTC0~TTC 3

pIYBAGAKMGCASVpiAAATqGKSnp0699.jpg

2.7.2High Speed配置

1) High Speed部分首先配置PS端以太網(wǎng),勾選GEM 3,選擇MIO 64..75,勾選MDIO 3,選擇MIO 76..77

o4YBAGAKMGKAar5QAAAxNne6AhE570.jpg

2) 勾選USB 0,選擇MIO 52..63,勾選USB 3.0,選擇GT Lane1

pIYBAGAKMGKASVwJAAArzUE4o5A517.jpg

USB復(fù)位選擇MIO 31

o4YBAGAKMGOAOjI2AAAOG09E1bk710.jpg

3) 勾選PCIe

pIYBAGAKMGOAcPhPAABYByWkOoU495.jpg

4) 點(diǎn)開(kāi)Switch To Advanced Mode,選擇PCIe Configuration,修改以下幾個(gè)參數(shù),配置為ROOT模式

o4YBAGAKMGSAEjEfAACCfTu1Cgw621.jpg

5) 回到I/O Configuration,選擇GT Lane0,復(fù)位選擇MIO 37;勾選Display Port,選擇MIO 27..30,Lane Selection選擇Dual Higher

pIYBAGAKMGWATUrkAAB0hMWAVWw994.jpg

至此,I/O部分配置完畢

2.7.3 時(shí)鐘配置

1) 在Clock Configuration界面,Input Clocks窗口配置參考時(shí)鐘,其中PSS_REF_CLOCK為ARM的參考時(shí)鐘默認(rèn)為33.333MHz;PCIe選擇Ref Clk0,100MHz;Display Port選擇Ref Clk2,27MHz;USB0選擇Ref Clk1,26MHz。

o4YBAGAKMGWAVMt8AABYXCa_ybw622.jpg

2) 在Output Clocks窗口,如果不是IOPLL,改成IOPLL,保持一致,用同樣的PLL

pIYBAGAKMGaAHbD2AACe7KGC2FM656.jpg

3) PL的時(shí)鐘保持默認(rèn),這是給PL端邏輯提供的時(shí)鐘。

pIYBAGAKMGaACMfeAAAYjgatAKg693.jpg

4) Full Power部分,其他保持默認(rèn),將DP_VIDEO改為VPLL,DP_AUDIO和DP_STC改為RPLL。

o4YBAGAKMGaADKT8AAAoJ31bc6A885.jpg

最下面的Interconnect修改如下

pIYBAGAKMGeAY-ICAAAYP6ZQYpI519.jpg

其他部分保持默認(rèn),至此,時(shí)鐘部分配置完成。

2.7.4 DDR配置

在DDR Configuration窗口中,Load DDR Presets選擇”DDR4_MICRON_MT40A256M16GE_083E”

o4YBAGAKMGeAPJB-AACOyQqhblE652.jpg

AXU2CGA開(kāi)發(fā)板配置如下:

pIYBAGAKMGeAbK6UAABN55YseXo600.jpg

AXU2CGB開(kāi)發(fā)板配置如下:

o4YBAGAKMGiAegC1AABC4kdNqPc342.jpg

其它保持默認(rèn),點(diǎn)擊OK,配置完成,并連接時(shí)鐘如下:

pIYBAGAKMGiAVoBmAABgMdP5SqE198.jpg

1)選擇Block設(shè)計(jì),右鍵“Create HDL Wrapper...”,創(chuàng)建一個(gè)Verilog或VHDL文件,為block design生成HDL頂層文件。

o4YBAGAKMGmAD0c8AABH1nLbTvc751.jpg

2)保持默認(rèn)選項(xiàng),點(diǎn)擊“OK”

pIYBAGAKMGmABpFXAABYNKx3mR0991.jpg

3)展開(kāi)設(shè)計(jì)可以看到PS被當(dāng)成一個(gè)普通IP 來(lái)使用。

o4YBAGAKMGqADStnAABH2hx88mU337.jpg

4)選擇block設(shè)計(jì),右鍵“Generate Output Products”,此步驟會(huì)生成block的輸出文件,包括IP,例化模板,RTL源文件,XDC約束,第三方綜合源文件等等。供后續(xù)操作使用。

pIYBAGAKMGqASE07AABfGsQV9cs012.jpg

5)點(diǎn)擊“Generate”

o4YBAGAKMGuABbBmAABOkWfUSNg827.jpg

6)在菜單欄“File -> Export -> Export Hardware...”導(dǎo)出硬件信息,這里就包含了PS端的配置信息。

pIYBAGAKMGuATUe1AACDny6BInc306.jpg

7) 在彈出的窗口中選擇Fixed,點(diǎn)擊Next

o4YBAGAKMGyAJ8iLAABshGJHxlI592.jpg

8) 在彈出的對(duì)話框中點(diǎn)擊“OK”,因?yàn)閷?shí)驗(yàn)僅僅是使用了PS的串口,不需要PL參與,這里就沒(méi)有使能不選擇“Include bitstream”,點(diǎn)擊Next

pIYBAGAKMGyAPnTHAABLLcjy3cw692.jpg

9) 可修改導(dǎo)出名字以及導(dǎo)出路徑,默認(rèn)是在vivado工程目錄下的,這個(gè)文件可以根據(jù)自己的需要在合適的位置,不一定要放在vivado工程下面,vivado和vitis軟件是獨(dú)立的。在這里我們選擇默認(rèn)不做更改。點(diǎn)擊Next

o4YBAGAKMG2ADc_eAABaHw6lM-M196.jpg

點(diǎn)擊Finish

pIYBAGAKMG2ANOgRAABg1i1xSE0083.jpgo4YBAGAKMG6AUGxVAAAQe9CTIMc971.jpg

此時(shí)在工程目錄下可以看到xsa文件,這個(gè)文件就是這個(gè)文件就包含了Vivado硬件設(shè)計(jì)的信息,可交由軟件開(kāi)發(fā)人員使用。

pIYBAGAKMG6AS34OAAAb9i6IP-o940.jpg

到此為止,F(xiàn)PGA工程師工作告一段落。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21637

    瀏覽量

    601334
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9030

    瀏覽量

    366548
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1565

    瀏覽量

    68412
  • Zynq
    +關(guān)注

    關(guān)注

    9

    文章

    607

    瀏覽量

    47101
  • MPSoC
    +關(guān)注

    關(guān)注

    0

    文章

    196

    瀏覽量

    24232
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    我的hello world(基于米爾MPSOC開(kāi)發(fā)板)

    ``XILINX 新一代 SOC,Zynq UltraScale+ MPSOC 系列性能強(qiáng)悍無(wú)比,相比ZYNQ 7000系列每瓦性能提升5倍,作為一名電子發(fā)燒友,都想體驗(yàn)一把這高性能的
    發(fā)表于 08-07 15:05

    如何調(diào)試Zynq UltraScale+ MPSoC VCU DDR控制器

    UltraScale+ MPSoC EV 部件Zynq UltraScale+ MPSoC
    發(fā)表于 01-07 16:02

    如何調(diào)試Zynq UltraScale+ MPSoC VCU DDR控制器

    如何調(diào)試 Zynq UltraScale+ MPSoC VCU DDR 控制器?
    發(fā)表于 01-22 06:29

    ZYNQ Ultrascale+ MPSOC FPGA教程

    ZYNQ Ultrascale+ MPSOC FPGA教程
    發(fā)表于 02-02 07:53

    閑話Zynq UltraScale+ MPSoC(連載1)

    閑話Zynq UltraScale+ MPSoC 作者: Hello,Panda 時(shí)隔三年,Xilinx推出了其全新的異構(gòu)SoC,大名叫Zynq
    發(fā)表于 02-08 08:24 ?721次閱讀
    閑話<b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>(連載1)

    基于Zynq UltraScale+ MPSoC運(yùn)行 Xen 管理程序

    熟悉運(yùn)行在賽靈思 Zynq UltraScale+ MPSoC 的 Xen 管理程序。 賽靈思和 DornerWorks 的系統(tǒng)軟件團(tuán)隊(duì)在賽靈思的
    發(fā)表于 11-16 20:17 ?3456次閱讀
    基于<b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b><b class='flag-5'>上</b>運(yùn)行 Xen 管理程序

    Zynq UltraScale+ MPSoC的發(fā)售消息

    Zynq?UltraScale+?MPSoC,現(xiàn)已開(kāi)始發(fā)售。視頻向您重點(diǎn)介紹了Xilinx UltraScale +產(chǎn)品組合的第一位成員
    的頭像 發(fā)表于 11-27 06:47 ?3559次閱讀

    MPSOC開(kāi)發(fā)板教程之HELLO WORLD

    ?,F(xiàn)在用米爾MPSOC開(kāi)發(fā)板來(lái)一個(gè)hello worldMPSOC學(xué)習(xí)之HELLO WORLD
    發(fā)表于 08-02 11:43 ?461次閱讀
    <b class='flag-5'>MPSOC</b>開(kāi)發(fā)板教程之<b class='flag-5'>HELLO</b> <b class='flag-5'>WORLD</b>

    米爾科技Zynq UltraScale+ MPSoC技術(shù)參考手冊(cè)介紹

    Zynq UltraScale+ MPSoC是Xilinx推出的第二代多處理SoC系統(tǒng),在第一代Zynq-7000的基礎(chǔ)做了全面升級(jí),在單
    的頭像 發(fā)表于 11-18 11:03 ?3103次閱讀
    米爾科技<b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>技術(shù)參考手冊(cè)介紹

    ZYNQ Ultrascale+ MPSOC FPGA Hello World教程

    此文基于第十八章內(nèi)容進(jìn)行軟件開(kāi)發(fā)
    的頭像 發(fā)表于 02-09 11:17 ?2555次閱讀
    <b class='flag-5'>ZYNQ</b> <b class='flag-5'>Ultrascale+</b> <b class='flag-5'>MPSOC</b> <b class='flag-5'>FPGA</b> <b class='flag-5'>Hello</b> <b class='flag-5'>World</b>教程

    ZYNQ Ultrascale+ MPSOC FPGA教程】第十八章Hello World()

    前面的實(shí)驗(yàn)都是在PL端進(jìn)行的,可以看到和普通FPGA開(kāi)發(fā)流程沒(méi)有任何區(qū)別,ZYNQ的主要優(yōu)勢(shì)就是FPGA和ARM的合理結(jié)合,這對(duì)開(kāi)發(fā)人員提出了更高的要求。從本章開(kāi)始,我們開(kāi)始使用ARM,也就是我們說(shuō)的PS,本章我們使用一個(gè)簡(jiǎn)單的
    發(fā)表于 01-22 10:30 ?8次下載
    【<b class='flag-5'>ZYNQ</b> <b class='flag-5'>Ultrascale+</b> <b class='flag-5'>MPSOC</b> <b class='flag-5'>FPGA</b>教程】<b class='flag-5'>第十八章</b><b class='flag-5'>Hello</b> <b class='flag-5'>World</b>(<b class='flag-5'>上</b>)

    ZYNQ Ultrascale+ MPSOC FPGA教程】第十九章Hello World(下)

    此文基于第十八章內(nèi)容進(jìn)行軟件開(kāi)發(fā)
    發(fā)表于 01-26 09:44 ?14次下載
    【<b class='flag-5'>ZYNQ</b> <b class='flag-5'>Ultrascale+</b> <b class='flag-5'>MPSOC</b> <b class='flag-5'>FPGA</b>教程】<b class='flag-5'>第十</b>九章<b class='flag-5'>Hello</b> <b class='flag-5'>World</b>(下)

    如何調(diào)試 Zynq UltraScale+ MPSoC VCU DDR 控制器?

    Zynq UltraScale+ MPSoC VCU DDR 控制器是一款專用 DDR 控制器,只支持在 Zynq UltraScale+
    發(fā)表于 02-23 06:00 ?15次下載
    如何調(diào)試 <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b> VCU DDR 控制器?

    ZYNQ Ultrascale+ MPSoC系列FPGA芯片設(shè)計(jì)

    基于 Xilinx 公司ZYNQ Ultrascale+ MPSoC系列 FPGA 芯片設(shè)計(jì),應(yīng)用于工廠自動(dòng)化、機(jī)器視覺(jué)、工業(yè)質(zhì)檢等工業(yè)領(lǐng)域
    發(fā)表于 11-02 14:35 ?1545次閱讀

    Zynq UltraScale+ MPSoC的隔離設(shè)計(jì)示例

    電子發(fā)燒友網(wǎng)站提供《Zynq UltraScale+ MPSoC的隔離設(shè)計(jì)示例.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 11:28 ?3次下載
    <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>的隔離設(shè)計(jì)示例