上一节,我们重点介绍了array的存储结构。

本节介绍array周边的电路,对DDR的基本读写操作的相关功能模块的理解。

即通过哪些模块可以实现对ddr的基本读写。最简化的方式是把存储操作理解为行列选择,拆分为横竖两个纬度,最终实现对arrary进行读写。横向有地址选择和竖向对数据的存/取,如下图3.1所示:

图3.1 SRAM cell array功能框图

Address Decoder(横向):地址解码器,使用输入1或0的组合来选择cell的地址,控制输出到1个选择引脚wordline。(相当于input 为 n bits时,输出访问2^n个地址)

Data input/output (竖向):数据的输入/输出是独立引脚时,设计简单。写周期存(input),读周期取(output)。如果为了降低chip面积,可以使用输入输出共享1个引脚,但需要3态buffer来缓存数据。如读周期,使能buffer。

  1. cell的读写操作

再深入一点,把图3.1细化成图3.2: Precharge(EQ),地址译码和选通,信号敏感放大,IO gating(read mux控制cell连通到外部电路),write driver(写入电路)。

图3.2  DRAM的基本框架

从以上的DRAM cell结构, 可以把逻辑设计对DRAM cell的操作分为3类:

refresh操作:Refresh memory cell

读操作:从memory cell读取数据

写操作:写数据到memory cell

单元电路如何实现refresh,读出和写入?

refresh操作:precharge, access,sense和restore

读操作:precharge, access,sense,restore,IO gating

写操作:precharge, access,sense,restore,IO gating和write driver

即每个操作的过程,包括:precharge, access,sense和restore的过程,当写cell的时候,还需要最后写动作。

1.1.读操作/refresh

2.1.1 Precharge稳定Vref的电压

在这个阶段,首先会通过控制 EQ 信号,让 Te1、Te2、Te3 晶体管处于导通状态,将 Bitline 和 /Bitline 线上的电压稳定在 Vref (= Vcc/2)。然后进入到下一个阶段。

2.1.2 Accesscell值电容给Vref充电为Vref+)

经过 Precharge 阶段, Bitline 和 /Bitline 线上的电压已经稳定在Vref 上了,此时,通过控制 Wordline 信号,将 Ta 晶体管导通。Storage Capacitor 中存储正电荷会流向 Bitline,继而将 Bitline 的电压拉升到Vref+。然后进入到下一个阶段。(如果此时cell电容为0,则Vref为放电到Vref-)

2.1.3 Sense

由于在 Access 阶段,Bitline 的电压被拉升到 Vref+,Tn2 会比 Tn1 更具导通性,Tp1 则会比 Tp2 更具导通性。
此时,SAN (Sense-Amplifier N-Fet Control) 会被设定为逻辑 0 的电压,SAP (Sense-Amplifier P-Fet Control) 则会被设定为逻辑 1 的电压,即 Vcc。由于 Tn2 会比 Tn1 更具导通性,/Bitline 上的电压会更快被 SAN 拉到逻辑 0 电压,同理,Bitline 上的电压也会更快被 SAP 拉到逻辑 1 电压。接着 Tp1 和 Tn2 进入导通状态,Tp2 和 Tn1 进入截止状态。(同理,如果cell为0时,Vref-则会把Tn1和Tp2导通,Bitline的电压会被拉到0电压,/Bitline为电压Vcc)
最后,Bitline 和 /Bitline 的电压都进入稳定状态,正确的呈现了 Storage Capacitor 所存储的信息 Bit。

2.1.4 Restore

在完成 Sense 阶段的操作后,Bitline 线处于稳定的逻辑 1 电压 Vcc,此时 Bitline 会对 Storage Capacitor 进行充电。经过特定的时间后,Storage Capacitor 的电荷就可以恢复到读取操作前的状态。

注:因为WL让电容和sense amp导通后,电子会流出,电容的内容会丢失,这是一种破坏性的读取,所有读出后,还需要存回去。

最后,通过 CSL 信号,让 Tc1 和 Tc2 进入导通状态,外界就可以从 Bitline 上读取到具体的信息。

2.1.5 Timing

整个 Read Operation 的时序如下图所示,其中的 Vcc 即为逻辑 1 所对应的电压,Gnd 为逻辑 0。

1.2 写操作

Write Operation 的前期流程和 Read Operation 是一样的,执行 Precharge、Access、Sense 和 Restore 操作。差异在于,在 Restore 阶段后,还会进行 Write Recovery 操作。

1.2.1 Write Recovery

在 Write Recovery 阶段时,通过控制 WE (Write Enable) 信号,让 Tw1 和 Tw2 进入导通状态。此时,Bitline 会被 input 拉到逻辑 0 电平,/Bitline 则会被 /input 拉到逻辑 1 电平。经过特定的时间后,当 Storage Capacitor 的电荷被 Discharge 到 0 状态时,就可以通过控制 Wordline,将 Storage Capacitor 的 Access Transistor 截止,写入 0 的操作就完成了。

参考链接:

​​​​​​​

  1. https://web.wpi.edu/Pubs/E-project/Available/E-project-032714-144117/unrestricted/Demonstration_of_SRAM_Design_with_LED_Cube_Display.pdf
  2. https://www.ndsu.edu/pubweb/~nagong/index_files/conference/C20.pdf
  3. DRAM 原理 1 :DRAM Storage Cell

LPDDR4x 的 学习总结(3) - SDRAM基本功能相关推荐

  1. 从零开始学习jQuery (十) jQueryUI常用功能实战

    本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery ( ...

  2. JavaWeb黑马旅游网-学习笔记02【注册功能】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  3. JavaWeb-综合案例(用户信息)-学习笔记02【登录功能】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb-综合案例(用户信息)-学习笔记01[列表查询] JavaWeb-综合案例(用户信息)-学习笔记02[登录功能] JavaWeb-综合案 ...

  4. 借Google Guava学习发现和开发通用功能模块

    如何发现通用的功能模块? 很多人觉得做业务开发没有挑战,实际上,做业务开发也会涉及很多非业务功能的开发,比如我们前面讲到的 ID 生成器.性能计数器.EventBus.DI 容器,以及后面会讲到的限流 ...

  5. GCTA学习4 | GCTA说明文档--功能分类及常见问题

    1. GCTA 说明文档 最新版是2021-06-01更新,共有98页: GCTA说明文档:https://yanglab.westlake.edu.cn/software/gcta/static/g ...

  6. 博通Broadcom SDK源码学习与开发2——Bootloader功能和编译过程

    声明:原创作品,严禁用于商业目的. 本系列文章将全面剖析以Bcm33xxx芯片开发Cablemodem产品的SDK源码为例,从编译系统到各个功能模块进行分析与探讨. 文章目录 0.写在前篇 0.写在前 ...

  7. PADS VX2.7学习记录06-PADS Router软件功能操作

    目录 PADS VX2.7学习记录06-PADS Router软件功能操作 一.PADS Router软件常规参数设置 二.PADS Router颜色偏好显示设置 三.走线.打孔常用命令介绍 四.BG ...

  8. 一款外语学习App需要具备哪些功能

    随着社会压力的不断增大,很多家长都希望孩子能掌握一门外语,以便以后可以找到更好的工作.但是语言学习也需要很好的语言环境,家庭环境的影响也起着至关重要的作用.相比较传统的学习模式,线上学习不仅便捷,同时 ...

  9. 钢琴学习微信小程序开发功能

    如今的家长都希望孩子在艺术方面能够有一技之长,这样才能在将来的生活交际中游刃有余.而钢琴作为艺术中不可缺少的一部分,自然受到了很多人的青睐,因为钢琴代表着高雅和高贵的象征.是提高个人修养的表现.对于钢 ...

  10. 微擎学习随记_常用功能实现

    微擎学习随记_常用功能实现 消息通知: 代码位置: addons/项目名/core/model/notice.php(设置微信信息通知和微信模板消息通知) 需求: 店铺得到收益之后以消息的形式通知店铺 ...

最新文章

  1. 基于OpenCV的焊件缺陷检测
  2. Installing Oracle Database 18c Using RPM Packages
  3. 【转】LINUX 手动建立SWAP文件及删除
  4. [Python]元组与列表的区别及内建用法
  5. 网易MCTalk聚焦前沿技术 助力传统企业数字化转型
  6. JS正则表达式验证数字非常全
  7. [MySql] MySQL的点点滴滴
  8. 为何类型转型Integer[] = Object[]可以,而Integer[] = int[]却不行
  9. NetTier模板生成的代码框架用法 (转)
  10. matlab cdf,Matlab 简单计算PDF和CDF | 学步园
  11. 这才是大数据的正确打开方式
  12. __super作用(C++中)
  13. fastjson map转json_Java对象转JSON咋这么头疼?不!那是你还没使用Fastjson
  14. EasyRecovery解救打工人的崩溃
  15. GDT、LDT、IDTR、TR
  16. Spring Boot中自动注入没有生效,报NullPointer的问题
  17. 论window10如何获得最高权限
  18. ms sql 创建表_使用MS查询创建表组合
  19. java人员的宝贝:百宝箱。
  20. 基于android的教育机构家校通系统app

热门文章

  1. Pytorch之Rot旋转
  2. unity富文本使用:同一个文本框展示不同样式字体
  3. (iPhone/iPad开发)iOS中生成随机数
  4. OSChina 周日乱弹 —— 感觉他俩长相挺门当户对的
  5. 以股票weekday和涨幅关系为例创建dataframe交叉表与透视表
  6. Windows系统下安装CVAT标注工具
  7. GD32F4xx CAN 过滤器设置
  8. STM32学习笔记(9)——(I2C续)读写EEPROM
  9. 【Python】天气预报及雨量预警到企业微信群的代码实现
  10. linux top 更新时间,linux top详解