zynq processing system 参数设置_【正点原子FPGA连载】第六章自定义IP核-呼吸灯实验-领航者 ZYNQ 之嵌入式开发指南...

本教程详细介绍了如何在Vivado中创建和封装一个带有AXI接口的自定义IP核,以实现控制ZYNQ PL端LED呼吸灯的效果。通过设置参数和接口,实现PS通过AXI接口与PL的数据通信,从而控制LED的开关和频率。文章涵盖了从创建IP核、硬件设计到软件设计和下载验证的全过程。
摘要由CSDN通过智能技术生成

1)实验平台:正点原子领航者ZYNQ开发板

2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761

3)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html

4)对正点原子FPGA感兴趣的同学可以加群讨论:876744900

5)关注正点原子公众号,获取最新资料

http://weixin.qq.com/r/hEhUTLbEdesKrfIv9x2W (二维码自动识别)

第六章自定义IP核-呼吸灯实验


在Vivado软件中,我们可以很方便的通过创建和封装IP向导的方式来自定义IP核。自定义IP核可以定制化系统设计,以达到设计重用的目的,可以很大程度上简化系统设计和缩短产品上市的时间。本章我们将向大家介绍自定义IP核的方法。
本章包括以下几个部分:
66.1简介
6.2实验任务
6.3硬件设计
6.4软件设计
6.5下载验证
6.1简介
Xilinx官方为我们提供了非常丰富的IP核,如数学运算(乘法器、浮点运算器等)、信号处理(FFT、DDS等),我们可以通过调用这些IP核来快速完成设计。然而随着系统的设计越来越复杂,官方提供的免费IP核有时并不能很好的适用我们的设计,这个时候就需要我们自己来实现这些功能。为了使这些模块或代码以后能够复用,可以通过自定义IP核的方式将这些模块集成到Vivado中的IP库中,以达到简化系统设计和缩短产品上市时间的目的。
在Vivado软件中,通过创建和封装IP向导的方式来自定义IP核,支持将当前工程、工程中的模块或者指定文件目录封装成IP核,当然也可以创建一个带有AXI4接口的IP核,用于PS和PL的数据通信。本次实验选择常用的方式,即创建一个带有AXI接口的IP核,该IP核通过AXI协议实现PS和PL的数据通信。AXI协议是一种高性能、高带宽、低延迟的片内总线,关于该协议的详细内容,我们会在后面的例程中向大家做详细的介绍。本次实验的系统框图如图 6.1.1所示:

8a67301f1bbe0759688f2e8e7dbdb173.png

图 6.1.1 系统框图


框图中的UART用于打印信息,Breath LED IP核为自定义的IP核,PS通过AXI接口为LED IP模块发送配置数据,从而来控制PL LED灯。
6.2实验任务
本章的实验任务是通过自定义一个LED IP核,来控制PL LED呈现呼吸灯的效果,并且PS可以通过AXI接口来控制呼吸灯的开关和呼吸的频率。
6.3硬件设计
step1:创建一个新的IP核
1-1 打开Vivado,进入Vivado界面后,点击“Tasks”栏中的“Manage IP”。在弹出的选项中选择“New IP Location...”。如下图所示:

e06e5d6a6e2a0dbbe773795b72db60b6.png

图 6.3.1 点击Manage IP


1-2 在弹出的界面中选择“Next”,然后设置Manage IP核的属性,在“IP Location:”一栏指定工程的路径,路径为:F:/ZYNQ/ Embedded_System/custom_ip,其它保持默认即可。点击“Finish”完成Manage IP工程的创建,如图 6.3.2和图 6.3.3所示。注意,Part一栏中设置开发板的型号,在后面的工程中会重新指定,这里直接保持默认。

2f13f63a0ab190fbc753f6ae3bae4d7a.png

图 6.3.2 自定义IP核向导界面

d2eca6473f6439f410063854a247f642.png

图 6.3.3 IP设置选项


此时弹出确认工程路径的界面,点击“OK”按钮完成工程的创建。如下图所示:

bd5163a7d9449f2589755a3c584cfe30.png

图 6.3.4 创建路径界面


1-3 工程创建完成后,运行创建和封装IP向导。点击菜单栏的“Tools”,选择“Create and Package New IP”,在弹出的界面中,点击“NEXT”。如图 6.3.5和图 6.3.6所示:

be26330fc3c6d98436c68db3e6b85d82.png

图 6.3.5 选择创建和封装IP向导

b14ce5ac58faa6af31540856a9c4c221.png

图 6.3.6 封装IP向导界面


1-4 接下来选择封装IP或者创建一个带AXI4接口的IP核,我们这里选择创建一个带AXI接口的IP核,选中“Creat a new AXI4 peripheral”,并点击“NEXT”按钮。如下图所示:

35c19efc91f0b9475aac67d87f1f58b5.png

图 6.3.7 封装IP选项


1-5 接下来分别设置IP核名称(Name)、版本号(Version)、显示名(Display name)、描述(Description)和路径(IP location)。在Name一栏设置IP核的名称,本次实验的功能是控制PL LED呈现呼吸灯的效果,因此这里在Name一栏,将名称改为“breath_led_ip”,此时Display name一栏会自动更改为“breath_led_ip_v1.0”。其它的设置直接保持默认即可,点击“NEXT”按钮,如下图所示:

b7e8307d2834548842df8227e20f512b.png

图 6.3.8 IP参数设置


1-6 接下来对AXI接口进行设置。

7231a1961f6c8a689fac3c8e65575ff0.png

图 6.3.9 AXI4接口设置


Name(名称):这里修改成S0_AXI。
Interface Tpye(接口类型):共三种接口类型可选,分别是Lite、Full和Stream。AXI4-Lite接口是简化版的AXI4接口,用于较少数据量的存储映射通信;AXI4-Full接口是高性能存储映射接口,用于较多数据量的存储映射通信;AXI4-Stream用于高速数据流传输,非存储映射接口。本次实验只需少量数据的通信,因此接口类型选择默认的Lite接口。
Interface Mode(接口模式):接口模式有Slave(从机)和Master(主机)两种模式可选,AXI协议是主机和从机通过“握手”的方式建立连接,这里选择默认的Slave接口模式。
Data Width(数据宽度):数据位宽保持默认,即32位位宽。
Memory Size(存储器大小): 在AXI4-Lite接口模式下,该选项不可设置。
Number of Registers(寄存器数量):用于配置PL LED呼吸灯寄存器的数量,这里保持默认。
点击“Next”按钮。
1-7 最后弹出封装接口的总结描述和下一步操作选项的界面。这里保持默认,即将IP添加至IP库中,点击“Finish”按钮完成IP核的创建和封装。如下图所示:

40177d9f8f94906f05fb704d13b01d1d.png

图 6.3.10 创建和封装IP核总结界面


在IP Catalog界面中可以看到刚刚添加的IP核,位于User Repository一栏中的AXI Peripheral下,名称为“breath_led_ip_v1.0”,如图 6.3.11所示:

ff88f86b36a92578739ae96d2de0fc21.png

图 6.3.11 新添加的IP核


1-8 创建好IP核后,我们接下来对breath_led_ip_v1.0 IP核进行编辑。右击breath_led_ip_v1.0 IP核,选择“Edit in IP Packager”,在弹出的界面中点击“OK”,如图 6.3.12和图 6.3.13所示:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值