ZYNQ-使用自定义AXI总线IP核进行DDR读写测试(一)

简介: ZYNQ-使用自定义AXI总线IP核进行DDR读写测试

学习内容


本文首先进行自定义IP的AXI总线IP的设计,然后在SDK下编写代码进行DDR的读写数据的测试。

开发环境


vivado 18.3&SDK

PYNQ-Z2开发板

系统框图


首先对本次工程进行简要说明:本次工程使用AXI-Full接口的IP进行DDR的读写测试。在我们的DDR读写IP中,我们把读写完成和读写错误信号关联到PL端的LED上,用于指示DDR读写IP的读写运行状态。然后使用PL部分消抖处理后的按键进行启动AXI总线工作,控制数据写入。通过AXI互联模块连接到AXI_HP0端口,由PS端口进行数据的读取操作,并通过串口进行读写数据的监控。

image.png

自定义IP设计


首先打开Vivado软件,在Tasks这里选择New IP lacation

image.png

image.png

点击next,对IP的信息进行设置,这里我们使用默认配置即可。设置好我们IP要保存的位置。

image.png

点击Tools中的创建和封装新的IP选项,

image.png

点击NEXT ,选择我们的封装类型。因为这里我们是直接进行打开IP设计的界面,前两个选项是可以在我们的vivado当前工程下面进行封装设计,这里我们只进行了IP设计没有建立工程,所以前两个选项是无法选中的。我们也可以通过工程界面,进入点击Tools中的创建和封装新的IP选项。

image.png

这里是用DDR读写IP来做主机,控制数据写入,PS作为从机进行读取IP中写入的数据。

image.png

可以直接选中进行编辑IP,用户可以根据自己的设计进行修改编辑IP的功能,这里没有对IP进行修改处理,所以可以直接保存选择第一个添加到IP库中即可。

image.png

若修改相应的逻辑功能打开IP,在对应位置编辑添加代码即可。

image.png

添加完成综合后对IP进行重新打包。DDR读写IP设计完成,创建的 IP 核将通过 AXI4 Master 端口向 Slave 端指定的 4K 存储空间中连续写入 1024 个数据, 写入的数值从 1 累加到 1024, 每个数据占 32bit。然后进行硬件平台的构建。

硬件平台构建


首先,添加ZYNQ7 IP核,以及添加已经完成设计的ddr读写IP核。

添加用户自定义IP


用户自定义的IP可通过以下步骤完成添加。点击Settings,

image.png

在project settings选择IP,依次点击,在IP库那里点击加号,把对应的IP目录文件夹添加后,点击OK或者Apply即可完成添加,在IP库中就可以找到用户设计的IP。

image.png

完成IP和ZYNQ7 IP的导入后,如下图:

image.png

双击打开zynq删除多余的接口,这里只需要保留uart,并打开Slave HP0端口、时钟、复位端口。

image.png

image.png

image.png

配置完,选择自动连接接口,完成部分连接设计。

image.png

整体设计图如下,

image.png

目录
相关文章
|
3月前
|
算法 异构计算 索引
m基于FPGA的Hamming汉明编译码verilog实现,包含testbench测试文件,不使用IP核
m基于FPGA的Hamming汉明编译码verilog实现,包含testbench测试文件,不使用IP核
41 1
|
1月前
|
算法 异构计算
m基于FPGA的RS+卷积级联编译码实现,RS用IP核实现,卷积用verilog实现,包含testbench测试文件
m基于FPGA的RS+卷积级联编译码实现,RS用IP核实现,卷积用verilog实现,包含testbench测试文件
13 0
|
3月前
|
存储 资源调度 算法
m基于FPGA和IP核的RS编译码verilog实现,包含testbench测试文件
m基于FPGA和IP核的RS编译码verilog实现,包含testbench测试文件
34 1
|
4月前
|
Java 数据库连接 Maven
SpringBoot【付诸实践 01】SpringBoot自定义starter保姆级教程(说明+源码+配置+测试)
SpringBoot【付诸实践 01】SpringBoot自定义starter保姆级教程(说明+源码+配置+测试)
28 1
|
5月前
|
测试技术
【测试平台系列】第一章手撸压力机(三)自定义http请求
今天继续深入往下讲,上一篇咱们对http的客户端设置进行了结构化统一,现在咱们开始对http请求进行结构化统一,首先咱们梳理http请求包含的结构。
|
5月前
|
测试技术 Go
【测试平台系列】第一章手撸压力机(二)自定义http客户端配置
上一节简单实现了http发送get请求的客户端,但是在实际工作中,我们会对客户端有各种的设置,也会有各种的请求。
【测试平台系列】第一章手撸压力机(二)自定义http客户端配置
|
7月前
|
测试技术
一个 ABAP Development Tool 自定义 service endpoint 的测试工具
一个 ABAP Development Tool 自定义 service endpoint 的测试工具
41 0
|
7月前
|
异构计算
FPGA片内RAM读写测试实验 2
FPGA片内RAM读写测试实验
117 0
|
7月前
|
存储 异构计算
FPGA片内RAM读写测试实验 1
FPGA片内RAM读写测试实验
177 0
|
7天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
16 0

热门文章

最新文章