sram的型号:ISSI IS61LV25616 -10TL
以上是数据手册上的。
对sram的认识:SRAM不需要刷新电路即能保存它内部存储的数据。而DRAM(Dynamic Random Access Memory)每隔一段时间,要刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,且功耗较大。所以在主板上SRAM存储器要占用一部分面积。优点,速度快,不必配合内存刷新电路,可提高整体的工作效率。缺点,集成度低,掉电不能保存数据,功耗较大,相同的容量体积较大,而且价格较高,少量用于关键性系统以提高效率。
接下来的关键是如何操作读写sram。主要是参考黑金动力区的建模篇使我对于时序的时序有了一定的提高。以下是RTL图:
这里有三个模块:一个是sram_read_module(对sram读时序的具体实现) ,sram_write_module(对sram写时序的具体实现),sram_control_module(控制sram读写操作)。此时可以看到我只是写了框架:顶层的inout,和一些连线。因此输出都是GND。那我如何验证对sram读写的正确性呢?我使用的办法是,通过uart。通过uart发送数据,写入sram。然后读sram,再通过uart发出。2014-11-13进行中。。。。。。。。。。。。。。
到现在2014-11-16sram的读写已经实现。但是具体的FPGA实现代码不好加,那看看RTL。
串口调试助手截图:
从上图可以看出:会有一个字节的不对,那是因为sram的读写是16bit,如果写入的是单个字节数就会有一个没有写入到ram中。但是,到此可以确定sram的读写是没有问题的。