pl读写ddr,用的是axi_lite [问题点数:50分]

Bbs1
本版专家分:0
结帖率 0%
zedboard如何从PL端控制DDR读写(一)
看了一段时间的DDR手册,感觉大体有一点了解了,想要实际上板调试,然而实验室可用的开发板不多,拿了一块zynq板看了看,DDR确实有,但是已经集成了控制器,而且控制器还放到了PS端,PL只能通过AXI接口访问。     无奈另外两块开发板也这样,索性就用AXI去控制吧,正好还能再复习一遍AXI。          先简单介绍一下zynq,其全称是ZedBoard Zynq Eva
Zedboard & Zynq 图像采集 视频开发 (三) AXI4总线读写DDR .
cmosfpga视频soc 目录(?)[+] AMBA协议简介BLOCK DESIGNS2MM VDMA设计MM2S VDMA设计总结 上一篇讲到了通过Zynq内部FPGA采集ov7725摄像头的图像数据,并将RAW8视频数据通过双线性插值法恢复为RGB888视频格式,这一篇的内容就是将RBG888视频数据通过PS的HP端口传送到DDR3进行视频缓存,然后再读出,进行
PL 读写DDR
PL是怎样访问DDR的?zynq-7000的地址映射,PL作为主设备访问<em>ddr</em>时所用的地址是0x40000000-0x7FFFFFFF;所以在搭建环境的时候要注意<em>pl</em>所给的地址为0x40000000-0x7FFFFFFF才能访问到PS的DDR。另外值得注意的是Dcache的一致性问题,为了PL可以直接读到DDR的数据,在SDK初始化的时候用到的是mem test的模板的init_<em>pl</em>ateform...
zynq pl读写ddr 实现vga高清显示
其实通过vga显示官方有一个ip核可以用,但是我不是主要为了实现vga显示,而是为了实现如何从ps端向<em>pl</em>端进行大量的数据传送,经过了间断性的不断代码测试,编写,我最终实现了。下面简单说下我是怎样实现的。 目的: 1.实现<em>pl</em>读取<em>ddr</em>内的数据将数据转换成vga的数据流显示到屏幕上,显示大小640*480 2.ps端向<em>ddr</em>内写入像素值,<em>pl</em>端能够同步转换并显示出来。 3.利用axi总线实
zynq例子
https://rocketboards.org/
zedboard如何从PL端控制DDR读写(四)
PS-PL之间的AXI 接口分为三种: • 通用 AXI(General Purpose AXI) — 一条 32 位数据总线,适合 PL 和 PS 之间的中低速通信。接口是透传的不带缓冲。总共有四个通用接口:两个 PS 做主机,另两个 PL 做主机。 • 加速器一致性端口(Accelerator Coherency Port) — 在 PL 和 APU 内的 SCU之间的单个异步连接,总线宽
zedboard如何从PL端控制DDR读写(七)
前面已经详细介绍了从PL端如何用AXI总线去控制DDR的<em>读写</em>,并且从AXI_BRESP的返回值来看,我们也是成功写入了的。但是没有通过别的方式来验证写入的数据的话,总是感觉差了点什么。   今天试了一把从PS端直接读取DDR里面的数据,刚好跟PL端写入的一样,这下可以放心的认为我们写入成功了。     还是跟前面说的一样,在SDK里面使用hello world的模版就可以了。
【ZYNQ-7000开发之六】使用PS控制DDR3的读写
本编文章的目的主要用简明的方法对DDR3进行<em>读写</em>,当然这种方式每次<em>读写</em>都需要CPU干预,效率是比较低的,但是这是学习的过程吧。本系列文章尽可能的让每一个实验都相对独立,过程尽可能保证完整性,保证实验的可重现性。 但是用到的模块或者IP的具体作用和用法不保证都重复详细的介绍。本文所使用的开发板是Miz702(兼容zedboard) PC 开发环境版本:Vivado 2015.2 Xilinx SDK
FPGA实践教程(八)PS与PL共享DDR
背景:很多时候需要PS与PL共享DDR作为global memory,例如卷积之中,PS将weight in与feature写入DDR,然后PL调用DDR进行运算,再将结果写入DDR进行下一次迭代。 目的:1.  PS与PL共享DDR,读和写。并且像卷积一样需要三个指针。2.  IPcore设置变量,能通过PS能查看到IPcore运行位置。3. 运用BRAM实现一定的数据搬运。 目录 一、I...
Zynq-Linux移植学习笔记之30-用户程序读写DDR
1、背景介绍 最近项目中需要做一个JTAG测试功能,该功能是需要在DDR的一段空间中准备一组数据,发送出去,再用DDR的另一段空间收数,判断收到的数是否和发送的数据相同,以此加以验证。为此,需要在ZYNQ PL中实现GPIO通过HP<em>读写</em>DDR实地址的操作,同时在PS中通过ARM实现对发送和接收两段内存区域的<em>读写</em>操作。 2、实现方法 linux中提供了dev/mem来对DDR进行<em>读写</em>,让应用程...
ZYNQ 7020 PL以AXI_DMA访问DDR或OCM
   本章主要介绍ZYNQ 7020的PL端在PS的控制下实现对DDR的访问,通过debug的方式抓取DDR S_AXI_HP接口的时序,方便在PL内以verilog的形式直接访问DDR/OCM 本设计中软件版本:VIVADO2018.1,对应SDK也为 2018.1 硬件开发环境:MYIR ZYNQ-7020开发板 + xilinx usb JTAG + usb uart 一 、PL端设计...
ZYNQ-用PS控制DDR3内存读写
本编文章的目的主要用简明的方法对DDR3进行<em>读写</em>,当然这种方式每次<em>读写</em>都需要CPU干预,效率是比较低的,但是这是学习的过程吧。本系列文章尽可能的让每一个实验都相对独立,过程尽可能保证完整性,保证实验的可重现性。 但是用到的模块或者IP的具体作用和用法不保证都重复详细的介绍。本文所使用的开发板是兼容zedboardPC 开发环境版本:Vivado 2015.4 Xilinx SDK 2015.4生成...
zedboard如何从PL端控制DDR读写(三)——AXI-FULL总线调试
本文主要是总结一下使用AXI-FULL调试的过程。      首先想到的是用RAM IP核来测试,方法是通过AXI接口向RAM写入一组数据并读出,看起来很简单,然而试了好久都没能出结果。如下图所示,其实AXI RAM就是在本地RAM接口的基础上套了一个AXI的壳      在使用modelsim仿真的时候总是会抛出一个警告,具体的警告类型忘了,下次有机会再尝试。试了好多次都
zynq PS端向PL端的DDR3读写数据
参见我的工程E:\vivado_program\ps_control_<em>pl</em>_<em>ddr</em>3该例程是在ZC706开发板上实现的,在vivado中如下所示:其中mig的配置比较复杂,具体参考文档在如下下载页中下载:https://download.csdn.net/download/yanxiaopan/10467417及xilinx官方文档ug898第五章。在SDK中的程序如下所示:#include &amp;l...
zedboard如何从PL端控制DDR读写(五)
有了前面的一堆铺垫。现在终于开始正式准备<em>读写</em>DDR了,开发环境:VIVADO2014.2 + SDK。     一、首先要想在PL端通过AXI去控制DDR,我们必须要有一个AXI master,由于是测试,就不自己写了,直接用package IP生成,方法如下:   1.选择package IP工具      2.创建新的AXI外设      3.接口类型
ZYNQ+Vivado2015.2系列(十一)BRAM的使用——PS与PL交互数据,及其与DRAM(Distributed RAM)的区别
Block RAM是PL部分的存储器阵列,为了与DRAM(分布式RAM)区分开,所以叫块RAM。ZYNQ的每一个BRAM 36KB,7020的BRAM有140个(4.9M),7030有265个(9.3M),7045有545个(19.2M)。每一个BRAM都有两个共享数据的独立端口,当然是可以配置的,可用于片内数据缓存、FIFO缓冲。 在Vivado里有一个IP核叫Block Memory Gen
FPGA基础知识21(PL控制PS端DDR的设计)
来自:http://www.eefocus.com/antaur/blog/17-08/423773_0818c.html0.引言构建SoC系统,毕竟是需要实现PS和PL间的数据交互,而像上一讲那样PL主机与PL从机之间通过AXI4-Lite总线进行交互有点杀鸡用牛刀了。如果PS与PL端进行数据交互,可以直接设计PL端为从机,PS端向PL端的reg写入数据即可,但是对于图像处理等大数据量的数据交互...
petalinux(4)——通过AXI与FPGA交互
初测 上次的工程基础上 在命令行读内存命令 root@<em>pl</em>nx_arm:~# devmem 0x10000 u-boot 阶段命令行: Zynq&amp;gt; md 43c10000 8 上述命令都可以用,但是在命令行里用 devmem 命令,超过0x4000 0000 系统死掉。 u-boot的Md命令没事 自建包含axi总线的IP core,重新测试 用包含自己axi ip的工程,...
基于fpga对ddr3的读写控制
1.很多情况下,fpga的内部ip ram的存储量较小,所以需要外挂容量大的芯片。内部的芯片ram称为静态ram,其<em>读写</em>简单,速率中等,缺点就是存储空间较小。spartan—6芯片的最小单元为9k;充电刷新保持数据的额sdram称为动态ram,其容量大,缺点就是高功耗,管脚多,操作时许复杂,占用面积大。无论是静态还是动态ram都是一种易失性器件。 2.当前比较常用的是<em>ddr</em>3,有关<em>ddr</em>3的介绍...
Zedboard & Zynq 图像采集 视频开发 (三) AXI4总线读写DDR
上一篇讲到了通过Zynq内部FPGA采集ov7725摄像头的图像数据,并将RAW8视频数据通过双线性插值法恢复为RGB888视频格式,这一篇的内容就是将RBG888视频数据通过PS的HP端口传送到DDR3进行视频缓存,然后再读出,进行VGA视频显示AMBA协议简介AMBA 协议是用于连接和管理片上系统 (SoC) 中功能模块的开放标准和片上互连规范。它有助于首次开发带有大量控制器和外设的多处理器设...
Zedboard 如何从PL端控制DDR3(二)--AXI4总线
虽然Xilinx已经将和AXI时序有关的细节都封装起来,给出了官方IP和向导生成自定义IP,用户只需要关注自己的逻辑实现,但是还是有必要简单了解一下AXI的时序,毕竟咱是做硬件设计的。   AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3
zedboard如何从PL端控制DDR读写(六)
上一节说到了DDR寻址的问题,如下图:   从官方文档上我们看到了DDR的地址是从0008_0000开始的,那么我们开始修改Xilinx给我们提供的IP核代码。其实很简单,上一节已经分析了地址停留在0000_1000的原因,现在我们只需要把write_burst_counter的位宽变大就可以了。   从上表看到地址范围由全0到全1,计算一下就知道需要的宽度为27,即 C_NO
DDR读写简介及相关
DDR总线的体系结构如下:                       其中DQS是源同步时钟,在接收端使用DQS来读出相应的数据DQ,上升沿和下降沿都有效。DDR1总线,DQS是单端信号,而DDR2&3, DQS则是差分信号。DQS和DQ都是三态信号,在PCB走线上双向传输。CK是地址/命令时钟,是单向信号。 DDR总线<em>读写</em>时序如下:              
如何实现axi_lite的双向传递
通过<em>axi_lite</em>实现PS与PL之间的双向信息传输
PS通过AXI-lite读取PL端数据
1,创建AXI-lite总线的IP,并加上自己的逻辑,    注意:一定要编译(保证ip无逻辑和功能错误);同一个reg不能在多个always中驱动;所以如果是PS读PL的reg,那么总线就不能写该reg,如果一定要写,写到其他reg;若果是PS写PL的reg,那么按道理(没试),PL端不可以写该reg。反正就是同一个reg,PS和PL端不能同时写!!!2,新建工程,BD工程;加载刚生成的ip(首...
【ZYNQ-7000 开发之七】PL读写DDR3
0.引言 构建SoC系统,毕竟是需要实现PS和PL间的数据交互,而像上一讲那样PL主机与PL从机之间通过AXI4-Lite总线进行交互有点杀鸡用牛刀了。 如果PS与PL端进行数据交互,可以直接设计PL端为从机,PS端向PL端的reg写入数据即可,但是对于图像处理等大数据量的数据交互来说,PL端的BRAM毕竟容量有限,很难用BRAM作为两者间的数据缓存器。对于这样的应用来说,利用DDR3作为PS...
zynq pl读写ddr 实现vga高清显示(2)
另一个好像传错了,这是主要的ip,sdk的代码在博客中已经给出,https://blog.csdn.net/LOTOOHE/article/details/78692798
【ZYNQ-7000开发之四】PS读写PL端BRAM
本篇文章目的是使用Block Memory进行PS和PL的数据交互或者数据共享,通过zynq PS端的Master GP0端口向BRAM写数据,然后再通过PS端的Mater GP1把数据读出来,将结果打印输出到串口终端显示。 涉及到AXI BRAM Controller 和 Block Memery Generator等IP的使用。 本系列文章尽可能的让每一个实验都相对独立,过程尽可能保证完整...
[ZYNQ入门宝典]定制带AXI_Lite总线的用户IP
碎碎念: AXI总线是ZYNQ系列中连接FPGA和ARM的最重要的途径之一。在ZYNQ中AXI分三种模式,具体不去详述,读者可自行百度。这里我们想定制一个用户IP,利用AXI_Lite总线,从PS端将LED闪烁命令传达到PL端,最终实现LED的闪动。 网上对于IP定制的教程有很多,这里贴出2个供读者参考:https://blog.csdn.net/NarutoInspire/article/d...
zedboard ddr 设置
<em>ddr</em>3设置,zynq开发必须要掌握的基础知识,非常好用,谢谢
通过vdma从ddr中取出数据
zedboard开发板开发工程:通过vdma从<em>ddr</em>中取出数据
ddr和VGA代码
verilog语言编写<em>ddr</em>和vga代码,使用altera公司的fpga有助于学习
ZED Board AXI-HP通信例子
用Vivado IPI搭建的Zynq-7000 PS到PL通信过程,使用了AXI-HP接口,利用AXI-DMA IP实现直接<em>读写</em>DDR的过程,软件可以配置传输尺寸,并实现Cache一致性协议。
Zynq-Linux移植学习笔记之15-用户APP直接访问PL物理地址
1、  背景介绍 在zynq中,由于有PL部分的存在,操作系统需要对PL部分的物理地址进行操作,也就是对操作相关IP核的寄存器。除了在驱动中进行映射外(参看前一篇文章点击打开链接),也可以直接在用户态进行地址映射访问。   2、  IO接口头文件 如果做过裸奔的应用程序,可以看到用户app最终调用的接口无非是下面以下这一类函数: u8 Xil_In8(INTPTR A<em>ddr</em>); u1
zynq平台PS端对DDR绝对地址访问
当PL端需要通过AXI总线访问DDR时,而PS端同样要访问到DDR,为了实现PL和PS对相同地址访问,可以通过定义变量到绝对地址的方法。 1. 单个变量 当只有一个变量情形下,可以定义一个指向DDR内存中的指针,比如: int* p=(int*)(0x100000); 2. 数组 对于数组不能用分配指针的方式来分配地址,这样在通过指针写或者读数据时,有可能同其它变量发生冲突。 需要修改l
FPGA实践教程(六)AXI-Lite实现PS与PL通信
背景:PS与PL的通信方式有AXI4,AXI-Lite,AXI-Stream。之前实现的为AXI-Stream s(side channel),并且编译环境为linux编译环境。现在改为基础的AXI-Lite的通信方式,编译环境变为SDK环境。 目的:实现AXI-Lite的通信。 AXI-lite的实现过程中,设计流程中三点至关重要,一是编写什么样的c程序并如何用HLS综合,二是系统如何搭建,...
ZYNQ PL和PS通过BRAM交互共享数据
本篇文章目的是使用Block Memory进行PS和PL的数据交互或者数据共享,通过zynq PS端的Master GP0端口向BRAM写数据,然后再通过PS端的Mater GP1把数据读出来,将结果打印输出到串口终端显示。 涉及到AXI BRAM Controller 和 Block Memery Generator等IP的使用。 本系列文章尽可能的让每一个实验都相对独立,过程尽可能
zynq用户APP直接访问物理地址示例
zynq用户APP直接访问物理地址示例,用于zynq linux驱动开发
Zynq 7000 PL和PS通信——使用BRAM
Zynq 7000 PL和PS通信——使用BRAM介绍1 准备工作2 PL搭建BRAM3 下载PL程序4 编写Linux应用程序5 问题5.1 BRAM的寻址的问题5.2 PS地址映射 介绍 Xilinx公司的Zynq 7000系列SoC除了有功能强大的FPGA,还集成了双PS。在协同使用PS和PL时,就不免需要PS和PL之间进行数据交互。本文主要讲述安装了linux操作系统的PS如何与PL进行数...
zynq无DDR使用OCM加载程序运行
一、使能DDR,但程序不用DDR 赛灵思提供的文档,按照文档进行 链接:https://yun.baidu.com/s/1_tfNnXay524i4u8RS5Rt-Q 密码:nnsa 第八步 改为注释掉FLASH大小选择,均写成128M 就可以成功的OCM加载程序了 二、在硬件中不使能DDR 根据参考 采用的方法是在zynq block design配置时保留<em>ddr</em>,而在程序编...
第二十篇:DDR内存读写问题-USB Display项目
最近在实际的项目中碰到这样的问题: 嵌入式系统DDR (RBC row, bank, columne), 每块1Gbit816, 两块由片选决定<em>读写</em>其中的一块. Memory controller通过AXI连接在SOC中. 1. 在I-CACHE没有使能的情况下, 通过MC访问DDR有三路TRAFFIC, 分别是取指令, CPU刷/写FRAME BUFFER, DMA取/读FRAM
AXI4 Lite 协议分析
本文是上篇文章《自定义IP实验》的扩展, 在Zynq 7000 的ip设计应用中,为了实现PS-PL 互动,我们需要选择 AXI 4 协议, 而Axi4 Lite 是其中简化版本,耗用资源比较少,也比较好理解。大多数情况,我们选择它。 为了设计好自定义ip 包,我们需要熟悉和掌握 Axi 4 Lite。 首先使用ILA 采集<em>读写</em>的波形图,另存工程,然后添加ila。我简单介绍其操作过程,如
Zynq 7000从零开始之二 -- 内存测试程序
由于所有的APP都是在DDR中运行的,所以先让DDR工作起来是后续实验的基础.使用的硬件是z-turn开发板.         本文主要讲怎样创建一个内存测试程序,测试DDR,程序还是运行在内部RAM;FPGA涉及的内容有怎样配置DDR参数,及怎样保存和导入硬件参数;软件方面会涉及BSP修改及           BOOT.bin的生成.关于Vivado的具体操作请参考--"Zynq 700
DM6437-读写DDR测试过程
硬件平台:DM6437EVM 调试工具:CCS3.3 DDR<em>读写</em>程序: Uint32 memfill32( Uint32 start, Uint32 len, Uint32 val ) { Uint32 i; Uint32 end = start + len; Uint32 errorcount = 0; /* Write Pattern */
【ZYNQ-7000开发之九】使用VDMA在PL和PS之间传输视频流数据
VDMA可以把AXI4-Stream 类型的视频流通过S2MM,写入到DDR3中,反之也可以通过MM2S读入到VDMA接口的外设中。通过内嵌FPGA逻辑分析仪进行观察数据。
Zynq学习笔记三之zynq_axi4_lite从机编写(gpio)
定义了reg0(数据寄存器),reg1(控制寄存器),reg2(输入/输出) `timescale 1ns / 1ps module axi_gpio_my ( input S_AXI_ACLK, input S_AXI_ARESETN, inout [3:0]gpio, //AR channel input S_AXI_ARVAL...
FPGA(XILINX) DDR3 内存条 读写测试 仿真通过 (VIVADO 2015.2)
FPGA(XILINX) DDR3 内存条 <em>读写</em>测试 仿真通过 (VIVADO 2015.2)
DDR3 SDRAM原理和初始化、读写的Verilog实现(Sdram 控制器.pdf)
讲解 sdram 的工作原理,以及使用 verilog HDL 语言描述 sdram控制器,其中包括 sdram 的初始化、刷新、读和写。 FPGA 自带的内部存储空间非常的有限,当需要存储大量数据时,一般是借助于外围的存储设备, sdram 就是常用的存储设备之一,因为掌握 sdram 的内部工作原理,以及描述 sdram 控制器是 FPGA 工程师需要掌握的基本技能。
硬件十万个为什么——DDR3的工作原理
迄今为止最好的DDR3讲解文档,深入浅出,包含DDR的片内结构 DDR的<em>读写</em>流程 DDR的基础命令 DDR的<em>读写</em>时序与参数 等内容,是深入学习DDR的好文档
DDR工作时序与原理
DDR SDRAM 全称为 Double Data Rate SDRAM,中文名为“双倍数据流 SDRAM”。DDR SDRAM 在原有的 SDRAM的基础上改进而来。下图是DDR和SDRAM的数据传输对比图 图上可以清楚的看到,DDR SDRAM可在一个时钟周期内传送两次数据,上升沿传一次,下降沿传一次。 1.DDR的基本原理 先来看一张DDR读操作时序图
HLS图像处理系列——在ZEDBoard搭建DDR图像处理通路
ZYNQ芯片内包含一个丰富特性的基于双核ARM Cortex-A9的处理子系统(Processing System,PS)和Xilinx 28nm可编程逻辑(Programmable Logic,PL)。PS除了核心外还包括片上存储器、外部存储器接口以及大量外设连接接口。 利用ARM,我们可以做嵌入式操作系统相关的任务,如图形界面、用户输入、网络、DDR3控制等,由于ARM本身具有丰富的外设接口
Vivado中MIG核中DDR的读写控制
本文使用Vivado 2015.4在Nexys4 DDR(以下简称N4DDR)开发板上实现DDR的<em>读写</em>。 · FPGA如果需要对DDR进行<em>读写</em>,则需要一个DDR的控制器。根据官方的文档(UG586,下载链接在文末),DDR控制器的时序主要有三: (1)首先是控制信号,如下图: · 从上图可以看出,只有当app_rdy信号有效时,程序所发出的<em>读写</em>命令才会被控制器接收。这点必须注意。 (2)然...
DDR3读写时序
1.DDR3时序参数 意思是说,当我们选择了187E芯片的时候,他所能支持的最大速率是1066MT/s,即DDR3的时钟频率是533MHz。此时tRCD=7 tRP=7 CL=7。 时钟周期是1.87ns因此CL=1.87*7=13.1ns。 tRCD指的是从ACTIVATE到READ或WRITE的时间 tRP指的是PRECHARGE的时间 CL指的是从读命令
不是所有DDR3都可以用FLY_BY拓扑
最近在学PCB中的拓扑相关的知识,看到这篇文章也是很惊讶的,所以分享给大家看看
Android内存压力测试工具(memtester移植)
环境 博主测试环境是在Android 7.0上,理论上不用任何修改就可以适合所有Android版本。 memtester memtester主要用于测试内存稳定性 官网:http://pyropus.ca/software/memtester/ 版本:memtester-4.3.0.tar.gz(目前最新版本-2018.10.21) 官方已经预编译了大部分Linux系统的二进制文件,可以直接使用,...
ZYNQ基础系列(六) DMA基本用法
DMA 环路测试 涉及到高速数据传输时,DMA就显得非常重要了,本文的DMA主要是对PL侧的AXI DMA核进行介绍(不涉及PS侧的DMA控制器)。AXI DMA的用法基本是:PS通过AXI-lite向AXI DMA发送指令,AXI DMA通过HP通路和DDR交换数据,PL通过AXI-S<em>读写</em>DMA的数据。 实验思路 首先设计一个最基本的DMA环路 实验思路是:首先PS通过AXI-lit...
PL和PS通过BRAM交互共享数据
本文转自:http://blog.csdn.net/rzjmpb/article/details/50365915 本篇文章目的是使用Block Memory进行PS和PL的数据交互或者数据共享,通过zynq PS端的Master GP0端口向BRAM写数据,然后再通过PS端的Mater GP1把数据读出来,将结果打印输出到串口终端显示。 涉及到AXI BRAM Contr
DDR控制器集成与读写测试之FPGA片内存储器概述
片内存储器是基于FPGA的嵌入系统中最简单的存储器。因为存储是在FPGA内部完成的,电路板上无需外部连线。FPGA的片内存储器可以根据需求定义存储器的大小、位宽、种类、及特殊的片内存储器特性,如DDR模式等。 片内存储器在基于FPGA的嵌入式系统的存储器中具有最高吞吐量和最低反应延时。它的反应延时通常仅为一个时钟周期。通过流水线操作访问存储器,可以使吞吐量达到每个时钟周期进行一次数据处理。
DDR扫盲——关于Prefetch与Burst的深入讨论
FROM:http://blog.chinaaet.com/justlxy/p/5100052027 学习DDR有一段时间了,期间看了好多的资料(部分公司的培训资料、几十篇的博文,Micron的Datasheet,JESD79规范等)。但是有一个问题,想了好久(很多资料都没有说明白),至今才算搞明白,所以写一篇文章和大家分享一下。 如题,接下来要讨论的主要是关于Prefetch和Burst相关...
zynq7000中ddrc的配置
目标:为新项目中配置<em>ddr</em>c参数,使<em>ddr</em>能正常工作 工作环境:Win7sp1-64bit 工具:Vivado2015.4 1. 问题简介        使用zynq7000系列SoC时,若使用DDR需对DDRC进行配置。Xilinx预设了几乎全是镁光的DDR芯片参数,因此若项目使用的就是镁光<em>ddr</em>,memory时序配置无需考虑,配置的只有pcb延时部分。         Xilinx官
DDR3 寻址及原理
寻址数据范围为:行: 2的15次方,列:2的10次方,bank:2的3次方,CS片选:2的2次方, 数据线32位 2^15 x 2^10 x 2^3 x 2^2  x 32 = 32Gb 最大容量为32Gb
JESD204B的AXI4-Lite时序分析(对比SRIO的AXI4-Lite时序分析)
JESD204B的AXI4-Lite时序分析 1.前言         本人在写JESD204B的AXI4-Lite配置接口时,发现对端口时序的理解和常规的理解不一样,因此写这篇文章以作记录,具体如下。 1.1写时序异常           按常规理解的时序图(参照SRIO)写出来的代码,ready是因,valid是果。在仿真时发现在时钟复位配置好后,ready信号并没有按想象中一样,会先...
MYIR-ZYNQ7000系列-zturn教程(15):在PS中使用ILA观测AXI总线
开发板环境:vivado 2017.1 ,开发板型号xc7z020clg400-1,这个工程主要是用ILA观测PS端AXI总线的波形Step1  已经新建好的vivado工程Step2  新建一个Block Design点击OKStep3   添加ZYNQ核并配置这个工程我主要配置了DDR,当然不同的开发板的配置也不同(这里力求工程简单所以配置比较少)DDR配置如下图Step4  调用gpio核并...
(六)Zedboard上面实现DDR3的读写操作和BRAM的使用
1.首先介绍一下Zedboard的存储资源 在Zedboard板子上面有三个存储器,分别是DDR3、QSPI和SD卡,另外在PL端有Block RAM存储器阵列,为了与DRAM(分布式RAM)区分开,所以叫块RAM。ZYNQ的每一个BRAM 36KB,7020的BRAM有140个(4.9M),7030有265个(9.3M),7045有545个(19.2M)。每一个BRAM都有两个共享数据的独立端口...
Xilinx DDR IP详解与时序分析
DDR3:使用流程一.  配置过程1&amp;gt;首先找到IP核2&amp;gt;选择兼容的片子,这个<em>ddr</em>兼容K7系列的三个片子3&amp;gt;选择<em>ddr</em>34&amp;gt;配置工作时钟部分        配置时钟前我们先了解一下<em>ddr</em>3的ip核的时钟关系,如下图,共三个时钟。Ip核心的工作时钟和参考时钟,必须直接连在电路板上,不可由IP核分频得到。IP核的工作时钟常用频率:50M/200M(不必再选参考时钟)①:通过周期...
ZYNQ PL与PS交互的最大带宽
PL与PS的交互使用AXI_HP接口可以达到最大的带宽。 在典型的150MHz的时钟速度下,AXI_HP接口的<em>读写</em>带宽最高均可达到1200MB/s。在Zynq-7000系列的器件中包含有4个AXI_HP接口,因此总的带宽最高可达到9600MB/s。 如果数据都存放在DDR中,PL都是通过PS去读取DDR里的数据,这样实际带宽是取决于DDR的通信带宽,HP口的带宽也发挥不出来。 PL与PS的D...
ZYNQ学习之pl和ps接口
1、PL和PS的接口类型总共有两种: (1)功能接口:AXI、EMIO、中断、DMA流控制、时钟调试接口。 (2)配置接口:PCAP、SEU、配置状态信号和Program/Done/Init信号。这些信号连接到PL内配置模块的固定逻辑上,给PS提供对PL的控制能力。 2、AXI总线:AXI (Advanced eXtensible Interface)本是由ARM公司提出的一种总线协议。用于...
自己编写的xilix ddr3 IP核用户接口verilog程序
官方给的<em>ddr</em>3测试程序长达万行,有木有很痛苦的感觉?来来来,这个测试接口只有300行左右,实现了顺序写入及顺序读出,可以让你在半个小时之内了解具体的实现方法,本程序在ml605及ise14.4的<em>ddr</em> 3.92上验证过,可以正常<em>读写</em>,但仍然有bug,只是提供一个思路哈,我也在努力继续改进。
ARM用MIG调用DDR3的c程序解析
背景:用ARM(PS:zynq7 processing system)控制Mig调用了DDR3,我们希望用IPcore控制Mig调用DDR3 目录 1 <em>pl</em>atform.h与<em>pl</em>atform.h 1.1 d-cache与i-cache 2 . memory_config.h与memory_config_g.c 3 主程序 4.  DDR3的调用 FPGA实践教程(五)调用DDR 目...
zynq无DDR设计参考
zynq无DDR设计参考,已经在项目上实施,需要更改FSBL才可以。资料里包括微博的内容以及官方原版英文的资料。
IMX6 DDR 压力测试软件
IMX6系列的内存压力测试软件,pc上使用 win7 上实测有效,通过修改参数 调整出最佳的内存配置参数
在Nexys4 DDR上实现的DDR2读写例程
· 最近项目需要用到DDR,于是在网上找相关资料,发现网上关于Xilinx DDR的资料不多,而且比较老,官方文档又是纯英文,且超级长。所以笔者写了这篇文章,为像笔者一样的初学者介绍一下DDR的使用。 在此不介绍DDR是什么了,请自行查资料。(相信用到这篇文章的人不会不知道DDR是啥吧。。。)· 好了,闲话休提言归正传。 · 本文使用Vivado 2015.4在Nexys4 DDR(
DDR3调试总结
最近几天在做XILINX FPGA DDR3调试,调用ISE中的MIG核。从网上找到了讲解很详细的资料,将需要注意的DDR3的<em>读写</em>控制信号减少到6个,还有另外两个DDR3输出的两个状态信号,即可实现DDR3的实际<em>读写</em>。 DDR3 IP核的仿真倒是好做,ISE自带仿真测试文件,不用写任何代码,即可Modelsim中做仿真,查看仿真结果,不过一些标志信号还是需要看手册了解。 实际使用时,如果是流动
Ddr2,ddr3,ddr4内存条的读写速率
理论极限值是可以计算的:1333MHz * 64bit(单通道,双通道则128bit) / 8(位到字节单位转换) = 10.664GB/s。这只是理论,实际发挥还要看内存控制器,实际上1333单条跑出来的数据在7~9GB/s差不多了。 首先,实际中我没见过内存速度超过10GB/s的情况,不知道是不是题主你把单位弄错了?实际见过的像RamDisk之类的软件,连续<em>读写</em>能达到的速度也不过5~8G
MIG IP控制DDR3读写测试
本文设计思想采用明德扬至简设计法。在高速信号处理场合下,很短时间内就要缓存大量的数据,这时片内存储资源已经远远不够了。DDR SDRAM因其极高的性价比几乎是每一款中高档FPGA开发板的首选外部存储芯片。DDR操作时序非常复杂,之所以在FPGA开发中用途如此广泛,都要得意于MIG IP核。网上关于MIG控制DDR的资料很多,因此本文只讲述个人认为较重要的内容。由于MIG IP核用户接口时序较复杂,
SDRAM与DDR的不同
1       之前看有位朋友总结的它们接口的不同,那我就总结一下全面的异同吧,希望可以帮到大家!SDRAM在嵌入式乃至整个PC行业的地位毋庸置疑,虽然它比SRAM操作复杂,从某种程度上说又有着随机地址存取时性能下降的缺陷(甚至于DDR/DDR2又有着不支持单一地址访问的限制,分别至少2/4个地址同时访问)。但是,速度是王道,容量也是它的优势,这些特点是其它任何易失存储器无法媲美的,也是它存
DDR学习笔记(一)-FPGA驱动DDR时时钟、突发长度的关系
在使用FPGA驱动DDR2时,如果使用IP核例化接口驱动,需了解以下数据关系:       如果DDR2的驱动时钟是200MHz,则DDR2实际工作在400MHZ,如果IP核(DDR控制器)数据接口工作时钟是100MHz,那么IP核(DDR控制器)接口数据宽度是DDR2颗粒数据宽度的4倍。例如,如果DDR2颗粒是16bit,那么DDR控制器数据接口就是64bit。从这里也可以得出DDR2的突发长
DDR3 读写程序
<em>ddr</em>3的<em>读写</em>程序,通过仿真测试和硬件平台测试,用的是vivado和modelsim,测试通过!用xilinx的ip核,用户接口模块是自己写的!
AXI接口介绍
更详细的AXI接口介绍:http://www.cnblogs.com/lkiller/p/4773235.html AXI全称Advanced eXtensible Interface,是Xilinx从6系列的FPGA开始引入的一个接口协议,主要描述了主设备和从设备之间的数据传输方式。在ZYNQ中继续使用,版本是AXI4,所以我们经常会看到AXI4.0,ZYNQ内部设备都有AXI接口。其实AXI...
DDR3读写分离的四种方法
DDR3是目前DDR的主流产品,DDR3的<em>读写</em>分离作为DDR最基本也是最常用的部分,本文主要阐述DDR3<em>读写</em>分离的方法。最开始的DDR, 芯片采用的是TSOP封装,管脚露在芯片两侧的,测试起来相当方便;但是,DDRII和III就不一样了,它采用的是BGA封装,所有焊点是藏在芯片的底部的,测试起来非常不便,一般需要提前预留测试点。在DDR<em>读写</em>burst分析之前,首先得把read burst和writ...
Xilinx SDK 初学之--PS对PL寄存器的读写控制
对于FPGA编程时的v文件中的寄存器,在SDK编程时需要一些<em>读写</em>操作,以实现PS与PL部分的信息交换。下面用一具体例子记录所需要的步骤 。如若有误请指正。 IP封装首先需要将v文件代码封装为带有AXI总线的IP,才能实现PS与PL的通信。步骤如下: 1、vivado中打开工程,Tools->Create and Package IP,下一步; 2、选择封装带有AXI4总线的,如下图:
XILINX MCB DDR3读写操作笔记
xilinx spartan 6 器件内置硬核MCB(memory controller block)赛灵思官方文件ug388对利用MCB控制DDR存储器做了详细的介绍(主要在MCB operation章节) FPGA配置完成以及PLL锁定后,MCB会自动完成初始化和校验。随后就可以进行常规的<em>读写</em>预充电刷新等一般操作。 MCB的指令和数据分别缓存在指令FIFO和数据FIFO内。往DDR写入数据
4端口DDR控制器的设计与实现
1     在视频图像显示界面中,需要用到DDR作为视频缓存的存储器,在一路视频输入的过程中,我们采用DDR的两个BANK的乒乓操作来实现视频的缓存,实现了数据的无损耗缓存和显示,这种方法已经得到了广泛的应用,但是,当我们是两路视频的输入呢,两个DDR的BANK已经无法满足我们的需求,一个乒乓的循环操作满足不了两路数据输入,此时我们会想到一个DDR有4个BANK,我们可以采用两个BANK作为
FPGA实践教程(五)PS用MIG调用DDR
本文档系列是我在实践将神经网络实现到Xilinx 的zynq的FPGA上遇到的问题和解决方法。 背景:FPGA的片上BRAM空间较少,难以实现大量的存储。DDR的内存空间较多,若作为global memory将能实现很多问题。 目的:PS(片上ARM)通过MIG调用DDR 参阅的文档:DS176:Zynq-7000 AP SoC and 7 Series FPGAs Memory Inter...
协处理对DDR的读写操作
协处理器(Co-Processor)实现对DDR的<em>读写</em>数据,实现数据运算变化,最后控制输出端口。基于ARM标准的AXI4Master/AXI4_lite Salve接口,由于AXI4标准接口相对比较麻烦,为了能够简化接口的处理,我们基于Xilinx的Master IPIF/Slave IPIF接口对接AXI4总线,间接实现对DDR的<em>读写</em>控制。         嵌入式系统为了能提升性能,需要有一个
SDR、DDR、QDR存储器的比较
SDR:Single Data Rate, 单倍速率 DDR:Dual Data Rate, 双倍速率 QDR:Quad Data Rate, 四倍速率 DRAM:Dynamic RAM, 动态随机存储器, 每隔一段时间就要刷新一次数据才能够保存数据 SRAM:Static RAM, 静态随机存储器, 静态随机存储器,不需要刷新电路,数据不会丢失 SDRAM: Synchronous
ddr3的读写操作
改工程是由vivado完成的,里面包含<em>读写</em>的测试以及详细的文档说明。
"30年---我与赛灵思FPGA的故事”:ZYNQ-7000使用总结(6) ——AXI接口简述
由 allan 于 星期五, 06/27/2014 - 17:35 发表 在前面的几个例子中,我们经常会看到AXI接口或是总线,那么AXI到底是什么呢?如果你想进行系统的了解,可以查阅Xilinx的文档UG761《AXI Reference Guide》。这里如文章题目,只是做一个简答的介绍,主要提炼出一些知识点。大部分是翻译的那篇文章,有的地方为了表述准确,直接引用原文。 A
FPGA的a_7系列芯片对ddr3的控制
1.原理图——————这次设计的数据流是产生数据的模块是image-ctrl模块、<em>ddr</em>3控制模块、hdmi-buffer、vga-ctrl模块、以及hdmi转换模块。                该模块的有2个操作始终,其中vga_clk 65M是用来产生数据的,ui_clk为<em>ddr</em>3控制模块的写入数据与地址的时钟,跨时钟域数据传输将32bit的图像数据转换为128bit的数据。rd_e...
Java Web项目开发案例精粹13-仓库管理系统下载
这个项目是仓库管理系统,对于刚开始学习java项目开发的人员来说,十分有帮助 相关下载链接:[url=//download.csdn.net/download/huwei1991/5143428?utm_source=bbsseo]//download.csdn.net/download/huwei1991/5143428?utm_source=bbsseo[/url]
Flash Lamp下载
单片机学习的代码,有protus仿真的图,可以直接在电脑上仿真 相关下载链接:[url=//download.csdn.net/download/hucihuci/2170895?utm_source=bbsseo]//download.csdn.net/download/hucihuci/2170895?utm_source=bbsseo[/url]
编译原理课件及课程设计下载
编译原理课件及课程设计,课程设计包括词法分析器 相关下载链接:[url=//download.csdn.net/download/melody_wise/2204667?utm_source=bbsseo]//download.csdn.net/download/melody_wise/2204667?utm_source=bbsseo[/url]
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java学习是用什么软件 pythonexcel读写教程
我们是很有底线的