基于ZCU104的PS和PL数据交互例程(二):vivado中封装现有工程成IP

本文详细介绍了在Vivado中基于ZCU104的PS和PL之间的数据交互过程,包括创建工程、添加DUT、状态机和时序图设计,以及如何将现有工程封装成可重用的IP模块,涉及Petalinux流程和驱动编写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于ZCU104的PS和PL数据交互例程(二):vivado中封装现有工程成IP

基于ZCU104的PS和PL数据交互例程(一):简介
基于ZCU104的PS和PL数据交互例程(二):vivado中封装现有工程成IP
基于ZCU104的PS和PL数据交互例程(三):vivado中创建IP
基于ZCU104的PS和PL数据交互例程(四):vivado中制作Block Design
基于ZCU104的PS和PL数据交互例程(五):Petalinux流程
基于ZCU104的PS和PL数据交互例程(六):上板流程
基于ZCU104的PS和PL数据交互例程(七):驱动编写与测试

设计DUT功能

正常创建一个vivado工程,添加一个dut.v的文件

功能:读入100个输入数据,每个数据依次加0,1,2,…,然后输出。比如输入是0到99,则输出是0,2,4,到198,如下图所示。

image-20231020160119229

状态机:

image-20231021145359634

时序图:

DUT

端口情况:
在这里插入图片描述

创建vivado工程

正常创建新工程,选择zcu104板卡

新建dut.v文件,dut.v代码

根据设计资料撰写代码

仿真验证

综合通过

封装现有工程

更加具体的封装步骤,可以参考正点原子2_启明星ZYNQ之嵌入式SDK开发指南_V2.0.pdf------>第十五章 基于BRAM的PS和PL的数据交互

打开封装IP,选Next

image-20231021170828022

选择打包现在的工程

image-20231021170916327

选择封装好的ip存放路径

image-20231021171012157

然后选择确定和finish

之后会进入一个IP编辑的工程界面

第一页Identification简单设置就行

image-20231021171156223

第二页compatibility选择支持的板卡系列

因为我之前创建工程的时候就选择的是zcu104板卡,所以这里默认是支持zynqplus系列。如果想支持其他系列,可以点击加号添加。

image-20231021171252152

第三页File Groups,点击Merge changes from File Groups Wizard

image-20231021171424330

第四页Customization Parameters,跳过,如果有需要配置参数可以修改

第五页Ports and interfaces,这里把两个BRAM的接口打包

image-20231021172523738

image-20231021171912081

依次把对应端口映射

image-20231021171957684

最后映射结果如图,把bram_init相关的引脚都完成map,再点击Parameters

image-20231021172837359

最后配置master_type,点击ok结束

image-20231021172916534

同样的道理配置BRAM_RES的接口,最后配置好后如下

image-20231021181255766

最后点击Review and Package,选择Package IP,完成打包

image-20231021173235294

### ZCU104 开发板文档、数据手册及示例代码下载 对于 ZCU104 开发板的相关资源获取,以下是详细的说明: #### 官方文档与数据手册 Xilinx 提供了全面的官方文档数据手册来支持开发者使用 ZCU104 开发板。这些资料可以通过 Xilinx 的官方网站访问并下载[^2]。具体路径如下: - 登录到 [Xilinx 官网](https://www.xilinx.com/) 并导航至 **Boards and Kits** 页面。 - 找到 ZCU104 板卡对应的条目,点击进入详情页面。 - 在该页面下可以找到链接指向完整的硬件规格说明书以及设计指南。 #### 示例项目与参考设计 为了帮助用户快速上手,Xilinx 还提供了多种针对不同应用场景优化过的参考设计方案。这类内容通常包括但不限于视频处理单元测试平台构建教程、AI推理加速框架集案例分析等等[^3]。它们往往被封装 ZIP 文件形式发布于 GitHub 或者其他版本控制系统托管站点之上以便公众查阅利用。 #### 软件工具链准备 类似于 PYNQ-Z2 的环境搭建流程,在着手任何实际操作之前也需要完必要的软件安装工作流。这涉及以下几个方面: - **Vivado HLx Edition**: 用于实现 FPGA 部分逻辑综合布局布线等功能; - **PetaLinux Tools**: 主要负责嵌入式 Linux 操作系统的定制化裁剪部署任务 ; - **SDK (Software Development Kit)**: 支持裸机程序或者 RTOS 应用开发调试环节. 值得注意的是由于目标设备型号差异(Pynq vs Zcu),所以这里提到的具体版本号可能有所区别,请参照最新发行说明确认兼容性信息后再做决定.[^4] ```bash wget https://www.xilinx.com/bin/public/openDownload?filename=vitis.2022.1.tar.gz -O vitis_2022.tgz tar xfzv vitis_2022.tgz --directory /opt/ ``` 以上命令演示了一个假设场景下的 Vitis 工具包离线包解压过程作为例子展示如何正确设置交叉编译器等相关配置项以适配 ARM Cortex-A 系列处理器架构需求.
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水流water

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值