XIlinx提供的DDR3 IP与 UG586

这篇具有很好参考价值的文章主要介绍了XIlinx提供的DDR3 IP与 UG586。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

     DDR系统需要关注的三样东西:控制器、PHY、SDRAM颗粒,但这是实现一个DDR3 IP所需要的,如果只希望调用IP的话,则只需要调用IP即可,目前时间紧急,我先学一学如何使用IP,解决卡脖子的问题,自研日后再说。

        使用的DDR3器件:MT41J128M16JT-093K

总览

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

DDR3 IP配置

第一部分

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节
Create Design

        选择此选项可生成内存控制器。生成内存控制器将创建 RTL、XDC、implementation 和simulation 文件。
Verify Pin Changes and Update Design
        选择此功能可验证已通过 MIG 生成的设计的修改后的 XDC。此选项允许您更改引脚分配并立即验证它,它会更新输入 XDC 文件以与当前版本的 MG 兼容。更新 XDC 时,它会保留输入 XDC 的引脚分配。此选项还将使用您在此页面中选择的组件名称生成新设计。

多控制器

        通过 DDR3 SDRAM、QDR1+-SRAM 或 RLDRAM 的组合,最多可生成 8 个控制器。可容纳的控制器数量可能受到数据宽度和器件中可用存储体数量的限制。有关详细信息,请参阅用户指南 控制器数量 。

        一般一个MIG 核控制一组(4个甚至8个DDR3),或通过隔离操作控制两组(一组多个)DDR3。

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

不使能则为APP接口:

        Xilinx DDR3 —— MIG IP核的原理(APP接口)_XPii的博客-CSDN博客

第二部分 选择可拓展器件

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

第三部分 选择内存接口类型。

        请参阅用户指南,了解每个 FPGA 系列支持的控制器的详细列表。下面的列表显示了特定 FPGA、速度等级和所选设计条目的当前可用接口。

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

DDR的时钟速率

时序标准

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

        时钟周期:选择所需频率的时钟周期。允许的周期范围(2500 -3300)是所选 FPGA 部件和 FPGA 速度等级的函数。请参阅用户指南了解更多信息。

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

所以此处配置的实际上是时钟频率。

Clock Period

        ①Clock Period设置的参数就是 MIG 的PHY 接口对DDR3的时钟,也就是DDR3芯片实际跑的IO时钟频率,它由system clock(主时钟)倍频而来,最大频率不能超过DDR3 和MIG支持的最大频率中的最小值。

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

器件名称:MT41J128M16JT-125:K

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

        tCK = 1.25ns,就可以算出芯片支持的最大IO时钟频率:1/1.25ns = 800Mhz;此处的IO时钟频率也就是DDR3的频率。

        双边沿都发送,所以数据传输速率:1600M。

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节虽然DDR3器件最大支持800MHZ。

但是A7只支持800MHZ的PHY(数据传输速率)速率,所以工作时钟频率只能设置为400MHZ,但是K7可以支持1600MHZ的PHY所以可以设置为1250PS = 1.25NS。

7100也支持1600MHZ

用户时钟Uiclock:PHY 与控制器时钟比率:(低于 350M 才可选

        选择 PHY 与内存控制器时钟比率。 PHY 以上面选择的内存时钟周期运行。控制器以 PHY 速率的 1/4 或 1/2 运行。所选的内存时钟周期将限制选择。

        PHY to Controller Clock Ratio:DDR3 物理芯片运行时钟和 MIG IP 核的用户端(FPGA)的时钟之比, 一般有 4:1 和 2:1 两个选项,本次实验选 4:1。由于 DDR 芯片的运行时钟是 400Mhz,因此 MIG IP 核的用户时钟(ui_clk)就是 100Mhz。一般来说高速传输的场合选择 4:1,要求低延时的场合选择 2:1。这里还要指 出,当 DDR3 时钟选择选择了 350M 到最高的 400M,比例默认只为 4:1,低于 350M 才有 4:1 和 2:1 两个选 项。

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

Vccaux_io

        在高性能组中,Vccaux_io 必须设置为 2.0V,以获得最高数据速率。Vccaux_io 在高范围组中不可用。请注意,Vccaux_io 对于Bank组来说是通用的。有关更多信息,请参阅 7 系列数据表和 FPGA SelectIlO 资源用户指南。

        这是 FPGA 高性能 bank(High Performance bank)的供电电压。它的设置取决于 MIG 控制器运行的周期/频率。当用户让控制器工作在最快频率的时候,系统会默认为 1.8V,当然在 1.8V 下用 户可以运行低一点的频率。本实验默认 1.8V。

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

 内存类型:颗粒

即片上内存管理芯片

选择内存类型。标有警告符号的类型与上述频率选择不兼容。

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

内存部分:

        选择内存部分。标有警告符号的部分与上述频率选择不兼容。如果此处未列出所需的部件,请查找等效部件或使用“创建自定义部件”按钮创建部件。RLDRAM II 不支持“创建自定义部件”功能。

        速度等级125,取导数为0.8~800MHZ

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

根据实际需求选择。

数据位宽

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

同样根据实际需求选择。

        片数xDDR3的物理地址位宽

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

实在找不到自己翻手册配。

ECC:ECC 校验使能

        MIG 支持 72 位数据宽度配置的 ECC。为了能够选择 ECC,请选择支持 ECC 的数据宽度。

        数据位宽为 72 位的时候才能使用。

Data Mask:数据掩码

        使用此复选框启用或禁用数据掩码 (DM) 引脚的生成。仅当所选存储器部分具有 DM 引脚时才可选择此选项。取消选中此框可不使用数据掩码并保存用于 DM 信号的 FPGAIO。 ECC 设计(DDR3 SDRAM、DDR2 SDRAM)不会使用数据掩码。

        数据屏蔽管脚使能。勾选它才会产生屏蔽信号。

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

 Number of Bank Machines:

        Bank Machine 的数量是用来对具体的每个或某几个来单独控制的,选择多 了控制效率就会高,相应的占用的资源也多,本实验选择 4 个,平均一个 Bank Machine 控制两个 BANK

(本次实验的 DDR3 芯片是八个 bank)。

ORDERING:

        该信号用来决定 MIG 控制器是否可以对它收到的指令进行重新排序,选择 Normal 则允 许,Strict 则禁止。本实验选择 Normal,从而获得更高效率。

第四部分 Axi 参数配置

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

Round Robin:轮询

上图为读优先

数据宽度

        AXI DATA WIDTH:AXl 读写通道的数据宽度。

        数据宽度小于或等于用户接口数据宽度,可能值为 32,64,128,256&512。

仲裁方案

        选择读写地址通道之间的仲裁方案

窄突发支持

        使逻辑能够支持 AXl4 从接口上的窄突发。如果系统中没有主机发出窄突发并且所有数据宽度都相等,则可以设置为零。 (1-启用,0-禁用)

地址宽度

        AXI4 读写地址通道的地址宽度。

ID 宽度:用于多路缓存

        AXI4 读写通道的 ID 宽度。 AX4 ID用作写入或读取信号组地址的识别标签

第五部分 存储器配置

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

输入时钟周期:(重要)

        选择 PLL 输入时钟 (CLKIN) 的周期。MIG 根据上面输入的内存时钟周期和用户指南中列出的时钟指南确定允许的输入时钟周期。生成的设计将使用选定的输入时钟和内存时钟周期来生成所需的 PLL 参数。如果所需的输入时钟周期不可用,则必须修改内存时钟周期。

        MIG内部有PLL用来完成从输入时钟频率到DDR3工作频率的倍频。

        推荐选择200Mhz,因为参考时钟也是200Mhz,配置的时候参考时钟可以直接使用系统时钟,减少端口信号。

Read Burst Type and Length:

        突发类型决定突发内的数据排序。有关详细信息,请参阅内存数据表。突发长度 8 是唯一受支持的值。(基本没人用交叉,到底是谁在用呢)

        突发类型选择,突发类型有顺序突发和交叉突发两种,本实验选择

顺序突发(Sequential),其突发长度固定为 8。

Output Driver Impdance Control:

        输出阻抗控制。本实验选择 RZQ/7。

RTT(标称) - 片上端接 (ODT)~终结电阻,可进行动态控制。

        选择组件或 DIMM 接口上 DQ、DQS/DQS# 和 DM 信号的 ODT 标称值。对于数据速率,必须将其设置为 RZQ/6 i(40 欧姆) 1333 Mbps 及以上。在 2 插槽 DIMM 配置中,该值将用于写入期间未写入的插槽,也将用于读取期间未选择的插槽。使用板级仿真来选择最佳值。

Controller Chip Select Pin:

        片选管脚引出使能。本实验选择 enable,

        当此选择设置为“禁用”时,片选 (CS#) 引脚可在外部连接为低电平,以在地址/命令组中保存一个引脚。禁用仅对单列配置有效。

        实际上DDR3或者说SDRAM的所有指令,包括NOP下,CS_N都设置为0,这里默认为0可以省略一个管脚。

寻址方式选择

BANK_ROW_COLUMN:

        寻址方式选择。本实验选择第二种,即 BANK-ROW-COLUMN 的形式,这是一种最常规的 DDR3 寻址方式,即要指定某个地址,先指定 bank,再指定行,最后指定列,这样就确定 了一个具体地址。

        一般来说这样寻址方式有利于降低功耗,但是读写性能(效率)上不如 “ROW_BANK_COLUMN”。

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

第六部分 FPGA配置

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

System Clock类型:

         MIG IP核输入给内部PLL的时钟类型,就是上一部分这个:

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

        可选择“No Buffer”,直接选单端时钟或差分意味着你的开发板上有相应的晶振。

        No Buffer将由内部的PLL输出

Reference Clock参考时钟类型:

        用于时钟对齐等操作。

        MIG IP 核参考时钟。同样可选择“No Buffer”,将由时钟模块生成,IP 核参考时钟要求是 200Mhz。如果之前在:

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

        使用了 200Mhz 的系统时钟,则参考时钟就可以直接使用系统时钟(use system clock)

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

System Reset Polarity:

        复位有效电平选择。

Sample Data Depth:采样深度选择。

        此功能允许在 ChipScope 工具上监视 IP 中存在的各种调试信号。

        调试信号包括各个 PHY 校准阶段的状态信号。启用此功能会将所有调试信号连接到 exampledesign 顶部模块中的 ChipScope ILA 和 VIO 内核。

        调试接口中每条总线都有部分接地,用户可以将接地信号替换为所需的信号。

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

当“Debug Signals Control”选择“OFF”时,所有采样深度是不可选的。

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

Internal Vref:

        内部参考管脚,表示将某些参考管脚当成普通的输入管脚来用。

        由于开发板的 IO 资源 较为紧张,这里需要选择“ON”,把参考管脚当做普通的输入管脚来用。

        内部 Vref 可用于允许将 Vref 引脚用作普通 IO 引脚。该选项只能在 800 Mbps 和更低的数据速率下使用。这可以为每个使用输入的组释放 2 个引脚。此设置对仅具有输出的组没有影响。

IO Power Reduction:管脚节能

        IO 管脚节省功耗设置。选择“ON”,即开启。

        通过在写入期间和不活动期间自动禁用 DQ/DQS IBUF 和内部终止,显着降低平均 IO 功率

XADC Instantiation:温度补偿

        XADC 模块例化。使用 MIG IP 核运行的时候需要进行温度补偿,可以直接选择 XADC 模块的温度数据引到 MIG IP 核来使用,否则需要额外提供温度数据,选择“Enable”。

        存储器接口使用 XADC 块的温度读数来执行温度补偿,并使读数在数据窗口中保持居中。每个设备有一个 XADC 块,如果 XADC 当前未在设计中的任何地方使用,请启用此选项以拥有该块实例化。

        如果已使用 XADC,请禁用此 MIG 选项。

        然后,用户需要向顶级 12 位 device_temp_i 输入端口提供温度值。有关详细信息,请参阅答复记录 51687 或 UG586。

第七部分 内部高性能 bank 端接匹配阻抗

        选择高范围 (HR) 组的内部终端 (N_TERM) 阻抗。

        此设置仅适用于界面中使用的 HR  BANK。内部终端阻抗 50 Ohms

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

第八部分 管脚模式选择

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

如果选择第二种则可以直接导入。

第九部分 BANK选择

        第八部分选择了第一种的情况下:

        在下面的架构视图中选择数据和地址控制的字节组。

        数据和地址控制必须在 3 个垂直组内选择。接口不能水平跨越。        

        “Bank/s) 14,15 包含配置引脚。MlG 尝试避免使用这些 Bank 进行默认配置。如果为内存控制器选择了 Bank(s) 14,15,则应验证 XDC 以确保与配置引脚不发生冲突。

        有关完整信息,请参阅 UG586 Bank 和 Pin 规则。

        Bank 选择可能仅限于高性能列,以满足所选的接口数据速率

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

第二种:

ug586文档xilinx,AXI,DDR3,IP核笔记,tcp/ip,服务器,网络协议,1024程序员节

导入后则直接跳到倒数第二步。文章来源地址https://www.toymoban.com/news/detail-818033.html

到了这里,关于XIlinx提供的DDR3 IP与 UG586的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Xilinx FPGA】DDR3 MIG 时钟管脚分配

    之前在验证 FPGA 板卡的芯片管脚时,所用的测试工程使用内部 PLL 生成的时钟作为 DDR3 的参考时钟。后来尝试将参考时钟改为外部 100M 晶振时钟,发现 MIG IP 配置工具找不到相应管脚,于是学习并梳理了 Xilinx DDR3 MIG IP 时钟管脚的分配规则,在这里做个记录。   目录 1 MIG 时钟

    2024年02月06日
    浏览(47)
  • 到中流击水—XILINX (MIG) DDR3 UI接口

    1.DDR3内核时钟:DDR3内部逻辑部分使用的时钟,用户侧无需关心,跟DDR3芯片内核性能相关。 2.DDR3接口时钟:DDR3与外界通信实际使用的时钟(实际时钟),跟DDR3芯片接口性能相关。 3.DDR3等效时钟:DDR3与外界通信实际的有效时钟(双倍速率)。 1.FPGA参考时钟:FPGA用于MIG IP数据

    2024年02月06日
    浏览(55)
  • DDR3 AXI4 IP核读写仿真实验(2)

    上篇blog中记录了DDR3 AXI4接口的IP配置详情,这一文章则是记录自己在项目工程以及学习中对于DDR3的读写测试。先讲一下大概的工程架构:产生16位的自加数写进写FIFO中,当FIFO中的数达到一次突发长度后将其全部读出写进DDR3中,再检测到DDR3中数达到1024之后全部读出写入到读

    2024年02月13日
    浏览(44)
  • 紫光FPGA DDR3 IP使用和注意事项(axi4协议)

    紫光DDR3 IP使用 对于紫光ddr3 IP核的使用需要注意事情。 阅读ddr ip手册: 1、注意:对于写地址通道,axi_awvalid要一直拉高,axi_awready才会拉高。使用的芯片型号时PG2L100H-6FBG676,不同的型号IP核接口和axi的握手协议也不一样(一定要注意),这点要注意,这也给我挖了一个很大的

    2024年04月12日
    浏览(50)
  • DDR3 控制器 MIG IP 详解完整版 (AXI4&VIVADO&Verilog)

    DDR系列文章分类地址: (1)DDR3 基础知识分享 (2)DDR3 控制器 MIG IP 详解完整版 (AXI4VivadoVerilog) (3)DDR3 控制器 MIG IP 详解完整版 (nativeVivadoVerilog) (4)基于 DDR3 的串口传图帧缓存系统设计实现 (5)基于 DDR3 的native接口串口局部传图缓存系统设计实现 (6)基于 DDR3 的

    2024年02月11日
    浏览(49)
  • 使用VIVADO中的MIG控制DDR3(AXI接口)一——AXI简介

            最近,因为需要,学习了AXI总线协议和DDR3相关的知识,花了很多的时间去找各种相关的资料,深刻明白查资料的不容易,这里将所学到的东西做一个总结,同时给需要的人提供一些便利,有问题的欢迎一起讨论学习、共同进步。          首先来说一下有关AXI总

    2024年02月08日
    浏览(49)
  • DDR3(AXI接口例程)知识点笔记

    本文以7035开发板中的DDR3master例程对DDR3中所涉及的知识点梳理下笔记。 ① DDR支持的突发长度是2,4,8 。即如果芯片的数据位宽是16bit的话那么接口数据位宽是32bit,64bit以及128bit。因为 L-Bank一次就存取两倍于芯片位宽的数据,所以芯片至少也要进行两次传输才可以。我认为芯片

    2024年02月13日
    浏览(46)
  • FPGA-基于AXI4接口的DDR3读写顶层模块

    AXI4(Advancede Xtensible Interface 4)是一种高性能、高带宽的总线接口协议,用于在系统级芯片设计中连接不同的IP核(Intellectual Property)或模块。它是由ARM公司开发的,被广泛应用于各种SoC(System-on-Chip)设计中。 AXI4接口协议定义了一组规范,用于描述数据传输、地址传输、控

    2024年04月15日
    浏览(56)
  • ZYNQ AXI4总线访问DDR3实现图像数据乒乓存储与显示

    目录 前言 一、添加端口 二、添加局部变量 三、例化读写FIFO 四、内部变量修改,设置一次读写进行多少次突发操作 五、写地址 六、读地址 七、状态机 1.写状态机 2.读状态机 总结 在Altera FPGA进行图像处理时,我们采用的存储芯片为SDRAM,当时参照正点原子的例程是封装SDR

    2024年02月02日
    浏览(65)
  • XILINX ZYNQ 7000 AXI总线 (二)

    了解了AXI 的大部分内容后,开始做一个实战,就是完成AXI 结构的输入输出搭建。 一.创建一个IP 3. 4. 5. 6.选择AXI FULL,创界主接口和从接口 7. 8.可以看到XILINX AXI FULL 的源代码 二.创建一个新的工程,把IP导入到这个工程 2.创建 block design 放入两个AXI IP 三 设计 创建两个 接口进行

    2024年02月16日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包