ZYNQ学习之路
文章平均质量分 86
ZYNQ学习日常
梅菜扣肉鱼丸粗面
这个作者很懒,什么都没留下…
展开
-
ZYNQ学习之路(四):DDR读写测试实验
一、AXI协议简介ZYNQ的架构是分为PL与PS的,因此两者之间免不了数据交互,之前我们介绍了通过BRAM进行交互,但BRAM进行交互存在速度慢、内存有限的缺点,对于ZYNQ7020来说,其BRAM只有4.9M,当数据量较大时,就没有办法使用了。而PS端的DDR3起码是512M,甚至有的达到了4G,可以满足大量数据进行交互。PL与PS进行高速的数据交互要通过AXI协议。zynq 7000 SOC 的 HP 口是 High-Performance Ports 的缩写,如下图所示,一共有 4个 HP 口原创 2021-03-07 00:25:46 · 7637 阅读 · 10 评论 -
ZYNQ学习之路(三):自定义IP实现PL处理PS写入BRAM的数据
ZYNQ系列嵌入式FPGA可以使PS将数据写入PL部分BRAM,PL可以将数据读取后再重新写入BRAM,PS将数据读出后再传走,这样可以使PL部分专心处理数据,不用考虑相对缓慢的数据接收与发送部分,并且可以实现数据的缓存。实验目的:通过自定义IP核,将PS写入BRAM的数据加一后重新写入BRAM,再与第一次写入的数据比较。首先创建IP核:Tools->Creat and Package New IP,选择创建AXI4 Peripheral:在 Name 一栏的名称改为“ pl_bram原创 2021-01-24 17:06:51 · 3939 阅读 · 7 评论 -
一、基于ZYNQ的HLS矩阵乘法加速实验(二)
继续上篇:首先将生成好的IP添加到IP库中,方法如下,第三步选择刚刚导出的路径,会自动识别出IP核。接下来创建Block Design,先添加ZYNQ处理器,选择合适的DDR芯片型号和UART,然后将新添加的IP核加进BD中,点击自动连接,最终生成的框图如下:留意一下寄存器的地址:接下来就是传统的流程:生成output和顶层文件,综合实现布局布线,导出到Hardware,Launch SDK。在SDK中创建一个新的Application,创建空文件或者HelloWord文件,我.原创 2020-10-16 21:29:44 · 2093 阅读 · 0 评论 -
一、基于ZYNQ的HLS矩阵乘法加速实验(一)
HLS创建矩阵乘法加速器目录HLS创建矩阵乘法加速器一、实验目的二、HLS设计三、打包IP一、实验目的通过HLS自动生成一个对两个4*4的矩阵进行乘法的电路,然后通过HLS进行优化,打包AXI接口并创建IP,最后在vivado中调用,在SDK中进行正确性检验。本篇我们只介绍HLS如何加速并打包生成IP,与vivado的联合测试将在下一篇介绍。二、HLS设计首先创建一个工程,我的工程名叫matrix,然后在source中添加两个文件,一个是.cpp文件,用来进行函数的定义,原创 2020-10-16 13:25:08 · 4313 阅读 · 3 评论 -
ZYNQ学习之路(二):PS与PL通过BRAM交互
在 ZYNQ SOC 开发过程中, PL 和 PS 之间经常需要做数据交互。对于传输速度要求较高、数据量大、地址连续的场合,可以通过AXI DMA 来完成。而对于数据量较少、地址不连续、长度不规则的情况,此时 AXI DMA 便不再适用了。针对这种情况,可以通过 BRAM 来进行数据的交互。实验目的:将数据从PS端写入PL部分的BRAM,然后将数据从BRAM读出来与原数据进行比较,判断是否写入成功。一、搭建硬件框图首先添加ps处理器,只需添加UART串口并设置相应的DDR型号即可,虽然我们用不到原创 2020-09-27 20:58:47 · 4283 阅读 · 0 评论 -
ZYNQ学习之路(一):LWIP数据传输与数据处理(一)(PS处理)
LwIP是Light Weight (轻型)IP协议,有无操作系统的支持都可以运行。LwIP实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用,它只需十几KB的RAM和40K左右的ROM就可以运行,这使LwIP协议栈适合在低端的嵌入式系统中使用。关于以太网的相关信息这里不做详细介绍,我只介绍如何通过ZYNQ实现数据的环路测试。实验目的是通过在SDK修改代码,实现将数据+1后返回的操作。具体步骤:一、VIVADO部分配置:创建处理器并设置我的这里串口选的UART1的48和49。.原创 2020-09-11 18:34:38 · 5847 阅读 · 5 评论