最近在使用 Xilinx 的 VU9P 板卡做一些基于FPGA的神经网络加速部署,其中就用到了 DDR 进行数据的存储。
板卡具体型号如下图所示 :

资源分布量如下图所示 :

注意

如果板卡型号属于 7系列 Xilinx 板卡型号,那么其 DDR 类型为 DDR3 资源。 如果板卡型号属于 Ultra 系列,那么 DDR 的类型就属于 DDR4 资源。
由于我所使用的板卡为 Ultra 系列,故使用的为 DDR4 类型。

DDR4-MIG核配置

由于本工程是用 DMA 实现 DDR 数据的交互,所以在 bd 中直接通过创建 ddr4 mig 的 ip 核的形式来进行定义。可以看见此处默认使用的是 AXI4 Interface 。

Basic

cloking – 时钟模块配置

Memory Device Interface Speed : 芯片的时钟频率 (一般选择默认) 1200MHz
Reference Input Clock Speed : 参考时钟频率 200Mhz
phy to controller clock frequency ratio: 物理层与控制器时钟频率比,即DDR内部时钟和用户时钟的频率比,此处默认为4:1模式,且只有4:1模式。

Memory Options – 内存操作

Cas latency是“ 内存读写操作前列地址控制器的潜伏时间 ”。
此处的 Cas latency 和 Cas Write latency 为 DDR 内部数据的延迟时间,设定成多少都可以,都不妨碍正常数据的存储和传输。

Controller Options – 控制操作

Configuration : 选择默认的配置 components 。
Memory Part : 内存型号,根据自己板卡的 DDR 型号进行配置 。
slot : 选择默认的 Single 。 (只有该选项)
IO Memory Voltage : IO存储器电压 ,选择默认的 1.2V 。(只有该选项)
Data Width : 64 。
此处的 Data Width 和 DDR 的位宽有关 。本板卡的 DDR 型号对应的每片 DDR 位宽为 16 bit 。一共有 4 片 DDR,故总位宽为 64 bit 。
Data Mask and DBI : 数据掩码 和 DBI : 选择 DM DBI RD 。
Memory Address Map : 内存地址映射 ,选择 ROW COLUMN BANK 。
Ordering : 选择默认 Normal 。

AXI Options – AXI 配置


Data Width : 在 AXI4 中数据的传输位宽,本工程设定为 512 bit 。

Arbitration Scheme : 仲裁方案 选择默认 , RD PRI REG 。

ID Width 和 Address Width 系统自动生成 。

Advanced Clocking – 高级时钟设置


System Clock Option : 系统时钟选项 , 可以选则使用差分时钟 和 选用 无缓冲区 (单端) 。 本工程选用差分时钟 。

Additional Clock Outputs : 附加时钟输出,本工程没有添加额外时钟,故不做选择 。

Advanced Options – 高级选项

此处为设置 Debug 模式的选项区 。
debug signals for controller : 控制器调试信号 , 若希望添加调试信号则选 Enable , 否则选 Disable 。
下面则为 ECC 的配置 。 笔者没有添加调试信号新西,若需要添加则自行选取 。

以上则为 DDR4 Mig 核的有关配置信息 。

Vivado中DDR4的使用相关推荐

  1. Vivado中Debug的用法总结

    目录 方式一:代码中例化ILA IP核 方式二:通过网表标记 方式三:代码中Mark_debug Vivado中提供了多种Debug的操作方式,下面就来总结一下: 方式一:代码中例化ILA IP核 第 ...

  2. 【 FPGA 】Vivado中常用的5个Tcl命令

    本博文内容是学习课程做的笔记,只记录了一些,由于没有基础,且讲的也不是太清楚,只吸收了一部分内容,记录下来备忘. 目录: Objects的基本概念? 首先讲解Vivado中objects的基本概念,然 ...

  3. Vivado中两种RTL原理图的查看方法和区别

    当你完成了一个设计之后,查看原理图,可以了解工具如何将你的代码转换成了电路.方便你铆足了劲死磕一个小小的加法器来优化 200ps 的关键路径. 当你要查看一个开源设计,查看原理图,可以快速掌握项目设计 ...

  4. Vivado中MIG核中DDR的读写控制

    本文使用Vivado 2015.4在Nexys4 DDR(以下简称N4DDR)开发板上实现DDR的读写. · FPGA如果需要对DDR进行读写,则需要一个DDR的控制器.根据官方的文档(UG586,下 ...

  5. Vivado中使用逻辑分析仪ILA

    FPGA综合出来的电路都在芯片内部,基本上是没法用示波器或者逻辑分析仪器去测量信号的,所以xilinx等厂家就发明了内置的逻辑分析仪.在vivado中叫 ILA(Integrated Logic An ...

  6. vivado中设置多线程编译

    VIVADO中一个run编译时支持的线程数如下表:(综合时一般是2线程) Place Route Windows默认 2 2 Linux默认 4 4 Windows开启maxThreads=8 4 4 ...

  7. Vivado中debug用法

    Vivado和ISE相比ChipScope已经大幅改变,很多人都不习惯.在ISE中称为ChipScope而Vivado中就称为in system debug.下面就介绍Vivado中如何使用debug ...

  8. 如何阅读 Vivado中的Timing Report

    <XDC约束技巧>系列中讨论了XDC约束的设置方法.约束思路和一些容易混淆的地方.我们提到过 约束是为了设计服务,写入Vivado中的XDC实际上就是用户设定的目标 ,Vivado对FPG ...

  9. Vivado中IP核生成文件

    正像我之前所说的,较XPS的IP核而言,Vivado IP核在创建.打包.使用等各方面都更加简单便捷,同样的Vivado IP核抛弃了以往复杂的IP核文件组织模式,仅使用一个component.xml ...

最新文章

  1. lua 字符串分割_Lua 分隔字符串,可以设置指定分隔符
  2. pandas全表查询定位某个值所在行列
  3. 中南大学和中山大学计算机专业哪个好,中山大学和中南大学哪个实力更强?一字之差,一起来看看吧!...
  4. 科研必备学士搜索引擎推荐
  5. Java面试——SpringMVC系列总结
  6. 企业如何实际使用 Docker
  7. python 复制列表内容_Python复制列表列表
  8. 判断IP是否为搜索引擎蜘蛛或爬虫
  9. Ubuntu下搭建UDK2018开发环境
  10. 硬盘格式化恢复数据,硬盘格式化如何恢复数据
  11. 五、瞰景Smart3D空三解算
  12. Silvaco仿真入门
  13. windows 区域截屏以及延迟截屏
  14. 燃烧远征怀旧服务器人数小程序,魔兽怀旧服一直更新下去,最终会开到哪个版本?...
  15. QT 简单实现自定义标题栏
  16. vc调用浏览器打开指定网址页面
  17. 实验五 java gui(预习报告)
  18. Hibiscus的脑机接口学习周报(2023/1/16~2023/1/22)
  19. Citric I 模拟赛心得
  20. 电子信息 物联网 微电子等专业毕业设计选题表1-20

热门文章

  1. CMAP HOW TO USE
  2. c语言数组求欧几里得距离,计算scipy-csr矩阵中的欧氏距离
  3. VirtualAPK 报错: Failed to notify project evaluation listener. > SDK location not found. Define locati
  4. “Papi酱”之后,走向平庸的短视频,还有什么机会?
  5. 2011 10.1 GHOST XP SP3 快速装机纯净国庆版 V1.0
  6. 联合应用开发 JAD
  7. mpirun mpd mpiexec
  8. 1688API接口工具
  9. android ui v2ex,V2EX-android
  10. JS小数点保留后2位