zynq7000 PL读写DDR3----实验笔记

2024-02-29 13:48

本文主要是介绍zynq7000 PL读写DDR3----实验笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境:vivado2018.3

芯片: xc7z100ffg900-2

本实验参考资料主要来源:https://www.eefocus.com/antaur/blog/17-08/423773_0818c.html

实验目的:将ADC接收的数据先存入DDR3,待PS端读取完成后,再存入一批。

 

1、工程规划

DDR芯片的管脚是绑定到Zynq的DDR接口上的。

 而Zynq系统的这个DDR总线接口有是链接在其内部“Memory Interfaces”中的“DDR2/3,LPDDR2 Controller”可配置硬核上的。

图片来源: https://www.eefocus.com/antaur/blog/17-08/423773_0818c.html

因此,要想PL访问板上的DDR3存储器,必须借道Zynq中的“Memory Interfaces----DDR2/3,LPDDR2 Controller”(后文简称“DDR3 Controller”)。在Zynq系统中,ARM Core(CPU)能够访问硬核“DDR3 Controller”,根据经验可以确定“DDR3 Controller”一定是一个从设备,而PL要想访问“DDR3 Controller”的话,PL一定要是一个主设备,由PL发起读写操作。

“DDR3 Controller”是封装在Zynq子系统中的,因此,PL必须连接Zynq的从机接口。本节使用普通的从机接口“32b GP AXI Slave Ports”。

交互数据将会经过Zynq子系统的内部总“Central Interconnect”转发给Memory Interfaces。具体数据交互路径如上图蓝色箭头。

 根据上述分析,SoC系统集成方案框图如下:

 2.Zynq系统裁剪

修改配置,裁剪掉在本项目中不需要的Zynq中的硬核。

 封装图如下:

FCLK_CLK0和FCLK_RESET0_N是输出时钟和复位信号。这两个信号的出处已在上图中标注。这两个信号详情请见附录1.

利用FCLK_CLK0驱动PL端的时序逻辑。而将Y9管脚引入的100MHzGCLK信号旁路。

zynq子系统剪裁完毕。

3、生成AXI4-Lite Master IP

详细步骤见:https://www.eefocus.com/antaur/blog/17-08/423751_6cc0d.html

代码见:https://www.eefocus.com/antaur/blog/17-08/423773_0818c.html

4、完成Block Design

添加上一步生成的axi_master的IP核到block design,点击Run Connection Audomation后,如下图所示。彩色标注出的PL端的时钟信号和复位信号,均由Zynq子系统产生。GP接口速率低,更换使用HP接口。

按F6检查链接,检查无误后,点击Address Editor标签,可以看到相关的内存分配。内存映射相关见首页链接。

主机模块,使用的默认起始地址是0x4000_0000,这个在代码中定义的。也可在IP核的GUI中看到。从文档中知道,这个地址是向PL AXI Slave Port #0,即GP0的,Size是1G。

来自文档:DS190 Zynq-7000 SoC Data Sheet: Overview

数据传输路径:(猜测)

PL 中的Master IP向0x4000_0000地址写入数据,经过PL中的AXI Interconnect直连,将会转发给GP0,GP0收到后,转给DDR.

硬件设计完毕。

5、Generate Bitstream

创建HDL Wrapper —> Run Synthesis(—> Schematic查看I/O Planning,根据需要进行管脚绑定)—> Generate Bitstream

如果BD有修改,则右键block design—> generate output products。系统会自动更新HDL wrapper。

不方便仿真,所以直接下板测试。

6、启用SDK

本实验启用了ARM,必须再SDK中进行SoC工程配置,否则zynq不会工作。

 

第一步:Vivado中File —>Export Hardware...(其中需要Include Bitstream)

第二步:Vivado中File —>Launch SDK

第三步:创建用户工程,File —>New —> Application Project   

在配置中选择     会自动生成板载支持库函数。

第四步:在helloword.c中编写相应代码,保存后,系统会自动编译。(因为系统默认设置Build Automatically,在Project栏中)

第六步:Program FPGA

SDK相关说明

第一步export过来的文件夹下的system.hdf 和生成的板载支持库文件夹下的system.mss可以查看相关信息。

 

 

 

这篇关于zynq7000 PL读写DDR3----实验笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/759006

相关文章

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

AssetBundle学习笔记

AssetBundle是unity自定义的资源格式,通过调用引擎的资源打包接口对资源进行打包成.assetbundle格式的资源包。本文介绍了AssetBundle的生成,使用,加载,卸载以及Unity资源更新的一个基本步骤。 目录 1.定义: 2.AssetBundle的生成: 1)设置AssetBundle包的属性——通过编辑器界面 补充:分组策略 2)调用引擎接口API

《offer来了》第二章学习笔记

1.集合 Java四种集合:List、Queue、Set和Map 1.1.List:可重复 有序的Collection ArrayList: 基于数组实现,增删慢,查询快,线程不安全 Vector: 基于数组实现,增删慢,查询快,线程安全 LinkedList: 基于双向链实现,增删快,查询慢,线程不安全 1.2.Queue:队列 ArrayBlockingQueue:

操作系统实训复习笔记(1)

目录 Linux vi/vim编辑器(简单) (1)vi/vim基本用法。 (2)vi/vim基础操作。 进程基础操作(简单) (1)fork()函数。 写文件系统函数(中等) ​编辑 (1)C语言读取文件。 (2)C语言写入文件。 1、write()函数。  读文件系统函数(简单) (1)read()函数。 作者本人的操作系统实训复习笔记 Linux

LVGL快速入门笔记

目录 一、基础知识 1. 基础对象(lv_obj) 2. 基础对象的大小(size) 3. 基础对象的位置(position) 3.1 直接设置方式 3.2 参照父对象对齐 3.3 获取位置 4. 基础对象的盒子模型(border-box) 5. 基础对象的样式(styles) 5.1 样式的状态和部分 5.1.1 对象可以处于以下状态States的组合: 5.1.2 对象

DDS信号的发生器(验证篇)——FPGA学习笔记8

前言:第一部分详细讲解DDS核心框图,还请读者深入阅读第一部分,以便理解DDS核心思想 三刷小梅哥视频总结! 小梅哥https://www.corecourse.com/lander 一、DDS简介         DDS(Direct Digital Synthesizer)即数字合成器,是一种新型的频率合成技术,具有低成本、低功耗、高分辨率、频率转换时间短、相位连续性好等优点,对数字信

【芯片学习】【DDR3】

<xlinx FPGA应用进阶 通用IP核详解和设计开发>读书摘录: 1.      2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

数据库原理与安全复习笔记(未完待续)

1 概念 产生与发展:人工管理阶段 → \to → 文件系统阶段 → \to → 数据库系统阶段。 数据库系统特点:数据的管理者(DBMS);数据结构化;数据共享性高,冗余度低,易于扩充;数据独立性高。DBMS 对数据的控制功能:数据的安全性保护;数据的完整性检查;并发控制;数据库恢复。 数据库技术研究领域:数据库管理系统软件的研发;数据库设计;数据库理论。数据模型要素 数据结构:描述数据库

【软考】信息系统项目管理师(高项)备考笔记——信息系统项目管理基础

信息系统项目管理基础 日常笔记 项目的特点:临时性(一次性)、独特的产品、服务或成果、逐步完善、资源约束、目的性。 临时性是指每一个项目都有确定的开始和结束日期独特性,创造独特的可交付成果,如产品、服务或成果逐步完善意味着分步、连续的积累。例如,在项目早期,项目范围的说明是粗略的,随着项目团队对目标和可交付成果的理解更完整和深入时,项目的范围也就更具体和详细。 战略管理包括以下三个过程

【软考】信息系统项目管理师(高项)备考笔记——信息化与信息系统

信息化与信息系统 最近在备考信息系统项目管理师软考证书,特记录笔记留念,也希望可以帮到有需求的人。 因为这是从notion里导出来的,格式上可能有点问题,懒的逐条修改了,还望见谅! 日常笔记 核心知识 信息的质量属性:1.精确性 2.完整性 3.可靠性 4.及时性 5.经济性 6.可验证下 7.安全性 信息的传输技术(通常指通信、网络)是信息技术的核心。另外,噪声影响的是信道