SRAM的工作原理图解

SRAM的工作原理图解,第1张

注:其实CMOS静态反相器等价于一个非门!SRAM cell 6T等价于SR锁存器(也就是RS触发器)

6T:指的是由六个晶体管组成,如图中的M1、M2、M3、M4、M5、M6

SRAM中的每一bit存储在由4个场效应管(M1, M2, M3, M4)构成两个交叉耦合的反相器中。另外两个场效应管(M5, M6)是存储基本单元到用于读写的位线(Bit Line)的控制开关。

一个SRAM基本单元有0 and 1两个电平稳定状态。

SRAM基本单元由两个CMOS反相器组成。两个反相器的输入、输出交叉连接,即第一个反相器的输出连接第二个反相器的输入,第二个反相器的输出连接第一个反相器的输入。这实现了两个反相器的输出状态的锁定、保存,即存储了1个位元的状态。

除了6管的SRAM,其他SRAM还有8管、10管甚至每个位元使用更多的晶体管的实现。 这可用于实现多端口(port)的读写访问,如显存或者寄存器堆的多口SRAM电路的实现。

一般说来,每个基本单元用的晶体管数量越少,其占用面积就越小。由于硅芯片(silicon wafer)的生产成本是相对固定的,因此SRAM基本单元的面积越小,在硅芯片上就可以制造更多的位元存储,每位元存储的成本就越低。

内存基本单元使用少于6个晶体管是可能的— 如3管甚至单管,但单管存储单元是DRAM,不是SRAM。

访问SRAM时,字线(Word Line)加高电平,使得每个基本单元的两个控制开关用的晶体管M5与M6开通,把基本单元与位线(Bit Line)连通。位线用于读或写基本单元的保存的状态。虽然不是必须两条取反的位线,但是这种取反的位线有助于改善噪声容限。

SRAM的基本单元有3种状态:standby (电路处于空闲), reading (读)与writing (修改内容)。

SRAM的读或写模式必须分别具有“readability”(可读)与“write stability”(写稳定)。

如果字线(Word Line)没有被选为高电平, 那么作为控制用的M5与M6两个晶体管处于断路,把基本单元与位线隔离。由M1 – M4组成的两个反相器继续保持其状态,只要保持与高、低电平的连接。

假定存储的内容为1, 即在Q处的电平为高。 读周期之初,两根位线预充值为逻辑1, 随后字线WL充高电平,使得两个访问控制晶体管M5与M6通路。第二步是保存在Q的值传递给位线BL在它预充的电位,而泻掉(BL非)预充的值,这是通过M1与M5的通路直接连到低电平使其值为逻辑0 (即Q的高电平使得晶体管M1通路)。 在位线BL一侧,晶体管M4与M6通路,把位线连接到VDD所代表的逻辑1 (M4作为P沟道场效应管,由于栅极加了(Q非)的低电平而M4通路)。 如果存储的内容为0, 相反的电路状态将会使(BL非)为1而BL为0 只需要(BL非)与BL有一个很小的电位差,读取的放大电路将会辨识出哪根位线是1哪根是0 敏感度越高,读取速度越快。

写周期之初,把要写入的状态加载到位线。如果要写入0,则设置(BL非)为1且BL为0。随后字线WL加载为高电平,位线的状态被载入SRAM的基本单元。这是通过位线输入驱动(的晶体管)被设计为比基本单元(的晶体管)更为强壮,使得位线状态可以覆盖基本单元交叉耦合的反相器的以前的状态!

对于这种异步静态存储器,内部没有地址自 *** 作功能和猝发 *** 作,所以,每一次 *** 作都需要外部提供地址信息。因此,乱了,只是从物理上乱了,逻辑上还是正常的。只是对成果传递和查问题制造麻烦。应用中没有任何问题。对于同步静态存储器和动态存储器,可就麻烦了。

typedef unsigned char uchar

typedef unsigned int uint

#define mSramSize 321024 //32k bytes

#define mTestValue N //测试数据

void Write32kSram(uchar data sramValue,uchar data sramAddr) {

//根据具体情况实现

}

uchar data Read32kSram(uchar data sramAddr) {

//根据具体情况实现

}

bit Test32kSram(void) {

uchar i = 0;

for( i=mSramSize; i>0; i-- ){

Write32kSram(mTestValue,i);

_nop_();

if( Read32kSram(i) != mTestValue )

return 1; //1代表读写错误

}

return 0; //0代表读写无错

}

void Main(void) {

if( !Test32kSram() ) {

//这里添加检测无错后 *** 作码

}

else {

//这里添加检测有错后 *** 作码

}

while(1);

}

以上就是关于SRAM的工作原理图解全部的内容,包括:SRAM的工作原理图解、FSMC接SRAM时地址线顺序全乱了,是否对读写SRAM照成影响、求助:如何用51单片机测试SRAM芯片如32K的SRAM如何将数据写入到每一个地址中;再将数据读出显示出来。(C等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9875317.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存