DDR4原理、硬件设计
目录
DDR4的工作原理以及寻址方式
DDR4是什么?
DDR4硬件详细设计
DDR的硬件设计步骤
DDR内存颗粒选型
DDR的硬件电路搭建
特性与电气参数
DDR4有哪些特性?
DDR4有哪些关键信号?
除了眼图,DDR4还看那些电气参数?
DDR4的工作原理以及寻址方式
DDR4是什么?
DDR4全称,DDR4-DRAM,与其他DDRDRAM一样,是当前电子系统架构中使用最为广泛的的RAM存储器。
这句话可以分解出3个关键字:存储器、DRAM、DDR4。
酸奶放哪了,你得知道。如果不知道放哪了,酸奶就跟丢了一样。这个过程,映射到电子领域中,称为“寻址”。
存储酸奶、取出酸奶。你需要先走到某冰箱跟前,拉开某层抽屉,在具体某个位置,拿出酸奶,这个过程,映射到电子领域中,称为“读/写”
酸奶放到那个位置,在需要的时候,得还能吃。这个过程,映射到电子领域中,称为“数据保存”。
所以,概括一下,存储器就是“可以寻址”、“能读写数据”、“能保存数据”的一种电子器件。
我们再说说DRAM
DRAM全称Dynamic Random Access Memory,翻译过来为动态随机读取存储器。所谓随机,指的是“想存哪个位置,就存哪个位置”,听起来很自由,很灵活。所谓动态,指的是保存数据过程中,需要不断的补充电量,听起来很耗电,很费劲,为啥我们还要用DRAM结构?因为在电路结构上,DRAM结构比SRAM简单很多。
最后说说DDR
我们聊到DDR,大家都会联想到存储器,但是实际上DDR并不指代存储器,DDR实际是一种技术,全称Double Data Rate,翻译过来为双倍速率,只是这都技术广泛使用在DRAM上,所以人们习惯将DDR代指为存储器,所以宝宝们在后续的硬件设计过程中,在其他总线上看到DDR,请不要惊慌,因为你看到的DDR可能不一定和存储有关。那双倍速率指的是什么?我们可以简要说下,初代存储器在读写数据时,每次都在时钟信号从低变高或从高变低时,采样数据,在1个时钟周期,只能采样1个数。后续聪明的人类在时钟从低到高时,采样一个数据,时钟从高到低时,再采样1个数据,一个时钟周期,可以采样2个数据。所以读写速度比以前快了2倍。这种技术手段,就指的是DDR。
所以,概括下:DDR4-DRAM是第四代支持双数据读取,支持随机位置存取的静态存储器.
DDR4-DRAM的工作原理
其引脚按照功能可以分为7类:前3类为电源、地、配置。
后4类为:控制信号、时钟信号、地址信号、数据信号
电源、地、配置信号的功能很简单,在此不赘述。控制信号主要是用来完成DDR4与DDR4 Controller之间的状态切换。
DDR4中最重要的信号就是地址信号和数据信号。
如上DDR4芯片有20根地址线(17根Address、2根BA、1根BG),16根数据线。在搞清楚这些信号线的作用以及地址信号为何还有复用功能之前,我们先抛出1个问题。假如我们用20根地址线,16根数据线,设计一款DDR,我们能设计出的DDR寻址容量有多大?
按照课本中学到的最简单的单线8421编码寻址的方式,我们知道20根地址线(连读写控制信号都不考虑了)的寻址空间为2^20,16根数据线可以1次传输16位数据,我们能很容易计算出,如果按照单线8421编码寻址方式,DDR芯片的最大存储容量为:
Size(max)=(2^20)x16=1048576x16=16777216bit=2097152B=2048KB=2MB。
但是事实上,该DDR最大容量可以做到1GB,比传统的单线编码寻址容量大了整整512倍,它是如何做到的呢?
答案很简单,分时复用。
我们把DDR存储空间可以设计成如下样式:
首先将存储空间分成两个大块,分别为BANK GROUP0和BANK GROUP1,再用1根地址线(还剩19根),命名为BG,进行编码。
若BG拉高选择BANK GROUP0,拉低选择BANK GROUP1。(当然你也可以划分成4个大块,用2根线进行编码)
再将1个BANK GROUP区域分成4个BANK小区域,分别命名为BANK0、BANK1、BANK2、BANK3。然后我们挑出2根地址线(还剩余17根)命名为BA0和BA1,为4个小BANK进行地址编码。
此时,我们将DDR内存颗粒划分成了2个BANK GROUP,每个BANK GROUP又分成了4个BANK,共8个BANK区域,分配了3根地址线,分别命名为BG0,BA0,BA1。然后我们还剩余17根信号线,每个BANK又该怎么设计呢?这时候,就要用到分时复用的设计理念了。
剩下的17根线,第一次用来表示行地址,第二次用来表示列地址。
原本传输1次地址,就传输1次数据,寻址范围最多16KB(不要读写信号,(2^17/1024)/8=16KB)。
现在修改为传输2次地址,在传输1次数据,寻址范围最多被扩展为2GB(2^17 * 2 ^17/2 ^30)/8=2GB)。虽然数据传输速度降低了一半,但是存储空间被扩展了很多倍。这就是改善空间。
所以,剩下的17根地址线,留1根用来表示传输地址是否为行地址。
在第1次传输时,行地址选择使能,剩下16根地址线,可以表示行地址范围,可以轻松算出行地址范围为2^16=65536个=64K个。
**在第2次传输时,行地址选择禁用,剩下16根地址线,留10根列地址线表示列地址范围,可以轻松表示的列地址范围为2^10=1024个=1K个,**剩下6根用来表示读写状态/刷新状态/行使能、等等复用功能。
这样,我们可以把1个BANK划分成67108864个=64M个地址编号。如下所示:
在每个地址空间中,我们16根数据线全部用起来,一次存储16位数据
所以1个BANK可以分成65536行,每行1024列,每个存储单元16bit。
每行可以存储1024x16bit=2048B=2KB。每行的存储的容量,称为Page Size。
单个BANK共65536行,所以每个BANK存储容量为65536x2KB=128MB。
单个BANK GROUP共4个BANK,每个BANK GROUP存储容量为512MB。
单个DDR4芯片有2个BANK GROUP,故单个DDR4芯片的存储容量为1024MB=1GB。
至此,20根地址线和16根数据线全部分配完成,我们用正向设计的思维方式,为大家讲解了DDR4的存储原理以及接口定义和寻址方式。
DDR4硬件详细设计
DDR的硬件设计步骤
DDR内存颗粒选型
It has 16/32 bits DDR3L/4 up to 2400 MT/s, parallel NAND, serial NOR interfaces.
所以我们了解到了:
结合产品需求:容量8Gb,那我们基本可以锁定DDR的详细规格了。
DDR的硬件电路搭建
设计逻辑器件电路,就要有逻辑思维,最简单的逻辑思维,就是分组。
所以,先了解DDR控制器的硬件接口。控制器硬件PIN脚可以分为电源组,配置组,控制组,时钟组,地址组,数据组。
电源组和配置组接口如下,供电,接电阻就可以完成,1.2V的供电,尽可能要平稳,此处忽略。ZQ电阻是用来校准ODT阻抗的,我们后面会讲到。
特性与电气参数
DDR4有哪些特性?
如上就是DDR的技术发展规律,也是很多总线的发展规律。掌握规律,我们再来看特性,DDR4电平1.2V,DQS信号走差分,频率在1600Mbps~3200Mbps.
DDR4有哪些关键信号?
DDR4都有哪些关键信号呢?一张图就可以看明白。有CK,ADDR,DQS,DQ,DQM信号,在电路之外,还能看到使能,复位,ODT,ZQ。
那么这些信号都有什么作用?我们接下来做简要介绍。
由于数据传输才是DDR的主要业务,所以在DDR进行数据传输时,需要增加额外的措施来保证数据传输,所以DDR4增加了新的角色,DQS,DQ,DM信号。
除了眼图,DDR4还看那些电气参数?
DDR4设计是否设计OK,就需要看DDR4的量测参数是否满足JEDEC规范。那规范中都定义了哪些电气参数呢?每个电气参数又代表了什么意义?接下来我们做简要介绍。
- 过冲与下冲。
信号如果在传输过程中阻抗不连续,就会出现反射,反射表现在示波器波形上,就是信号上冲和下冲,在DDR设计过程中,我们关注的不是信号在某个时间点的过冲幅值,而是过冲在时间维度的积分。关注的是一个过程,而不是一个点。
对于每个信号,协议规范都会在这4个维度上对信号完整性进行定义规范。
- 信号的高电平和低电平。
在高速信号传输中,信号能否达到协议规定的高电平最低门限和低电平最高门限,也直接决定了产品的稳定性。在DDR规范中,单端地址和控制命令、单端数据和数据掩码信号的AC和DC输入电平,差分时钟和数据选通信号的AC和DC输入电平都会被明确定义。仿真和测试过程中,只需要关注特定场景下的实测值有无达到协议规定值即可。
DDR4原理、硬件设计相关推荐
- DDR4原理及硬件设计
DDR4-DRAM的工作原理 其引脚按照功能可以分为7类:前3类为电源.地.配置. 后4类为:控制信号.时钟信号.地址信号.数据信号 电源.地.配置信号的功能很简单,在此不赘述.控制信号主要是用来完成 ...
- DDR4 硬件设计笔记
1 DDR4概述 DDR4全称,DDR4-DRAM,与其他DDR系列DRAM一样,是当前电子系统架构中使用最为广泛的的RAM存储器.DRAM全称Dynamic Random Access Memory ...
- PADS Logic电路原理pcb设计(线路硬件设计实践问题总结)
电子线路硬件设计实践过程问题总结 一.原理图常见问题 1.没有正确设置显示格点和设计格点,导致在建立原理图库文件时管脚与管脚之间的距离不均衡或者在连线时经常对不齐,连续容易扭曲.如图所示: 图:设计格 ...
- 四位行波进位加法器_【HDL系列】硬件加法器原理与设计小结
硬件加法器种类繁多,对于不同的设计,加法器的需求也不一样.在前端设计中,使用符号"+"便可轻而易举地实现加法器.只是在特殊的情况下,指定选择加法器类型,或许可以用到.其他情况,可以 ...
- 硬件设计:电源设计--DC/DC工作原理及芯片详解
硬件设计:电源设计--DC/DC工作原理及芯片详解 参考资料:DC/DC降压电源芯片内部设计原理和结构 MP2315(DC/DC电源芯片)解读 DC/DC电源详解 第一次写博客,不喜勿喷,谢谢!!! ...
- [Altium Designer 2020 硬件设计]原理图封装库创建及多部分组成单个器件原理图库创建
通用准备工作 1.创建一个工作区,用于保存本教程内的所有工程. 2.创建一个原理图库. 3.绘制原理图库封装. 1.创建一个新的设计工作区 文件->新的->设计工作区 2.右击工作区,选择 ...
- SoC嵌入式软件架构设计之二:虚拟内存管理原理、MMU硬件设计及代码分块管理...
程序的大部分代码都可以在必要的时候才加载到内存去执行,运行完后可以被直接丢弃或者被其他代码覆盖.我们PC上同时跑着很多的应用程序,每个应用程序使用的虚拟地址空间几乎可以整个线性地址空间(除了部分留给操 ...
- 快速入门ESP32的硬件设计原理以及典型应用案例UART串口转WIFI智能硬件,以及ESP32-Lyra(智能音频台)设计方案。
前言:可私信免费领取 该手册是中文版的ESP32硬件设计指南,提供了ESP32 系列产品的硬件信息,包括ESP32 芯片,ESP-WROOM-32 模组以及ESP32-DevKitC 开发板.包含开发 ...
- 51单片机实战教程基础硬件篇(二 电子元件原理图库设计教程)
AD原理图库设计,重点是绘制元件的电气连接单元Pin脚,然后添加其PCB 封装.Pin脚号(或名称)一定要与元件工程图中的编号(或名称)一致:Pin脚号一定要与元件的PCB封装号一致:一旦弄错而未发现 ...
最新文章
- 情感分析研究的新视野
- 程序猿充电的五本优质编程技术书
- 【14】GO语言的接口类型
- Netweaver和Windows,Ubuntu的数据共享
- Thymeleaf –片段和angularjs路由器局部视图
- stm32f103移植到f0_STM32F042替换STM32F103
- Tosca 注意事项(持续更新)
- Error creating object Microsoft Data Access Components 2.1 (or later) have been properly installed
- 数据库基础 MySQL
- 01数据结构——绪论
- 云安全到来 手动更新病毒码将成为历史
- 开源软件的总拥有成本指南
- 推荐——《梦想金山》
- 简述RAID 0,1,5,10区别
- 良品铺子的2021:营收创新高后的“战术调整”
- MATLAB周边第三期-坤坤的唱跳rap
- 自然语言处理系列十七》中文分词》分词工具实战》Python的Jieba分词
- windows远程提示credssp加密数据库修正问题解决
- 四苯基卟啉铜TPP-Cu(2+) cas14172-91-9分子量676.26600分子式C44H28CuN4
- 实用!!服务器监测邮箱报警
热门文章
- mysql share nothing_分布式数据库的Share Nothing / Share Disk / Share Storage
- element走马灯自动_[转]vue Element UI走马灯组件重写
- 招聘季“金三银四”:玩家们蠢蠢欲动,却难获企业与求职者的好评
- 数据分析技能点-Excel的36个常规操作
- 网站日志采集和分析流程
- win10:打开了很多窗口,但任务栏上一个都不显示
- 百度松果 合成大数字 (vector模拟)
- 对jdk5.0中可变长参数的理解
- win10安装mysql8
- 微信小程序实现保存图片到本地