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

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

3天内不再提示

AMD Versal AI Edge自适应计算加速平台之体验ARM,裸机输出(7)

ALINX 来源:ALINX 2024-04-19 10:45 次阅读

1.1 硬件介绍

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

FPGA工程师工作内容

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

1.2 Vivado工程建立

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

2)点击“Create Block Design”,创建一个Block设计

8a436330-fd7e-11ee-a297-92fbcf53809c.png

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

8a4a7d3c-fd7e-11ee-a297-92fbcf53809c.png       

4)点击“Add IP”快捷图标

8a66a7dc-fd7e-11ee-a297-92fbcf53809c.png

5)搜索“PS”,在搜索结果列表中双击”Control,Interfaces & Processing System”

8a739906-fd7e-11ee-a297-92fbcf53809c.png

6)点击Run Block Automation

8a88ab5c-fd7e-11ee-a297-92fbcf53809c.png

7)配置如下,点击OK

8a9d91d4-fd7e-11ee-a297-92fbcf53809c.png

8)自动连接如下

8ab02772-fd7e-11ee-a297-92fbcf53809c.png

9)双击CIPS进行配置

8ac6cc7a-fd7e-11ee-a297-92fbcf53809c.png

8ae80494-fd7e-11ee-a297-92fbcf53809c.png

点击PSPMC进行配置

8b06df0e-fd7e-11ee-a297-92fbcf53809c.png    

10)配置QSPI,EMMC,SD

8b13342a-fd7e-11ee-a297-92fbcf53809c.png

8b1fea94-fd7e-11ee-a297-92fbcf53809c.png

8b3e6168-fd7e-11ee-a297-92fbcf53809c.png

选择相应MIO

8b54f464-fd7e-11ee-a297-92fbcf53809c.png

11)勾选USB 2.0,GEM0,UART0,TTC,GPIO等外设

8b639762-fd7e-11ee-a297-92fbcf53809c.png

配置外设

8b7509c0-fd7e-11ee-a297-92fbcf53809c.png

12)将MIO24配置成GPIO输入,对应PS端按键,MIO25配置成GPIO输出,对应PS端LED灯

8b83edbe-fd7e-11ee-a297-92fbcf53809c.png

8ba87792-fd7e-11ee-a297-92fbcf53809c.png

13)在clocking中,将参考时钟设置更精确些

8c52fb5e-fd7e-11ee-a297-92fbcf53809c.png

14)将内部中断都勾选上,配置完成,点击OK

8c77faf8-fd7e-11ee-a297-92fbcf53809c.png

15)点击Finish

8c91c4d8-fd7e-11ee-a297-92fbcf53809c.png

16)双击AXI NoC配置DDR4

8caf189e-fd7e-11ee-a297-92fbcf53809c.png

8cc6f126-fd7e-11ee-a297-92fbcf53809c.png

8d1bb8d2-fd7e-11ee-a297-92fbcf53809c.png

选择参考时钟和system clock

8d3adaf0-fd7e-11ee-a297-92fbcf53809c.png

DDR Address Region 1选择NONE,点击OK

8d4eae68-fd7e-11ee-a297-92fbcf53809c.png

17)修改引脚名称

8d760e90-fd7e-11ee-a297-92fbcf53809c.png

双击配置sys_clk的频率为200MHz

8d86be66-fd7e-11ee-a297-92fbcf53809c.png

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

8d9e0080-fd7e-11ee-a297-92fbcf53809c.png

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

8db74a86-fd7e-11ee-a297-92fbcf53809c.png

20)添加约束

8dca807e-fd7e-11ee-a297-92fbcf53809c.png

8dde55a4-fd7e-11ee-a297-92fbcf53809c.png

8dfda468-fd7e-11ee-a297-92fbcf53809c.png

21)Generate Device Image

8e1ba08a-fd7e-11ee-a297-92fbcf53809c.png

22)完成后取消

8e35323e-fd7e-11ee-a297-92fbcf53809c.png

23)File->Export->Export Hardware...

8e4dc9ca-fd7e-11ee-a297-92fbcf53809c.png

8e5fc670-fd7e-11ee-a297-92fbcf53809c.png

8ebb793e-fd7e-11ee-a297-92fbcf53809c.png

8edb2022-fd7e-11ee-a297-92fbcf53809c.png

8f1cea5c-fd7e-11ee-a297-92fbcf53809c.png

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

8f37a13a-fd7e-11ee-a297-92fbcf53809c.png

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

软件工程师工作内容

Vitis工程目录为“ps_hello/vitis”

以下为软件工程师负责内容。

1.3 Vitis调试

1.3.1 创建Application工程

1)新建一个文件夹,将vivado导出的xx.xsa文件拷贝进来。

2)Vitis是独立的软件,可以双击Vitis软件打开,也可以通过在Vivado软件中选择ToolsàLaunch Vitis打开Vitis软件

8f4beb0e-fd7e-11ee-a297-92fbcf53809c.png

在欢迎界面,点击Open Workspace,选择之前新建的文件夹,点击”OK”

8f628ed6-fd7e-11ee-a297-92fbcf53809c.png

3)启动Vitis之后界面如下,点击“Create Platform Component”,这个选项会创建Platfrom工程,Platform工程类似于以前版本的hardware platform,包含了硬件支持的相关文件以及BSP。

8f76e908-fd7e-11ee-a297-92fbcf53809c.png

4)第一页填写Component name和路径,保持默认,点击Next

8f8e26a4-fd7e-11ee-a297-92fbcf53809c.png

5)选择(XSA,选择“Browse”,选择之前生成的xsa,点击打开,之后点击Next

8fa75a48-fd7e-11ee-a297-92fbcf53809c.png

6)选择操作系统处理器,这里保持默认

8fc710e0-fd7e-11ee-a297-92fbcf53809c.png

7)点击Finish完成

8fdd04fe-fd7e-11ee-a297-92fbcf53809c.png

8)生成之后出现窗口界面,以下是一些窗口介绍,与之前版本的Vitis界面有相似之处,但差别也比较大。

8ffbb7c8-fd7e-11ee-a297-92fbcf53809c.png

9)可以在Flow窗口编译平台

901b5600-fd7e-11ee-a297-92fbcf53809c.png

没有错误状态

902d297a-fd7e-11ee-a297-92fbcf53809c.png

10)点击左侧Example,这里面有很多官方的例程,与以前版本也比较类似,选择Hello World

9039394a-fd7e-11ee-a297-92fbcf53809c.png

11)点击创建工程

90532ba2-fd7e-11ee-a297-92fbcf53809c.png

12)填写工程名称和路径,保持默认

906fec24-fd7e-11ee-a297-92fbcf53809c.png

13)选中平台

909191e4-fd7e-11ee-a297-92fbcf53809c.png

14)点击Next

90b0343c-fd7e-11ee-a297-92fbcf53809c.png

15)完成

90e25dae-fd7e-11ee-a297-92fbcf53809c.png

16)选中hello_world,点击Build

90fe621a-fd7e-11ee-a297-92fbcf53809c.png

1.3.2 下载调试

1)连接JTAG线到开发板、UART的USB线到PC

910c7d3c-fd7e-11ee-a297-92fbcf53809c.png

2)在上电之前最好将开发板的启动模式设置到JTAG模式,拔到”ON”的位置

9129fe8e-fd7e-11ee-a297-92fbcf53809c.png

3)开发板上电,并且打开串口调试工具,点击Flow中的Run

91547a60-fd7e-11ee-a297-92fbcf53809c.png

4)这个时候观察串口调试工具,即可以看到输出”Hello World”

916c9b04-fd7e-11ee-a297-92fbcf53809c.png

1.4 固化程序

普通的FPGA一般是可以从flash启动,或者被动加载,在第一章的PMC架构中已经介绍启动过程,这里不再介绍。

在Flow中选择Creat Boot Image,弹出的窗口中可以看到生成的BIF文件路径,BIF文件是生成BOOT文件的配置文件,还有生成的Output Image文件路径,也就是生成BOOT.pdi文件,它是我们需要的启动文件,可以放到SD卡启动,也可以烧写到QSPI Flash。

9175e4de-fd7e-11ee-a297-92fbcf53809c.png

917ff65e-fd7e-11ee-a297-92fbcf53809c.png

在生成的目录下可以找到boot.pdi文件

919bbf24-fd7e-11ee-a297-92fbcf53809c.png

1.4.1 SD卡启动测试

1)格式化SD卡,只能格式化为FAT32格式,其他格式无法启动

91a74dee-fd7e-11ee-a297-92fbcf53809c.png         

2)放入boot.pdi文件,放在根目录

91c41442-fd7e-11ee-a297-92fbcf53809c.png

3)SD卡插入开发板的SD卡插槽

4)启动模式调整为SD卡启动

91d7299c-fd7e-11ee-a297-92fbcf53809c.png    

5)打开串口软件,上电启动,即可看到打印信息,红色框为FSBL启动信息,黄色箭头部分为执行的应用程序helloworld

91ff7c30-fd7e-11ee-a297-92fbcf53809c.png

1.4.2 QSPI启动测试

1)在Vitis菜单Vitis -> Program Flash

920eb8d0-fd7e-11ee-a297-92fbcf53809c.png

2)Image FIle文件选择要烧写的boot.pdi。选择Verify after flash,Flash Type选择qspi-x8-dual_parallel,在烧写完成后校验flash。

9244c8ee-fd7e-11ee-a297-92fbcf53809c.png

3)点击Program等待烧写完成

925c6d96-fd7e-11ee-a297-92fbcf53809c.png

4)设置启动模式为QSPI,再次启动,可以在串口软件里看到与SD同样的启动效果。

927b3bb8-fd7e-11ee-a297-92fbcf53809c.png

928e6026-fd7e-11ee-a297-92fbcf53809c.png

1.5 本章小结

本章从FPGA工程师和软件工程师两者角度出发,介绍了Versal开发的经典流程,FPGA工程师的主要工作是搭建好硬件平台,提供硬件描述文件xsa给软件工程师,软件工程师在此基础上开发应用程序。本章是一个简单的例子介绍了FPGA和软件工程师协同工作,后续还会牵涉到PS与PL之间的联合调试,较为复杂,也是Versal开发的核心部分。

同时也介绍了FSBL,启动文件的制作,SD卡启动方式,QSPI下载及启动方式。



审核编辑:刘清

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

    关注

    68

    文章

    18604

    浏览量

    224465
  • led灯
    +关注

    关注

    22

    文章

    1564

    浏览量

    107183
  • DDR4
    +关注

    关注

    12

    文章

    300

    浏览量

    40401
  • 串口调试
    +关注

    关注

    2

    文章

    265

    浏览量

    24558
  • QSPI
    +关注

    关注

    0

    文章

    39

    浏览量

    12013

原文标题:【ALINX 技术分享】AMD Versal AI Edge 自适应计算加速平台之体验ARM,裸机输出(7)

文章出处:【微信号:ALINX,微信公众号:ALINX】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    AMD Versal AI Edge自适应计算加速平台Versal介绍(2)

    Versal 包含了 Cortex-A72 处理器和 Cortex-R5 处理器,PL 端可编程逻辑部分,PMC 平台管理控制器,AI Engine 等模块,与以往的 ZYNQ 7000 和 MPSoC 不同,
    的头像 发表于 03-06 18:12 1020次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> <b class='flag-5'>AI</b> <b class='flag-5'>Edge</b><b class='flag-5'>自适应计算</b><b class='flag-5'>加速</b><b class='flag-5'>平台</b>之<b class='flag-5'>Versal</b>介绍(2)

    【ALINX 技术分享】AMD Versal AI Edge 自适应计算加速平台之准备工作(1)

    AMD Versal AI Edge 自适应计算加速平台
    的头像 发表于 03-07 15:49 404次阅读
    【ALINX 技术分享】<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> <b class='flag-5'>AI</b> <b class='flag-5'>Edge</b> <b class='flag-5'>自适应计算</b><b class='flag-5'>加速</b><b class='flag-5'>平台</b>之准备工作(1)

    【ALINX 技术分享】AMD Versal AI Edge 自适应计算加速平台Versal 介绍(2)

    【ALINX 技术分享】AMD Versal AI Edge 自适应计算加速
    的头像 发表于 03-07 16:03 436次阅读
    【ALINX 技术分享】<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> <b class='flag-5'>AI</b> <b class='flag-5'>Edge</b> <b class='flag-5'>自适应计算</b><b class='flag-5'>加速</b><b class='flag-5'>平台</b>之 <b class='flag-5'>Versal</b> 介绍(2)

    AMD Versal AI Edge自适应计算加速平台PL LED实验(3)

    对于Versal来说PL(FPGA)开发是至关重要的,这也是Versal比其他ARM的有优势的地方,可以定制化很多ARM端的外设
    的头像 发表于 03-13 15:38 599次阅读
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> <b class='flag-5'>AI</b> <b class='flag-5'>Edge</b><b class='flag-5'>自适应计算</b><b class='flag-5'>加速</b><b class='flag-5'>平台</b>PL LED实验(3)

    AMD Versal AI Edge自适应计算加速平台之PL LED实验(3)

    对于Versal来说PL(FPGA)开发是至关重要的,这也是Versal比其他ARM的有优势的地方,可以定制化很多ARM端的外设
    的头像 发表于 03-22 17:12 1336次阅读

    在Vivado中构建AMD Versal可扩展嵌入式平台示例设计流程

    为了应对无线波束形成、大规模计算和机器学习推断等新一代应用需求的非线性增长,AMD 开发了一项全新的创新处理技术 AI 引擎,片内集成该AI Engine的FPGA系列是
    的头像 发表于 04-09 15:14 678次阅读
    在Vivado中构建<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>可扩展嵌入式<b class='flag-5'>平台</b>示例设计流程

    深度学习推理和计算-通用AI核心

    ,支持广泛的应用程序和动态工作负载。本文将讨论这些行业挑战可以在不同级别的硬件和软件设计采用Xilinx VERSAL AI核心,业界首创自适应计算加速
    发表于 11-01 09:28

    Xilinx推出Versal:业界首款自适应计算加速平台,支持快速创新

    赛灵思公司(Xilinx)首席执行官 Victor Peng 宣布推出 Versal – 业界首款自适应计算加速平台 (Adaptive Compute Acceleration P
    发表于 10-18 16:50 1444次阅读

    赛灵思发布自适应计算加速平台芯片系列Versal

    2018年10月16日,FPGA大厂赛灵思(Xilinx)在北京召开了一年一度的“Xilinx开发者大会 ”(XDF) 。在本次会议上,赛灵思发布了全球首款自适应计算加速平台 (ACAP)芯片系列
    的头像 发表于 10-22 16:52 5434次阅读

    赛灵思Versal自适应计算加速平台助于高效实现设计目标

    解决的问题?赛灵思 Versal 自适应计算加速平台的设计方法论是帮助精简 Versal 器件设计进程的一整套最佳实践,遵循这些步骤和最佳实
    的头像 发表于 05-27 11:08 1585次阅读
    赛灵思<b class='flag-5'>Versal</b><b class='flag-5'>自适应计算</b><b class='flag-5'>加速</b><b class='flag-5'>平台</b>助于高效实现设计目标

    赛灵思Versal自适应计算加速平台指南

    赛灵思 Versal 自适应计算加速平台 (ACAP) 设计方法论是旨在帮助精简 Versal 器件设计进程的一整套最佳实践。鉴于这些设计的
    的头像 发表于 10-11 11:33 3909次阅读

    Versal启动文件简述

    Versal™ 是由多个高度耦合的可配置块组成的自适应计算加速平台 (ACAP)
    的头像 发表于 07-07 14:15 773次阅读
    <b class='flag-5'>Versal</b>启动文件简述

    Versal:首款自适应计算加速平台(ACAP)

    电子发烧友网站提供《Versal:首款自适应计算加速平台(ACAP).pdf》资料免费下载
    发表于 09-18 09:28 1次下载
    <b class='flag-5'>Versal</b>:首款<b class='flag-5'>自适应计算</b><b class='flag-5'>加速</b><b class='flag-5'>平台</b>(ACAP)

    AMD推出第二代Versal器件,为AI驱动型嵌入式系统提供端到端加速

    Versal AI Edge 系列和第二代 Versal Prime 系列自适应 SoC,其将预处理、
    的头像 发表于 04-10 10:25 340次阅读

    AMD发布第二代Versal自适应SoC,AI嵌入式领域再提速

    AMD表示,第二代Versal系列自适应SoC搭载全新的AI引擎,相较上一代Versal AI
    的头像 发表于 04-11 16:07 393次阅读