10.异步SRAM的FPGA读写操作

异步SRAM:正如其名,不是与特定的时钟信号同步运行,而是根据输入信号的状态运行的。因为没有信号表明读取时已确定了有效数据,也没有信号表明写入时已接收到数据,所以,需要获取制造商的数据手册,根据时序图,按“应该已读出有效数据”及“应该能接收数据”这样的条件,进行存储器的设计。

 
1.  读操作:OE读控制
异步SRAM的基本读操作如图1所示。
首先指定地址,然后使CE2=WE=高电平,CE1=OE=低电平,此时将在I/O引脚出现数据。
如果保持该状态而改变地址,则将出现新地址的数据。另外,如果CE1,CE2,WE和OE没有满足读状态的条件,则SRAM中止驱动I/O引脚,成高阻抗。
 
图1 异步SRAM的读操作
读操作时,使CE1,CE2,WE,OE等保持读状态,也允许改变地址(也就是保持存取的状态,只改变地址,读取不同地址的数据)。但是一部分高速SRAM也存在这样的情况,即当器件处于选择状态(CE有效)时,如果改变其地址,则设备判断发生了误操作,所以事先需要确认是否允许这样的应用。
 
2.  写操作1:WE写控制
异步SRAM的基本写操作如图2所示。
首先指定地址,如果CE2=高电平,CE1=低电平,则器件处于选择状态。只要OE一直有效(低电平),则在此时SRAM临时输出数据。但因为WE具有优先权,所以一旦WE有效,则I/O引脚变为高阻抗状态,SRAM不再输出数据。进行写入操作的地址必须在OE下降之前就要确定,数据的写入操作是在WE的上升沿进行的。

图2 异步SRAM的写操作1(WE写控制)

3.  写操作2:CE写控制

CE写控制的操作如图3所示。CE写控制在丽已经有效的状态下,利用CE1和CE2写入数据。因为WE已经是有效的,因此器件变为选择状态的同时也变为写状态。

图3 异步SRAM的写操作2(CE写控制)

还可以参考如下链接
http://www.cnblogs.com/sunev/archive/2011/10/31/2229973.html
原文地址:https://www.cnblogs.com/geekite/p/4384322.html