0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DDR3 SDRAM控制器IP核的写命令和写数据间关系讲解

电子设计 来源:CSDN博主 作者:FPGA开源工作室 2020-12-31 11:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1. 背景

这篇文章主要介绍了DDR3IP核的写实现。

2. 写命令和数据总线介绍
DDR3 SDRAM控制器IP核主要预留了两组总线,一组可以直接绑定到DDR3 SDRAM芯片端口,一组是留给用户端使用的,框图如图1所示。

pIYBAF9uKZCAJVE1AAHZsq5oFxs538.png

如图1 所示的中间部分为我们调取的IP 核,user FPGA Logic 为用户端逻辑,DDR2/DDR3 SDRAM 为存储芯片。其中IP 核与存储芯片之间的总线大部分以ddr 作为开头,这部分总线我们只需要在top 模板设为端口即可,无需我们控制。用户端与IP 核之间的总线大部分以app 作为开头,并且从用户端输出到IP 核的信号线需要我们产生。

在了解了大概的框架之后,下面我们首先通过以app 为开头的总线实现对IP写控制操作。为了更好的了解相关的参数,我们可以登录Xilinx 官网下载UG586手册,具体的下载地址如下所示: https://www.xilinx.com/support/documentation/ip_documentation/mig_7serie...

通过手册我们可以了解到,为了实现写,我们需要控制app 端的命令总线和数据总线,下面先对app 端命令总线作解释,此处的input 和output 均现对于IP核而言。

端口名称 端口名称 端口描述
app_cmd input 3bit命令总线,3’b000代表写,3’b001代表读。
app_addr input 30bit地址总线(位宽根据芯片不同会不同)。
app_en input 1bit命令使能信号,该信号有效(高电平),且app_rdy也有效时,IP核才可以接收到用户端发送的app_cmd和app_addr。
app_rdy output 1bit命令空闲信号,该信号有效(高电平),且app_en也有效时,IP核才可以接收到用户端发送的app_cmd和app_addr。

在了解到命令端每一个信号的作用后,我们可以给出下图2 所示的波形,其中①、②、④处的指令均不会被IP 核接收,只有③处的指令才会被IP 接收。

pIYBAF9uKZGANU4WAAD-GxPut88233.png

app 端写数据总线中的每一根信号作用如下表所示,此处的input 和output 均现对于IP 核而言。

端口名称 端口名称 端口描述
app_wdf_data input 128bit写数据总线(位宽根据芯片不同会不同),该数据包含8个需要写入DDR3芯片的数据。
app_wdf_wren input 1bit写数据有效标志,该信号有效(高电平),且app_wdf_rdy也有效时,IP核才可以接收到用户端发送的app_wdf_data。
app_wdf_rdy output 1bit写数据空闲信号,该信号有效(高电平),且app_wdf_rdy也有效时,IP核才可以接收到用户端发送的app_wdf_data。
app_wdf_end input 1bit最后一个写数据的标志,该信号有效(高电平)时,代表对应的app_wdf_data为当前写的最后一个数据。
app_wdf_mask input 16bit写数据掩码(位宽根据芯片不同会不同),该信号为写数据的掩码。

根据上表所描述,我们可以对app 端写时序所用到的每一根信号有一点的了解,下面给出写时序的波形。图3 中所示的①、②、④处的数据均不会被写入到IP 中,只有③处的数据才会被IP 接收。

pIYBAF9uKZOAGX4AAAFEIjZukwU746.png

我们对app_wdf_end 这个信号做最进一步的讲解,该信号表示的是当前突发写的最后一个数据。在A7 DDR3 控制器IP 核中,只存在突发长度为8 这种形式,因此每一次的突发均为16bit x 8 = 128bit,并且在我们调取该IP 核时,会发现DDR3 的物理层端与用户端存在两种速率关系,即4:1 和2:1。当选取速率比例为4:1 时app_wdf_data 为128bit,此时每一个发送的有效app_wdf_data 数据均为当前8 突发的第一个数据,同时也是最后一个数据,因此此时app_wdf_end 信号 与app_wdf_wren 信号同步;当选取速率比例为2:1 时app_wdf_data 为64bit,此时每一个发送的有效app_wdf_data 数据均为当前突发的4 个数据,因此此时app_wdf_end 信号与app_wdf_wren 信号如下图②所示。

o4YBAF9uKZaAVoBhAAKMssUOeVA987.png

3. 写命令和写数据间关系讲解
根据Xilinx UG586 手册我们可知,写命令和写数据直接存在三种逻辑关系,具体示例如图5 所示。图中①状态指的是命令和数据同时发送到IP 核,②状态指的是数据提前于命令发送到IP 核,③状态指的是命令提前于数据发送到IP 核。第①、②种情况均可稳定传输,但是第③种情况需要一个前提条件,即命令提前数据的时间不能超过两个用户端的时钟周期。因此,为了更稳定的发送数据,建议采取第①、②种发送模式,在本讲中,我们采取第②种发送方式。

pIYBAF9uKZmAXAhwAAKJV3c7H8Y452.png

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1655

    文章

    22287

    浏览量

    630326
  • SDRAM
    +关注

    关注

    7

    文章

    449

    浏览量

    57287
  • DDR3
    +关注

    关注

    2

    文章

    287

    浏览量

    43942
  • Xilinx
    +关注

    关注

    73

    文章

    2192

    浏览量

    129944
  • 存储芯片
    +关注

    关注

    11

    文章

    1000

    浏览量

    44720
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于AXI DMA IPDDR数据存储与PS端读取

    添加Zynq Processing System IP,配置DDR控制器和时钟。7000系列的Zynq可以参考正点原子DMA回环测试设置。
    的头像 发表于 11-24 09:25 2643次阅读
    基于AXI DMA <b class='flag-5'>IP</b><b class='flag-5'>核</b>的<b class='flag-5'>DDR</b><b class='flag-5'>数据</b>存储与PS端读取

    使用AXI4接口IP进行DDR读写测试

    本章的实验任务是在 PL 端自定义一个 AXI4 接口的 IP ,通过 AXI_HP 接口对 PS 端 DDR3 进行读写测试,读写的内存大小是 4K 字节。
    的头像 发表于 11-24 09:19 2789次阅读
    使用AXI4接口<b class='flag-5'>IP</b><b class='flag-5'>核</b>进行<b class='flag-5'>DDR</b>读写测试

    DDR3 SDRAM参考设计手册

    电子发烧友网站提供《DDR3 SDRAM参考设计手册.pdf》资料免费下载
    发表于 11-05 17:04 1次下载

    DDR200T中DDR的使用与时序介绍

    DDR使用 在我们的项目中,我们使用的是芯来科技的DDR200T开发板,我们通过调用板上的DDR3 IP完成如下表的配置,配置完成后例化该
    发表于 10-28 07:24

    基于FPGA的DDR控制器设计

    DDR控制协议 DDR3读写控制器主要用于生成片外存储DDR3
    发表于 10-21 14:30

    FPGA搭建DDR控制模块

    DDR3读写控制器主要用于生成片外存储DDR3 SDRAM进行读写操作所需要的时序,继而实现对片外存储
    发表于 10-21 10:40

    用FPGA实现DDR控制模块介绍

    DDR3读写控制器主要用于生成片外存储DDR3 SDRAM进行读写操作所需要的时序,继而实现对片外存储
    发表于 10-21 08:43

    AD设计DDR3时等长设计技巧

    本文紧接着前一个文档《AD设计DDR3时等长设计技巧-数据线等长 》。本文着重讲解DDR地址线、控制信号线等长设计,因为地址线、
    发表于 07-29 16:14 2次下载

    AD设计DDR3时等长设计技巧

    讲解数据线等长设计。      在另一个文件《AD设计DDR3时等长设计技巧-地址线T型等长》中着重讲解使用AD设计DDR地址线走线T型走线等长处理的方法和技巧。
    发表于 07-28 16:33 4次下载

    【RK3568+PG2L50H开发板实验例程】FPGA部分 | DDR3 读写实验例程

    的总线宽度共为 16bit。DDR3 SDRAM 的最高数据速率 1066Mbps。 2.1. DDR3 控制器简介 PG2L50H 为用
    发表于 07-10 10:46

    DDR3 SDRAM配置教程

    DDR3 SDRAM(Double-Data-Rate ThreeSynchronous Dynamic Random Access Memory)是DDR SDRAM的第三代产品,相
    的头像 发表于 04-10 09:42 3769次阅读
    <b class='flag-5'>DDR3</b> <b class='flag-5'>SDRAM</b>配置教程

    灿芯半导体推出DDR3/4和LPDDR3/4 Combo IP

    灿芯半导体(上海)股份有限公司(灿芯股份,688691)宣布推出基于28HKD 0.9V/2.5V 平台的DDR3/4, LPDDR3/4 Combo IP。该IP具备广泛的协议兼容性
    的头像 发表于 03-21 16:20 905次阅读

    DDR内存控制器的架构解析

    DDR内存控制器是一个高度集成的组件,支持多种DDR内存类型(DDR2、DDR3DDR3L、L
    的头像 发表于 03-05 13:47 3276次阅读
    <b class='flag-5'>DDR</b>内存<b class='flag-5'>控制器</b>的架构解析

    SDRAM控制器的设计——Sdram_Control.v代码解析(异步FIFO读写模块、读写SDRAM过程)

    前言 SDRAM控制器里面包含5个主要的模块,分别是PLL模块,异步FIFO 模块,异步FIFO读模块,SDRAM接口控制模块,
    的头像 发表于 03-04 10:49 2185次阅读
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>的设计——<b class='flag-5'>Sdram</b>_Control.v代码解析(异步FIFO读写模块、读写<b class='flag-5'>SDRAM</b>过程)

    SDRAM控制器功能模块概述

    按键KEY1触发,将计数产生的0到255的数据写到FIFO模块里面,继而写到SDRAM 器件里面。
    的头像 发表于 02-07 09:33 1089次阅读
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>功能模块概述