0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

FPGA技术专栏 来源:芯驿电子科技 作者:芯驿电子科技 2021-01-26 09:47 次阅读

原创声明:

本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处。

适用于板卡型号:

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

vivado工程目录为“ps_hello/vivado”

从本章开始由FPGA工程师与软件开发工程师协同实现。

前面的实验都是在PL端进行的,可以看到和普通FPGA开发流程没有任何区别,ZYNQ的主要优势就是FPGA和ARM的合理结合,这对开发人员提出了更高的要求。从本章开始,我们开始使用ARM,也就是我们说的PS,本章我们使用一个简单的串口打印来体验一下Vivado Vitis和PS端的特性。

前面的实验都是FPGA工程师应该做的事情,从本章节开始就有了分工,FPGA工程师负责把Vivado工程搭建好,提供好硬件给软件开发人员,软件开发人员便能在这个基础上开发应用程序。做好分工,也有利于项目的推进。如果是软件开发人员想把所有的事情都做了,可能需要花费很多时间和精力去学习FPGA的知识,由软件思维转成硬件思维是个比较痛苦的过程,如果纯粹的学习,又有时间,就另当别论了。专业的人做专业的事,是个很好的选择。

1. 硬件介绍

我们从原理图中可以看到ZYNQ芯片分为PL和PS,PS端的IO分配相对是固定的,不能任意分配,而且不需要在Vivado软件里分配管脚,虽然本实验仅仅使用了PS,但是还要建立一个Vivado工程,用来配置PS管脚。虽然PS端的ARM是硬核,但是在ZYNQ当中也要将ARM硬核添加到工程当中才能使用。前面章节介绍的是代码形式的工程,本章开始介绍ZYNQ的图形化方式建立工程。

FPGA工程师工作内容

下面介绍FPGA工程师负责内容。

2. Vivado工程建立

2.1 创建一个名为“ps_hello”的工程,建立过程不再赘述,参考“PL的”Hello World”LED实验”。

2.2 点击“Create Block Design”,创建一个Block设计,也就是图形化设计

o4YBAGAKMFuAAUdaAACnP0iWkl0423.jpg

2.3 “Design name”这里不做修改,保持默认“design_1”,这里可以根据需要修改,不过名字要尽量简短,否则在Windows下编译会有问题。

pIYBAGAKMFuALvXfAABWNKkWRdY624.jpg

2.4 点击“Add IP”快捷图标

o4YBAGAKMFuAYcBxAABFH-4S2OQ583.jpg

2.5 搜索“zynq”,在搜索结果列表中双击”Zynq UltraScale+ MPSoC”

pIYBAGAKMFyAeLoIAABDnVi5i7c892.jpg

2.6 双击Block图中的ZYNQ核,配置相关参数

o4YBAGAKMF2AR1YlAAB4kaH_Ypg130.jpg

2.7 首先出现的界面是ZYNQ硬核的架构图,可以很清楚看到它的结构,可以参考ug1085文档,里面有对ZYNQ的详细介绍。图中绿色部分是可配置模块,可以点击进入相应的编辑界面,当然也可以在左侧的窗口进入编辑。下面对各个窗口的功能一一介绍。

pIYBAGAKMF6AZd4ZAADEvS-zD4A617.jpg

2.7.1 Low Speed配置

1) 在I/O Configuration窗口,配置BANK0~BANK2电压为LVCMOS18,BANK3电压为LVCMOS33。首先配置Low Speed管脚,勾选QSPI,并设置为”Single”模式,Data Mode为”x4“,勾选Feedback Clk

o4YBAGAKMF6AQQ9cAACCcwZo8qA835.jpg

2) (AXU2CGA开发板没有EMMC,不需要勾选此项)勾选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,用于检测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端以太网,勾选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复位选择MIO 31

o4YBAGAKMGOAOjI2AAAOG09E1bk710.jpg

3) 勾选PCIe

pIYBAGAKMGOAcPhPAABYByWkOoU495.jpg

4) 点开Switch To Advanced Mode,选择PCIe Configuration,修改以下几个参数,配置为ROOT模式

o4YBAGAKMGSAEjEfAACCfTu1Cgw621.jpg

5) 回到I/O Configuration,选择GT Lane0,复位选择MIO 37;勾选Display Port,选择MIO 27..30,Lane Selection选择Dual Higher

pIYBAGAKMGWATUrkAAB0hMWAVWw994.jpg

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

2.7.3 时钟配置

1) 在Clock Configuration界面,Input Clocks窗口配置参考时钟,其中PSS_REF_CLOCK为ARM的参考时钟默认为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的时钟保持默认,这是给PL端逻辑提供的时钟。

pIYBAGAKMGaACMfeAAAYjgatAKg693.jpg

4) Full Power部分,其他保持默认,将DP_VIDEO改为VPLL,DP_AUDIO和DP_STC改为RPLL。

o4YBAGAKMGaADKT8AAAoJ31bc6A885.jpg

最下面的Interconnect修改如下

pIYBAGAKMGeAY-ICAAAYP6ZQYpI519.jpg

其他部分保持默认,至此,时钟部分配置完成。

2.7.4 DDR配置

在DDR Configuration窗口中,Load DDR Presets选择”DDR4_MICRON_MT40A256M16GE_083E”

o4YBAGAKMGeAPJB-AACOyQqhblE652.jpg

AXU2CGA开发板配置如下:

pIYBAGAKMGeAbK6UAABN55YseXo600.jpg

AXU2CGB开发板配置如下:

o4YBAGAKMGiAegC1AABC4kdNqPc342.jpg

其它保持默认,点击OK,配置完成,并连接时钟如下:

pIYBAGAKMGiAVoBmAABgMdP5SqE198.jpg

1)选择Block设计,右键“Create HDL Wrapper...”,创建一个Verilog或VHDL文件,为block design生成HDL顶层文件。

o4YBAGAKMGmAD0c8AABH1nLbTvc751.jpg

2)保持默认选项,点击“OK”

pIYBAGAKMGmABpFXAABYNKx3mR0991.jpg

3)展开设计可以看到PS被当成一个普通IP 来使用。

o4YBAGAKMGqADStnAABH2hx88mU337.jpg

4)选择block设计,右键“Generate Output Products”,此步骤会生成block的输出文件,包括IP,例化模板,RTL源文件,XDC约束,第三方综合源文件等等。供后续操作使用。

pIYBAGAKMGqASE07AABfGsQV9cs012.jpg

5)点击“Generate”

o4YBAGAKMGuABbBmAABOkWfUSNg827.jpg

6)在菜单栏“File -> Export -> Export Hardware...”导出硬件信息,这里就包含了PS端的配置信息。

pIYBAGAKMGuATUe1AACDny6BInc306.jpg

7) 在弹出的窗口中选择Fixed,点击Next

o4YBAGAKMGyAJ8iLAABshGJHxlI592.jpg

8) 在弹出的对话框中点击“OK”,因为实验仅仅是使用了PS的串口,不需要PL参与,这里就没有使能不选择“Include bitstream”,点击Next

pIYBAGAKMGyAPnTHAABLLcjy3cw692.jpg

9) 可修改导出名字以及导出路径,默认是在vivado工程目录下的,这个文件可以根据自己的需要在合适的位置,不一定要放在vivado工程下面,vivado和vitis软件是独立的。在这里我们选择默认不做更改。点击Next

o4YBAGAKMG2ADc_eAABaHw6lM-M196.jpg

点击Finish

pIYBAGAKMG2ANOgRAABg1i1xSE0083.jpgo4YBAGAKMG6AUGxVAAAQe9CTIMc971.jpg

此时在工程目录下可以看到xsa文件,这个文件就是这个文件就包含了Vivado硬件设计的信息,可交由软件开发人员使用。

pIYBAGAKMG6AS34OAAAb9i6IP-o940.jpg

到此为止,FPGA工程师工作告一段落。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1626

    文章

    21679

    浏览量

    602088
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9059

    浏览量

    366904
  • 工程师
    +关注

    关注

    59

    文章

    1566

    浏览量

    68452
  • Zynq
    +关注

    关注

    10

    文章

    608

    浏览量

    47129
  • MPSoC
    +关注

    关注

    0

    文章

    198

    浏览量

    24252
收藏 人收藏

    评论

    相关推荐

    我的hello world(基于米尔MPSOC开发板)

    ``XILINX 新一代 SOC,Zynq UltraScale+ MPSOC 系列性能强悍无比,相比ZYNQ 7000系列每瓦性能提升5倍,作为一名电子发烧友,都想体验一把这高性能的
    发表于 08-07 15:05

    如何调试Zynq UltraScale+ MPSoC VCU DDR控制器

    UltraScale+ MPSoC EV 部件Zynq UltraScale+ MPSoC
    发表于 01-07 16:02

    如何调试Zynq UltraScale+ MPSoC VCU DDR控制器

    如何调试 Zynq UltraScale+ MPSoC VCU DDR 控制器?
    发表于 01-22 06:29

    ZYNQ Ultrascale+ MPSOC FPGA教程

    ZYNQ Ultrascale+ MPSOC FPGA教程
    发表于 02-02 07:53

    闲话Zynq UltraScale+ MPSoC(连载1)

    闲话Zynq UltraScale+ MPSoC 作者: Hello,Panda 时隔三年,Xilinx推出了其全新的异构SoC,大名叫Zynq
    发表于 02-08 08:24 727次阅读
    闲话<b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>(连载1)

    基于Zynq UltraScale+ MPSoC运行 Xen 管理程序

    熟悉运行在赛灵思 Zynq UltraScale+ MPSoC 的 Xen 管理程序。 赛灵思和 DornerWorks 的系统软件团队在赛灵思的
    发表于 11-16 20:17 3472次阅读
    基于<b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b><b class='flag-5'>上</b>运行 Xen 管理程序

    Zynq UltraScale+ MPSoC的发售消息

    Zynq®UltraScale+MPSoC,现已开始发售。视频向您重点介绍了Xilinx UltraScale +产品组合的第一位成员
    的头像 发表于 11-27 06:47 3577次阅读

    MPSOC开发板教程之HELLO WORLD

    。现在用米尔MPSOC开发板来一个hello worldMPSOC学习之HELLO WORLD
    发表于 08-02 11:43 469次阅读
    <b class='flag-5'>MPSOC</b>开发板教程之<b class='flag-5'>HELLO</b> <b class='flag-5'>WORLD</b>

    米尔科技Zynq UltraScale+ MPSoC技术参考手册介绍

    Zynq UltraScale+ MPSoC是Xilinx推出的第二代多处理SoC系统,在第一代Zynq-7000的基础做了全面升级,在单
    的头像 发表于 11-18 11:03 3144次阅读
    米尔科技<b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>技术参考手册介绍

    ZYNQ Ultrascale+ MPSOC FPGA Hello World教程

    此文基于第十八章内容进行软件开发
    的头像 发表于 02-09 11:17 2569次阅读
    <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()

    前面的实验都是在PL端进行的,可以看到和普通FPGA开发流程没有任何区别,ZYNQ的主要优势就是FPGA和ARM的合理结合,这对开发人员提出了更高的要求。从本章开始,我们开始使用ARM,也就是我们说的PS,本章我们使用一个简单的
    发表于 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(下)

    此文基于第十八章内容进行软件开发
    发表于 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>(下)

    如何调试 Zynq UltraScale+ MPSoC VCU DDR 控制器?

    Zynq UltraScale+ MPSoC VCU DDR 控制器是一款专用 DDR 控制器,只支持在 Zynq UltraScale+
    发表于 02-23 06:00 15次下载
    如何调试 <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b> VCU DDR 控制器?

    ZYNQ Ultrascale+ MPSoC系列FPGA芯片设计

    基于 Xilinx 公司ZYNQ Ultrascale+ MPSoC系列 FPGA 芯片设计,应用于工厂自动化、机器视觉、工业质检等工业领域
    发表于 11-02 14:35 1563次阅读

    Zynq UltraScale+ MPSoC的隔离设计示例

    电子发烧友网站提供《Zynq UltraScale+ MPSoC的隔离设计示例.pdf》资料免费下载
    发表于 09-13 11:28 3次下载
    <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>的隔离设计示例