ZYNQ自定义IP并使用

本文详细介绍了如何在ZYNQ系统中自定义IP以生成PWM波形,包括创建新IP、编辑接口、添加代码、封装及使用步骤,最后在SDK中演示了如何调用自定义IP进行编程。
摘要由CSDN通过智能技术生成

目的:自定义一个IP并添加到设计中使用(产生PWM波形)

在ZYNQ系统中将许多特定功能的硬件设计模块封装起来称为IP核,类似于库函数。这种方式极大的提高了设计效率。当遇到设计中的一些特殊的需求且官方没有对应的IP时就需要我们自定义IP来使用。

 

创建步骤:

1、创建新IP

进入vivado之后点击管理IP、新IP,之后点击finish

2、进入界面之后点击tools

如果需要axi的话就选择下面的

点击这个就不用手动添加ip到工程中了

3、右键创建的ip,打开IP编辑界面开始编辑IP

4、打开pwm_ip_v1_0.v添加输入与输出端口并保存

4、打开pwm_ip_v1_0.v下的pwm_ip_v1_0_S00_AXI.v

同样在18行添加端口,401行例化IP

例化完成之后就开始添加IP的源代码

5、添加一个新source文件,注意文件名和文件位置

编写代码后点击综合

6、综合完成之后点击component.xml开始封装IP核

添加zynq7000系列器件

最后点击review and package 更新总结界面

至此IP的设计与封装已经完成

自定义IP使用步骤:

1、首先创建一个vivado工程,将刚刚做好的IP添加到ip列表中,以便后续使用。点击设置来添加ip

2、新建一个BD设计,首先添加zynq IP 配置串口和ddr3,再添加自定义的pwm ip

添加完成后直接自动连线,引出pwm端口

3、连线完成后验证设计,无误后开始生成创建封装与输出文件

4、创建引脚约束

我的板子上led灯连接的是T19引脚,高电平灯亮

5、生成bit流 并导出到sdk

导出->导出到硬件 并包含bit流文件,再打开SDK

6、在sdk中创建一个新的空应用工程,并添加main.c文件

在板级支持里的ip头文件里可以查看ip的函数使用

7、main文件中添加代码:

可以修改第三个参数修改pwm呼吸频率

#include "stdio.h"

#include "xparameters.h"

#include "xil_printf.h"

#include "xil_io.h"

#include "pwm_ip.h"

#include "sleep.h"

#define PWM_IP_BASEADDR                XPAR_PWM_IP_0_S00_AXI_BASEADDR        //PWM IP基地址

#define PWM_IP_REG0                        PWM_IP_S00_AXI_SLV_REG0_OFFSET        //PWM IP寄存器地址1

#define PWM_IP_REG1                        PWM_IP_S00_AXI_SLV_REG1_OFFSET        //PWM IP寄存器地址2

int main(){

xil_printf("PWM_IP Test!\n");

PWM_IP_mWriteReg(PWM_IP_BASEADDR,PWM_IP_REG1,0x0000001f);

}

8、连接串口并烧录程序

再勾选一下核心,开始烧录

系统运行正常:

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
xilinx_zynq7020 自定义 IP 开发文档是一份描述如何开发使用自定义 IP(Intelligent Property)的技术文档。Zynq-7020 是 Xilinx 公司生产的一款可编程逻辑器件,搭载了 ARM 处理器和 FPGA 芯片,能够同时实现软件和硬件设计,为嵌入式系统开发提供一种更灵活的解决方案。 在自定义 IP 开发文档中,我们将了解如何使用 Vivado 设计套件来开发自己的 IP。首先,我们需要对 IP 的功能和硬件架构进行规划和设计。可以选择将已有的硬件模块集成为 IP 核,也可以通过硬件描述语言(HDL)从零开始编写 IP 核。然后,我们将详细说明如何使用 Vivado 的 IP Integrator 工具集成 IP 核到我们的设计中,并进行连接和配置。 在自定义 IP 开发文档中,我们还将了解如何为 IP 核创建适当的接口,包括输入输出端口和控制寄存器等。可以通过使用 AXI 或者其他总线协议来定义接口。此外,我们还将学习如何为 IP 核编写相应的测试代码,并在仿真和实际硬件中进行验证和调试。 除了基础的 IP 开发知识,这份文档还提供了一些高级话题,如如何优化 IP 核的性能,如何编写可重用的 IP 代码等。另外,文档还包含了一些实际案例,以帮助读者更好地理解和应用这些知识。 总之,xilinx_zynq7020 自定义 IP 开发文档详细介绍了如何使用 Vivado 设计套件开发使用自定义 IP 核。通过学习这份文档,读者可以了解到 IP 开发的基础知识,掌握相关工具的使用方法,并具备开发和优化 IP 核的能力,从而更好地应用于各种嵌入式系统开发中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值