6T SRAM的基本结构及其读写操作
目录
- 前言
- 基本结构
- 读写操作
- standby空闲状态
- 读操作
- 写操作
前言
SRAM:Static Random-Access Memory,静态随机存取存储器。1所谓的“静态”,是指当设备保持供电时,SRAM中存储的数据可以保持不变;掉电时,其存储的数据会丢失。
6T SRAM,其中T是指Transistor晶体管,即SRAM的基本存储单元是由6个晶体管构成的。
下面将详细介绍其基本存储单元的内部结构和SRAM的读写操作过程。
本文所述逻辑均为正逻辑。
基本结构
图中M1,M3,M5和M6为NMOS管,高电平导通;M2和M4为PMOS管,低电平导通。BL(Bit Line)为位线,用于读写数据。WL(Word Line)为字线,用于控制读写操作。SRAM中每一bit的数据存储在由M1,M2,M3和M4组成两个交叉连接的反相器中(即图中的Q端和/Q端)。M5和M6两个NMOS管是控制开关,用于控制数据从存储单元到位线之间的传递。
读写操作
SRAM的基本存储单元有3种状态:standby(空闲)、reading(读)和writing(写)。
standby空闲状态
若字线WL为低电平,则M5和M6两个晶体管处于截止状态,将基本存储单元与位线隔离。由M1-M4组成的两个反相器继续保持其状态。
读操作
假设该基本存储单元中存储的数据为1,即Q=“1”,/Q=“0”。在读周期开始之前,通过预充电电路,将两根位线的电平充电到逻辑“1”,预充电的电路结构如下(由三个PMOS管组成)。
随后将WL置为高电平,使得M5和M6两个晶体管导通。因为我们假设Q=“1”,故Q端的高电平使得晶体管M1导通,位线/BL之前预充的高电平通过M5和M1连接到地,使其值为逻辑“0”;在位线BL一侧,因/Q=“0”,晶体管M4和M6导通,通过VDD将位线拉到高电平逻辑“1”。
若基本存储单元存储的数据为0,其原理一样。
写操作
在写周期之前,需要把要写入的状态加载到位线。如需要写入数据0,则设置BL=“0”,/BL=“1”。随后将字线WL置为高电平,M5和M6晶体管导通,位线的状态被写入带基本存储单元中。
https://baike.baidu.com/item/SRAM/7705927?fr=aladdin ↩︎
6T SRAM的基本结构及其读写操作相关推荐
- NAND FLASH 读写操作 简介
NAND FLASH 内存详解与读写寻址方式 一.内存详解 NAND闪存阵列分为一系列128kB的区块(block),这些区块是 NAND器件中最小的可擦除实体.擦除一个区块就是把所有的位(bit)设 ...
- S3C2440 Linux下的I2C驱动以及I2C体系下对EEPROM进行读写操作。
这篇文档算上期末复习这段时间其实拖了有好久了,因为从一开始接触linux的i2c驱动体系我就各种凌乱,因为起初脑海中既没有整体框架也不熟悉相关体系下的结构,所以四处乱看,经常性的在看内核代码时看着看着 ...
- OpenCV 1.x 2.x 编程简介(矩阵/图像/视频的基本读写操作)
OpenCV 编程简介(矩阵/图像/视频的基本读写操作) Introduction to programming with OpenCV OpenCV编程简介 作者: Gady Agam Depart ...
- 第五天2017/04/06(上午:文件的“读写操作”)
文件的"读"."写"的理解不是站在"程序"的角度,而是站在"文件"的角度读:从文件中读取数据,输出到程序中写:从程序中读 ...
- C语言文件读写操作主要函数及其用例
C语言把磁盘文件看成是字符(或字节)的序列,按照存储信息的形式来说,文件主要是有文本文件和二进制文件.文本文件由一个个字符组成,每个字节存放一个ASCII码制,代表一个字符.二进制文件把内存中的数据按 ...
- C++ builder 的文件读写操作总结
C++ builder 的文件读写操作总结 在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是: 1.基于 ...
- linux gcc编译下的文件读写操作
linux下的文件操作 所有目录 1.文件及文件系统的定义 2.linux文件的类型 3.linux文件的权限 ...
- C/C++ 文件读写操作总结
C/C++ 文件读写操作总结 在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是: 1.基于C的文件操作: ...
- OpenCV 编程简单介绍(矩阵/图像/视频的基本读写操作)
PS. 因为csdn博客文章长度有限制,本文有部分内容被截掉了. 在OpenCV中文站点的wiki上有可读性更好.而且是完整的版本号,欢迎浏览. OpenCV Wiki :<OpenCV 编程简 ...
最新文章
- FPGA之道(23)VHDL的signal、variable与constant
- 内存对齐/字节对齐/数据对齐/地址总线对齐
- 学习区块链,绕不过去的“拜占庭将军问题”!!这里正好有通俗易懂的解释
- java设计模式之设计原则⑥里氏代换原则
- 公交查询系统 c语言,城市公交查询系统的设计任务书
- windows7电脑删除文件特别慢怎么回事
- 小小标签,强大功能——深藏不露的 input
- http://blog.csdn.net/jiazimo/article/details/17265061
- 深入Linux网络核心堆栈--netfilter详解(整理)
- UEditor百度富文本搭建时候遇到的问题
- 计算机cad模板样例,教你如何新建适合自己的CAD模板
- wpf 直播视频播放器技术实现
- 一篇2006年的文章和一部2015年的名著
- CSS深度(穿透)选择器
- Vue文件内动态加载JS
- bloomFilter和哈希函数murmur3
- MDK中符号代号说明
- 如何使用 msiexec.exe 手动删除 VirusScan Enterprise 8.x
- 免费的激光雷达数据的下载方法
- python调用浏览器
热门文章
- echarts地图设置legend_echarts设置图例颜色和地图底色的方法实例
- 详解 PerformanceResourceTiming API,咦,这货真的干!
- 6.1 手机时钟系统简介
- CSS选择器补充,CSS三大特性以及字体、文本样式。
- html li 圆点 大小,ul li 定制圆点,list-style-image调整图片圆点大小 与 文字和图片排版...
- UVa1395(最小值最小生成树+并查集)
- php反序列化漏洞 freebuf,入门Web需要了解的PHP反序列化漏洞
- lisp画弯箭头_在cad中直接画箭头
- HTML的iframe标签
- web项目获取webpp文件下的图片