首页 百科知识 ram的描述正确的是

ram的描述正确的是

时间:2022-10-15 百科知识 版权反馈
【摘要】:RAM和ROM有一定的区别,主要是其描述上有读和写两种操作模式,而且在读、写上对时间有较严格的要求。例7-24给出了一个32×4 RAM的VHDL源程序。进程的敏感信号是cs,若cs是高电平,此时rd和wr有一个是高电平,则进行相应的操作。若cs是低电平,则数据线全被置成“ZZZZ”,即高阻态。编写宏文件进行仿真的具体方法将在第十一章详细讲述。而另一方面,在20ns之前,由于cs是低电平,所以data信号输出为“Z”。

RAM的描述

RAM和ROM有一定的区别,主要是其描述上有读和写两种操作模式,而且在读、写上对时间有较严格的要求。例7-24给出了一个32×4 RAM的VHDL源程序。cs是片选信号,高电平有效,rd是读控制线,wr是写控制线,data是数据输入线,address是地址线。进程的敏感信号是cs,若cs是高电平,此时rd和wr有一个是高电平,则进行相应的操作。若cs是低电平,则数据线全被置成“ZZZZ”,即高阻态。在此段程序中用到了数据类型的转换,即将address由STD_LOGIC_VECTOR(4 DOWNTO 0)转换成了整数。

【例7-24】RAM存储器(32×4阵列)

img303

img304

图7.16是RAM的“写”过程的仿真波形。

img305


图7.16 RAM“写”过程的仿真波形

我们仿真时所编写的激励宏文件(*.do)中的激励命令如下:

img306

这些宏命令的意思是:先使cs置成“0”,仿真20ns,再使cs,rd,wr,data,address分别置成“1”,“0”,“1”,“1111”和“00001”。编写宏文件进行仿真的具体方法将在第十一章详细讲述。

从图7.16中可以看到,wr信号被置成高电平,此时为“写”状态,于是输入信号分别是address和data。cs信号在第20ns时跳变成高电平,此时地址信号被置成“01”,也就是第二个存储单元被选中,而此时data信号被置成“1111”即“F”,于是第二个存储单元在延时4ns后被自动存入“F”,这一点在图中已经用圆圈标出。而另一方面,在20ns之前,由于cs是低电平,所以data信号输出为“Z”。可见此功能仿真通过。

在这里要注意一点,所有的数字系统,在开始仿真时一定要先初始化,例如将高电平有效的“使能”信号先置为“0”,将高电平有效的清除输出端的“清除”信号先置为“1”,即进行清零操作。仿真运行一小段时间后(比如一个时钟周期),才开始系统的其他功能的仿真。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈