关于FPGA对 DDR4 (MT40A256M16)的读写控制 I

news2025/1/11 15:00:22

关于FPGA对 DDR4 (MT40A256M16)的读写控制 I

语言 :Verilg HDL
EDA工具:ISE、Vivado

      • 关于FPGA对 DDR4 (MT40A256M16)的读写控制 I
        • 一、引言
        • 二、DDR4的特性(MT40A256M16)
          • (1) 电压和电源管理
          • (2)内部参考电压生成
          • (3) 命令/地址延迟(CAL)
          • (4)写入均衡 (Write Leveling)
          • (5)自刷新模式 (Self Refresh Mode)
          • (6)命令/地址奇偶校验 (Command/Address Parity)
          • (7)数据总线写入循环冗余校验 (Databus Write Cyclic Redundancy Check, CRC)
          • (8)低功耗自刷新 (Low-Power Auto Self Refresh, LPASR)
          • (9)温度控制刷新 (Temperature-Controlled Refresh, TCR):
          • (9)数据总线反转 (Data Bus Inversion, DBI)
        • 三、DDD4关键时序参数和地址

  • 关键词: 调用,Verilog HDL,ifdef 和 endif ,generate语句
一、引言

博主将会写一个系列的文章 关于FPGA对DDR4(MT40A256M16)的有效读写控制,最大化FPGA对DDR4的读写控制。首先将对DDR4的技术文档进行研读,注重DDR4的读写操作、刷新时间等。

二、DDR4的特性(MT40A256M16)

DDR4 SDRAM即双倍数据速率第四代同步动态随机存取存储器,比DDR3强在速率上,可以跑到2000M到3000M MT/s(百万次每秒)的速度,具体因芯片型号为准。

(1) 电压和电源管理

VDD = VDDQ = 1.2V ±60mV
VPP = 2.5V, –125mV/+250mV

(2)内部参考电压生成
片上、内部、可调节的VREFDQ生成
(3) 命令/地址延迟(CAL)

CAL是DDR4内存中的一个特性,用于减少内存控制器在发送读或写命令到内存时的等待时间。通过使用CAL,内存控制器可以在内存接收到命令和地址信息之前,提前发送这些信息,从而减少内存操作的整体延迟。
CAL功能可以被配置为不同的延迟级别,这通常以时钟周期的数量来表示。例如,如果CAL被设置为1,则表示内存控制器可以在命令有效前一个时钟周期发送命令和地址信息。这种预加载机制有助于提高内存的效率和性能,尤其是在高频率操作时。
CAL功能可以被启用或禁用,并且其值(即延迟的时钟周期数)需要根据特定的内存操作和内存控制器的要求进行编程到模式寄存器中。

(4)写入均衡 (Write Leveling)

一个补偿信号完整性问题的特性,允许内存控制器调整数据存取时序,以确保数据在内存中正确写入。

(5)自刷新模式 (Self Refresh Mode)

允许内存在不活跃时自动进入低功耗状态,同时保持数据的完整性。

(6)命令/地址奇偶校验 (Command/Address Parity)

提供了一种错误检测机制,确保命令和地址信息的准确性

(7)数据总线写入循环冗余校验 (Databus Write Cyclic Redundancy Check, CRC)

增加了数据写入时的错误检测和校正能力,提高了数据的完整性

(8)低功耗自刷新 (Low-Power Auto Self Refresh, LPASR)

根据系统需求和温度条件,自动调整自刷新频率以降低功耗。

(9)温度控制刷新 (Temperature-Controlled Refresh, TCR):

根据环境温度调整刷新周期,以优化性能和可靠性。。

(9)数据总线反转 (Data Bus Inversion, DBI)

一种提高信号完整性的特性,允许内存控制器反转数据总线的极性。

三、DDD4关键时序参数和地址

(1)不同DDR4速度等级 代表不同的速率, 关键时序参数如下所示
在这里插入图片描述

tRCD (ns): 行地址到列地址的延迟时间,即从发出行选择命令到列地址稳定的延迟,以纳秒为单位。

tRP (ns): 行预充电时间,即从发出预充电命令到行可以再次被激活的时间。

CL (ns): CAS延迟,这是从发出读或写命令到数据可以被访问的时间
DDR4-2666速度等级的内存,其tRCD、tRP和CL的值为13.50纳秒。

这些参数对于内存控制器的设计和内存系统的性能至关重要。内存控制器必须根据这些参数来设计其操作时序,以确保数据可以正确地在内存和处理器之间传输,同时避免数据损坏或系统不稳定。
(2) 地址在这里插入图片描述

Bank Groups: DDR4 SDRAM被组织成多个“bank groups” 。每个bank group包含一定数量的“banks”

Bank Addressing: 每个bank group内部的banks通过“bank address”( BA[1:0])来寻址

Row and Column Addressing: 内存阵列中的行和列通过行地址和列地址来选择。行地址由A[15:0](或更少,取决于配置)提供,而列地址由A[9:0]提供。

Page Size: 每个bank的页面大小是固定的,并且根据组织方式(ORG)和列地址位(COLBITS)计算得出。页面大小影响着内存的突发传输能力

例如:512 Meg x 8配置:4个bank groups,每组4个banks,行地址为32K(A[14:0]),列地址为1K(A[9:0]),页面大小为1KB。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1820281.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue-echarts与echarts图标拐点点击及其图表任意点击方法

要求&#xff1a;两个图表分别点击获取X轴时间点 一、vue-echarts&#xff1a;点击事件&#xff08;拐点点击 图表任意点击&#xff09; 效果图&#xff1a; 图一&#xff1a; 图二&#xff1a; <v-chart autoresize ref"oneMyChart" class"chart"…

破布叶(Microcos paniculata)单倍型染色体级别基因组-文献精读22

Haplotype-resolved chromosomal-level genome assembly of Buzhaye (Microcos paniculata) 破布叶、布渣叶&#xff08;Microcos paniculata&#xff09;单倍型解析染色体级别基因组组装 摘要 布渣叶&#xff08;Microcos paniculata&#xff09;是一种传统上用作民间药物和…

如何用PlayCanvas打造一个令人惊叹的3D模型在线展示

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 使用 PlayCanvas 渲染 3D 模型 应用场景介绍 PlayCanvas 是一款用于创建交互式 3D 内容的跨平台引擎。它广泛应用于游戏开发、建筑可视化和虚拟现实体验等领域。 代码基本功能介绍 本代码演示了如何使用 Pl…

一文解答 | 代码签名证书怎么选

在当代软件开发中&#xff0c;代码签名证书对于确保软件的完整性、安全性及其可信度至关重要。它通过数字签名验证代码的来源和未被篡改的状态&#xff0c;向最终用户确保软件的可靠性。选择合适的代码签名证书既有利于保护软件开发商的声誉&#xff0c;也有助于建立用户对软件…

鸿蒙轻内核调测-内存调测-内存泄漏检测

1、基础概念 内存泄漏检测机制作为内核的可选功能&#xff0c;用于辅助定位动态内存泄漏问题。开启该功能&#xff0c;动态内存机制会自动记录申请内存时的函数调用关系&#xff08;下文简称LR&#xff09;。如果出现泄漏&#xff0c;就可以利用这些记录的信息&#xff0c;找到…

高温车间降温通风方案

高温车间降温&#xff0c;解决厂房高温闷热必须做到以下两点才能实现&#xff0c;否则即使安装中央空调也没用&#xff1a;一、解决厂房内部热量 通过通排风负压风机、环保空调、工业大风扇等常用排热降温设备&#xff0c;降低室内温度&#xff1b;二、屏蔽外部太阳热源 …

日本2024年最受欢迎的转职行业是IT 通信

2024年有关机构针对超1000名人力资源专业人士进行了“推荐转职行业”的调查。结果显示&#xff0c;日本目前最受欢迎的转职行业是 1、“IT/通信行业”&#xff08;45.9%&#xff09;&#xff0c; 2、其次是“互联网/广告/游戏”&#xff08;31.9%&#xff09;&#xff0c; 3、“…

【log4】log4cplus:使用详解(一)

1、源码下载 源码下载地址:https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/ 最新稳定版本为2.1.1(2023-11-17) github中有最新的源码:https://github.com/log4cplus/log4cplus 2、源码编译 1)解压后,进入源码目录中,执行配置命令: ./confi…

智能制造前沿:ARMxy工控机在机器人控制中

机器人控制系统正逐步成为现代制造业的核心引擎。在这个过程中&#xff0c;ARMxy工业计算机以其独特的优势&#xff0c;成为了驱动这一变革的关键力量。本文将以自动化装配线机器人为例&#xff0c;探讨ARMxy如何通过其低功耗、高性能特性&#xff0c;以及高度灵活性的设计&…

【代码随想录算法训练营第三十五天】 | 1005.K次取反后最大化的数组和 134.加油站 135.分发糖果

贪心章节的题目&#xff0c;做不出来看题解的时候&#xff0c;千万别有 “为什么这都没想到” 的感觉&#xff0c;想不出来是正常的&#xff0c;转变心态 “妙啊&#xff0c;又学到了新的思路” &#xff0c;这样能避免消极的心态对做题效率的影响。 134. 加油站 按卡哥的思路…

【调试笔记-20240613-Linux-在 git 多分支间合并】

调试笔记-系列文章目录 调试笔记-20240613-Linux-在 git 多分支间合并 文章目录 调试笔记-系列文章目录调试笔记-20240613-Linux-在 git 多分支间合并 前言一、调试环境操作系统&#xff1a;Ubuntu 22.04.4 LTS调试环境调试目标 二、调试步骤在远端 git 服务器建立多个分支在本…

车间降温设备怎么选?有哪些注意事项

在选择车间降温设备时&#xff0c;需要考虑多个因素以确保选择的设备能够满足降温需求&#xff0c;同时考虑成本、效率和维护的便捷性。以下是一些关键的注意事项和选择标准&#xff1a; 一、选择标准 厂房大小与结构 厂房的面积、高度和结构将影响空气流通和降温效果。例如&…

揭秘软件测试秘籍:测试用例设计方法大揭秘

文章目录 引言一、等价类划分1.1 定义1.2 步骤1.3 等价类划分优点和缺点 二、边界值分析法2.1 定义2.2 步骤2.3 边界值分析法的优点和缺点 三、判定表法3.1 定义3.2 步骤3.3 判定表组成不分3.4 判定表的优点和缺点 四、正交实验法4.1 定义4.2 步骤4.3 正交实验法的优点和缺点 五…

论文研读|以真实图像为参考依据的AIGC检测

前言&#xff1a;这篇文章介绍几篇AIGC检测的相关工作&#xff0c;其中前几篇文章是以真实图像的特征作为标准进行检测&#xff0c;最后一篇文章就当拓展一下知识边界吧&#xff5e; 目录 Detecting Generated Images by Real Images Only (202311 arXiv)Let Real Images be as…

WebGL渲染引擎优化方向 -- 内存管理的优化

作者&#xff1a;caven chen 对此系列感兴趣还可以看前文&#xff1a; WebGL渲染引擎优化方向 -- 加载性能优化 WebGL渲染引擎优化方向——渲染帧率的优化 前言 WebGL 是一种强大的图形渲染技术&#xff0c;可以在浏览器中快速渲染复杂的 3D 场景。但是&#xff0c;由于 W…

MySQL与PostgreSQL关键对比三(索引类型)

目录 索引类型 B-tree 索引 Hash 索引 Full-text 索引 GiST 索引 GIN 索引 BRIN 索引 索引创建示例 MySQL PostgreSQL 结论 以下SQL语句的执行如果需要开发工具支持&#xff0c;可以尝试使用SQLynx或Navicat来执行。 MySQL和PostgreSQL在索引方面有许多相似之处&am…

【kubernetes】k8s中包管理工具-----Helm 超详细解读

目录 一、Helm 1.1什么是 Helm 1.2Helm 有三个重要的概念 1.2.1Chart 1.2.2Repository&#xff08;仓库&#xff09; 1.2.3Release 1.3Helm3 与 Helm2 的区别 二、Helm 部署 2.1安装 helm 2.2命令补全 2.3使用 helm 安装 Chart 2.3.1添加常用的 chart 仓库 2.3.2…

vue 和 js写屏幕自适应

实现屏幕自适应的方式有很多种&#xff0c;可以通过插件本身提供的方法&#xff0c;可以通过flex布局等&#xff0c;今天我们来写写通过js实现屏幕自适应。 以下是在vue中实现的屏幕自适应 首先在data中定义一下屏幕的默认大小和缩放比例 然后在mounted中获取窗口的内置宽高&a…

使用 Vue 和 Ant Design 实现抽屉效果的模块折叠功能

功能描述&#xff1a; 有两个模块&#xff0c;点击上面模块的收起按钮时&#xff0c;上面的模块可以折叠&#xff0c;下面的模块随之扩展 代码实现&#xff1a; 我们在 Vue 组件中定义两个模块的布局和状态管理&#xff1a; const scrollTableY ref(560); // 表格初始高度…

Excel中如何用公式列出包含特定文本的所有单元格?

如下图&#xff0c;希望用公式得到“以分布式开始”的G列数据。 一、高版本公式 FILTER(E2:E9,LEFT(E2:E9,3)"分布式") 用LEFT函数提取数据的左侧3个字符&#xff0c;是“分布式”的就是以它开始的数据了&#xff0c;用FILTER函数筛选出来即可。 二、低版本公式 如…