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

news2025/4/25 0:10:49

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

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

      • 关于FPGA对 DDR4 (MT40A256M16)的读写控制 2
        • 一、引言
        • 二、DDR4的简介
        • 四、DDR4 SDRAM状态框图

  • 关键词: 调用,Verilog HDL,DDR4,MT40A256M16
一、引言

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

二、DDR4的简介

DDR4 SDRAM 是一种高速的、基于 CMOS 技术的动态随机存取存储器(DRAM)。它内部配置为具有 16 个存储体的 DRAM,这些存储体被组织成 4 个存储体组,每个组包含 4 个存储体。这种设计允许 DDR4 SDRAM 实现高速操作,因为它采用了 8n-预取架构,结合了接口设计,能够在每个时钟周期的 I/O 引脚处传输两个数据字。

512M×8的DDR4,功能框图如下所示(源文档图片就缺失了一块)

在这里插入图片描述256Mx16的DDR4,功能框图如下所示

在这里插入图片描述每片DDR4有四个BG ,每个BG有四个bank,也就是有16个bank,bank可以译为组。
加粗样式

加粗样式#### 三、DDR4的管脚及含义

1、VDDQ: DQ 电源供应,为内存模块的数据线提供电源。
2、VPP: DRAM 激活电源供应,用于某些特定的内存操作。
3、VDD: 电源供应,为内存模块的大部分部分提供电源。
4、VSS: 地线,提供参考的零电位。
5、VSSQ: DQ 地线,为数据线提供参考的零电位。
6、VREFCA: 为控制、命令和地址引脚提供参考电压。
7、RESET_n: 复位信号,低电平有效,用于初始化或重置内存模块。
8、CKE: 时钟使能信号,控制内存模块的时钟输入缓冲器和输出驱动器。
9、CS_n: 芯片选择信号,低电平有效,用于选择特定的内存模块。
10、ACT_n: 激活信号,与 CS_n 结合使用,用于激活内存中的特定行。
11、RAS_n/A16 和 CAS_n/A15: 分别用于内存的行地址和列地址的激活和访问。
12、WE_n/A14: 写使能信号,低电平有效,用于控制数据的写入操作。
13、BA[1:0] 和 BG[1:0]: 分别为bank地址和bank组地址输入,用于选择内存中的特定bank或bank组。
14、A[17:0]: 地址输入引脚,提供行地址和列地址,用于访问内存中的特定位置。
15、DQ[15:0]: 数据输入/输出引脚,用于数据的读写操作。
16、DM_n: 数据掩码信号,用于在写操作期间屏蔽数据。
17、ODT: 片上终止信号,用于控制内存模块的输出终止电阻。
18、PAR: 奇偶校验信号,用于命令和地址的奇偶校验。
19、TEN: 测试模式使能信号,用于进入内存的测试模式。
20、ALERT_n: 警告输出信号,用于指示内存模块内部的特定警告或事件。

四、DDR4 SDRAM状态框图

描述了 DDR4 SDRAM 可能的状态转换以及控制这些转换的命令。这个状态图是一个高层次的概述,注意不涉及多个存储体(bank)、片上终止(on-die termination)的启用或禁用等。
在这里插入图片描述
在 DDR4 SDRAM 的操作中,状态图通常包括以下一些状态和转换:
1、Bank active (存储体激活): 存储体已被激活,准备进行读写操作。
2、Reading (读取): 正在进行数据读取操作。
3、Writing (写入): 正在进行数据写入操作。
4、Activating (激活): 存储体正在被激活,准备访问。
5、Refreshing (刷新): 存储体正在执行刷新操作,以保持数据的完整性。
6、Self refresh (自刷新): 内存模块正在自刷新状态,以节省功耗。
7、Idle (空闲): 内存模块没有进行任何操作,等待命令。
8、Active powerdown (活动功耗降低): 存储体在活动状态下进入功耗降低模式。
9、Precharge powerdown (预充电功耗降低): 存储体在预充电状态下进入功耗降低模式。
10、ZQ calibration (ZQ 校准): 内存模块正在进行 ZQ 校准,以确保信号完整性。

状态转换由各种命令触发,例如:
1、ACT: 激活存储体。
2、READ: 从存储体读取数据。
3、WRITE: 向存储体写入数据。
4、PRE: 预充电,关闭当前激活的存储体。
5、PREA: 预充电所有存储体。
6、REF: 刷新存储体。
7、SRE: 进入自刷新状态。
8、SRX: 退出自刷新状态。
9、ZQCL: 执行 ZQ 校准。

这些状态和命令是 DDR4 SDRAM 正常操作的一部分,确保内存模块可以高效、可靠地执行数据存储和检索任务。状态图帮助设计者和工程师理解内存模块的行为,并在设计系统时考虑到这些行为。

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

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

相关文章

Java多线程学习笔记

文章目录 1. 引言1.1 多线程的重要性 2. 什么是多线程2.1 线程的定义和基本概念2.2 线程与进程的区别 3. 创建线程的方式3.1 继承Thread类3.2 实现Runnable接口,重写run方法3.3 实现Runnable接口,重写call方法3.4 匿名内部类创建Thread子类对象3.5 使用匿…

ROS中Twist消息类型

Twist消息类型在Robot Operating System (ROS)中是一个常见的数据结构,主要用于描述物体的线性速度和角速度。这种消息类型在ROS的geometry_msgs包中定义,常用于机器人运动控制,尤其是当需要向机器人发布速度指令时。 Twist消息由两个Vector…

21.1 文件-文件的重要性、ioutil包

1. 文件的重要性 文件的本质就是硬盘中的数据,包括各种程序、文档、多媒体甚至系统配置。 各种类UNIX操作系统的一个重要特征就是将一切皆视为文件。 可以象访问文件一样访问键盘、打印机等硬件设备可以象访问文件一样访问管道、套接字等内核资源 各种类UNIX操作…

网络基础OSI国际互联

这里所指的网络是计算机网络,由许许多多的不同的网络设备以及电子设备构建的一个ip的网络,这个就是工作对象 网络是随着计算机的出现,军事沟通 出现的问题:物理层设备,总线,共享设备,会产生冲突…

用 C 语言实现求补码的运算

缘起 前两天程序中需要求一堆参数的补码,一时犯懒,想从CSDN上搜一个勉强能用的代码借鉴一下,结果几乎没有搜到一个靠谱的!这种求补码的操作,用脚趾头想想也应该知道要用C或者C的位运算来实现呀。结果搜到的一些实现方…

MyBatis-Plus整合达梦数据库

文章目录 1. 环境准备2. 创建Spring Boot项目3. 引入依赖4. 配置数据源5. 配置MyBatis-Plus6. 创建实体类7. 创建Mapper接口8. 创建Service类9. 创建Controller类10. 创建Mapper XML文件11. 测试12. 进一步优化12.1 配置分页插件12.2 配置乐观锁插件13. 总结🎉欢迎来到Java学…

vue+elementui+springboot图片上传

1、前端代码 <template><div><el-uploadclass"avatar-uploader"action"http://localhost:8081/ch06/demo/uploadAvatar":show-file-list"false":on-success"handleAvatarSuccess":before-upload"beforeAvatarUpl…

SIGMOD 2024 | 时空数据(Spatial-Temporal)和时间序列(Time Series)论文总结

SIGMOD2024于6月9号-6月14号正在智利圣地亚戈举行&#xff08;Santiago Chile&#xff09; 本文总结了SIGMOD 2024有关时间序列&#xff08;time series&#xff09;,包括时序数据库&#xff0c;查询优化等内容。以及时空数据&#xff08;spatial-temporal data&#xff09;的…

【Vue】自学笔记(四)

上一篇&#xff1a;Vue笔记&#xff08;三&#xff09;-CSDN博客 1.VueCli自定义搭建项目 先确保安装了全局工具VueCli 如果没有&#xff0c;则先运行命令 npm i vue/cli -g 选择最后一个自定义搭建项目 选择需要自动搭建的功能 这里我需要router和css预处理器就空格勾选上&…

干货!电脑如何录屏?6款win10录屏大师软件深度测评

电脑如何录屏&#xff1f;在2024年&#xff0c;截图或屏幕录制可以说是一种无价的工具。它是捕捉重要信息、与朋友和同事分享说明&#xff0c;或者只是存储您最喜爱的游戏和应用程序中的记忆的好方法。在 Windows 上录制屏幕非常简单。在本篇文章中&#xff0c;我们将讨论在win…

Node入门以及express创建项目

前言 记录学习NodeJS 一、NodeJS是什么&#xff1f; Node.js 是一个开源和跨平台的 JavaScript 运行时环境 二、下载NodeJs 1.下载地址(一直点击next即可&#xff0c;记得修改安装地址) https://nodejs.p2hp.com/download/ 2.查看是否安装成功&#xff0c;打开命令行 nod…

InfoComm 2024 直击:千视新品P3和KiloLink技术闪耀亮相

InfoComm 2024 直击&#xff1a;千视新品P3和KiloLink技术闪耀亮相&#xff0c;现场亮点不断 北京时间2024年6月13日&#xff0c;UTC-7时间6月12日&#xff0c;美国视听显示与系统集成展览会InfoComm 2024在美国拉斯维加斯正式开幕。作为全美规模最大、最具影响力的展会&#…

电脑数字键被锁住不能输入数字

情况: 反复点击数字键盘的NumLock,看它的灯是否能正常启动 1.如果NumLock灯可以正常的打开和关闭,并且无法输入内容 1.1打开控制面板 1.2 进入轻松使用中选择更改键盘的工作方式 1.3找到并点击设置鼠标键 1.4 赵到NumLock设置为关闭,然后确定即可

辽宁省食品安全管理人员精选模拟试题

新增(食品安全法实施条例)相关真题16道&#xff0c;具体如下: 1.食品生产企业可以制定低于食品安全标准或者地方标准要求的企业标准。(X) 2.食品生产者应当建立食品安全追溯体系&#xff0c;保证食品可追溯。(√) 3.食品生产企业的主要负责人对本企业的食品安全工作全面负责&am…

Java注解Annotation机制说明和基础使用(为什么Annotation直接促进了框架的繁荣发展?)

一、注解解决的问题【可忽略】 软件开发过程中&#xff0c;如何配置一直是一个重要的问题&#xff0c;对于一个框架&#xff0c;如果你不为它提供初始结构&#xff0c;它就无法理解你要做什么&#xff0c;自然无法工作。 1.问题&#xff1a;紧密贴合的代码和配置 在很久之前…

One能聊天接入百度千帆AppBuilder

One能聊天介绍:基于ChatGPT实现的微信小程序,适配H5和WEB端。包含前后端,支持打字效果输出流式输出,支持AI聊天次数限制,支持分享增加次数等功能One能聊天开源地址:https://github.com/oldinaction/ChatGPT-MPOne能聊天演示环境:可关注【阿壹族】公众号,并回复【One能聊…

spring框架(SSM)

Spring Framework系统架构 Spring框架是一个开源的企业级Java应用程序框架&#xff0c;它为开发Java应用程序提供了一个全方位的解决方案。Spring的核心优势在于它的分层架构&#xff0c;这使得开发者可以灵活选择使用哪些模块而无需引入不需要的依赖。下面是Spring框架的一些关…

Cisco Packet Tracer实验(三)

续实验二 问题一&#xff1a;使用二层交换机连接的网络需要配置网关吗&#xff1f;为什么&#xff1f; 二层交换机作为网络设备中的一种&#xff0c;主要用于在局域网&#xff08;LAN&#xff09;内部进行数据包的转发。它工作在OSI模型的第二层&#xff08;数据链路层&#xf…

08_基于GAN实现人脸图像超分辨率重建实战_超分辨基础理论

1. 超分辨的概念与应用 我们常说的图像分辨率指的是图像长边像素数与图像短边像素数的乘积,比如iPhoneX手机拍摄照片的分辨率为 4032px3024px,为1200万像素。 显然,越高的分辨率能获得更清晰的成像。与之同时,分辨率越高也意味着更大的存储空间,对于空间非常有限的移动设…

Embedding 模型的选择和微调

构建一个检索增强生成 (Retrieval-Augmented Generation, RAG) 应用的概念验证过程相对简单&#xff0c;但要将其推广到生产环境中则会面临多方面的挑战。 『RAG 高效应用指南』系列将就如何提高 RAG 系统性能进行深入探讨&#xff0c;提供一系列具体的方法和建议。同时读者也需…