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

关于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.rhkb.cn/news/348846.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机msvcp100.dll丢失怎么办,分享5种亲测有效的解决方法

电脑已经成为我们生活中不可或缺的一部分。然而,在使用电脑的过程中,我们常常会遇到一些问题,其中之一就是电脑提示缺失msvcp100.dll。这个问题可能会让我们感到困惑和烦恼,但是只要我们了解其原因并采取相应的解决方法&#xff0…

汇聚荣科技有限公司实力强吗?

汇聚荣科技有限公司实力强吗?在当今快速发展的科技行业中,公司的实力往往决定了其市场竞争力和发展前景。对于汇聚荣科技有限公司而言,其是否具备强大的实力,不仅关系到自身的发展,也影响着投资者和合作伙伴的选择。因此&#xf…

A股上市公司MSCI ESG评级面板数据(2017-2023)

数据简介:MSCI ESG(Environmental, Social, and Governance)评级是由 MSCI Inc. 提供的一项服务,旨在评估公司在环境、社会和治理方面的表现。MSCI 是一家全球领先的投资研究和指数提供商,其 ESG 评级被广泛用于评估企…

ArrayList浅析

目录 一、ArrayList源码1.1 迭代器1.1.1 Itr源码浅析1.1.2 ListItr源码浅析 1.2 常用方法1.3 System.arraycopy1.4 ArrayList 的创建方式 二、引申问题2.1 ArrayList的大小是如何增加的?2.2 什么情况下你会使用ArrayList2.3 在索引中ArrayList的增加或者删除某个对象…

编译原理:语法分析

目录 引言上下文无关文法 CFG: Context-Free Grammar定义推导方法最左推导和最右推导 分析树分析树->抽象语法树常见的上下文无关文法文法设计二义性文法扩展巴科斯范式:EBNF extended Backus Normal Form 文法和语言分类相关术语直接推导推导*推导句型、句子、语…

Kettle 数据抽取工具使用教程:从入门到实战

一、简介 Kettle 是 Pentaho Data Integration (PDI) 的一个组成部分,是一个开源的数据集成工具。它被广泛用于数据的抽取、转换和加载 (ETL) 过程。Kettle 提供了一个易于使用的图形界面,可以轻松设计和执行 ETL 流程。 github 源码地址:ht…

机器学习第四十三周周报 aGNN

文章目录 week43 aGNN摘要Abstract1. 题目2. Abstract3. 网络架构3.1 aGNN3.1.1 输入与输出模块3.1.2 嵌入层3.1.3编码器解码器模块:带有多头注意力层的GCN 3.2 可释性模型:SHAP 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1 实验区域以及场…

Golang免杀-分离式加载器(传参)AES加密

目录 enc.go 生成: dec.go --执行dec.go...--上线 cs生成个c语言的shellcode. enc.go go run .\enc.go shellcode 生成: --key为公钥. --code为AES加密后的数据, ----此脚本每次运行key和code都会变化. package mainimport ("bytes""crypto/aes"&…

Linux - 复盘一次句柄数引发的故障

文章目录 Pre(内核、用户、进程)句柄数设置问题 shell修复 Pre Linux - 深入理解/proc虚拟文件系统:从基础到高级 (内核、用户、进程)句柄数设置 在Linux系统中,进程打开的最大句柄数可以通过多种方式配置…

立创·天空星开发板-GD32F407VE-Timer

本文以 立创天空星开发板-GD32F407VET6-青春版 作为学习的板子,记录学习笔记。 立创天空星开发板-GD32F407VE-Timer 定时器基本定时器示例 定时器 定时器是嵌入式系统中常用的一种外设,它可以产生一定的时间间隔、延时、定时等功能,广泛应用于…

如何自动生成数据库的样本数据(以MySQL和SQLynx为例)

目录 1 功能概述 2 主要特点 3 使用场景 4 使用示例 5 结论 SQLynx 是一款领先的 SQL 集成开发环境(IDE),其强大的功能得到了全球用户的广泛认可。SQLynx 不仅在数据库管理和 SQL 查询方面表现出色,还提供了一项特别实用的功能…

VMware 三种网络模式

目录 一、网卡、路由器、交换机 二、虚拟网络编辑器 三、网络模式 1.桥接模式 通信方式 特点 配置 连通情况 使用场景 2.NAT模式 通信方式 特点 配置 连通情况 使用场景 3.仅主机 通信方式 特点 配置 连通情况 使用场景 一、网卡、路由器、交换机 网卡(Ne…

visio添加表格

插入Excel表格: 打开Microsoft Visio,新建一个空白画布。点击菜单栏中的“插入”。在插入中点击“图表”。在弹出的插入对象设置页面中选择“Microsoft Excel工作表”。点击确定按钮,然后在表格中输入内容。将鼠标点击到画布的空白处&#x…

OpenCV计算形状之间的相似度ShapeContextDistanceExtractor类的使用

操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:Visual Studio Code编程语言:C11 1.功能描述 ShapeContextDistanceExtractor是OpenCV库中的一个类,主要用于计算形状之间的相似度或距离。它是基于形状上下文(Shape Co…

OpenStack云平台管理

OpenStack云平台管理 文章目录 OpenStack云平台管理资源列表基础环境一、部署Openstack二、创建网络和路由2.1、删除默认的网络2.2、创建网络和路由2.2.1、创建外部网络2.2.2、创建内部网络 2.3、创建路由 三、创建实例3.1、配置实例3.2、配置NAT转换 四、绑定浮动IP地址五、添…

C# WinForm —— 34 ToolStrip 工具栏 介绍

1. 简介 工具栏 ToolStrip,一般紧贴在菜单栏下面 2. 属性 属性解释(Name)控件ID,在代码里引用的时候会用到Enabled控件是否启用Dock定义要绑定到容器的控件边框,默认是topAnchor定义某个控件绑定到的容器的边缘。当控件锚定到某个边缘时&a…

分类模型:MATLAB判别分析

1. 判别分析简介 判别分析(Discriminant Analysis) 是一种统计方法,用于在已知分类的样本中构建分类器,并根据特征变量对未知类别的样本进行分类。常见的判别分析方法包括线性判别分析(Linear Discriminant Analysis, …

韩顺平0基础学java——第22天

p441-459 异常exception 选中代码块,快捷键ctraltt6,即trt-catch 如果进行了异常处理,那么即使出现了异常,但是会继续执行 程序过程中发生的异常事件分为两大类: 异常体系图※ 常见的运行异常:类型转换…

EFuse概念解析

EFuse概念解析 EFUSE Key Parameter iNOM 代表的是,Efuse运行时候的电流 tNOM 代表的是,Efuse电流与时间的曲线 INOM通过VOC_Thrs设置 VOC_THRS VOC_THRS/Rsense Vsense采样小于VOC_THRS时候不动作 Vsense采样大于VOC_THRS时候根据Efuse_I2T曲线来…

平时的财经日历会影响黄金现货走势吗?

现货黄金的价格走势会受到诸多因素的影响,比如在财经日历上,美国的非农就业报告、GDP、利率公告、通胀数据等新闻和经济公告,都可能会对市场产生重大影响,尤其是当这些数据与市场预期不符的时候。所以比起单纯地进行技术分析和图表…