阅读:2155回复:4
关于SDRAM的刷新
小弟正打算用FPGA(EP1K30)+SDRAM(W981616BH,512K*2*16)做一个VGA控制器,SDRAM充当显存。而所选的SDRAM内有两个512K*16的存储块(bank),其中一个存储区用于存储当前正在显示的数据,另一个用来接收写入的下一幅图象数据。这样,这个SDRAM内的两个存储区处于一个读一个写的状态。但SDRAM的刷新问题把我搞糊涂了!
问题: 1,Auto Refresh 和 Self Refresh有什么区别?分别应在什么条件下使用? 2,有朋友说对SDRAM的写操作本身就有刷新的功能,但如果仅仅是写了几个字进去,这个隐含的刷新操作做用的范围有多大?对于这种有两个BANK的芯片而言,是刷新了全片,还是写操作所在的那个BANK,或是更小的范围? 3,读操作有没有刷新的功能? 谢谢。 |
|
|
沙发#
发布于:2004-02-03 22:42
是不是在给这家公司(上海幸马(晨昊)电子有限公司)
做一个相关的产品呢? |
|
板凳#
发布于:2004-02-08 21:06
用SDRAM做方案主要考虑的是系统带宽和仲裁,具体实现尽量考虑通用的IP,标新立异的想法还是不要考虑。
刷新一般采用定周期使用刷新命令的方式实现。不要把简单问题复杂化。 |
|
|
地板#
发布于:2004-02-08 22:14
版主大佬,你以为我不想用通用IP吗?关键是我不会啊!新手难免会异想天开,不过思想不被束缚有时也是好事情!
我的应用有点奇怪,这一片FPGA不仅仅是做VGA控制器,它还要控制一片以太网物理层芯片从中接收数据,问题是接收到的数据还不仅仅是VGA的显示数据,其中还包括了另一设备的数据,FPGA还得解复用,把数据写入SDRAM中的一块缓冲区,并且还得用指定速度从缓冲区里读出,通过内建的一个I2C接口输出。 最可气的是,老板还不打算用EP1K30了,要求尽可能用EP1K10来设计,就这么一点资源,要干这么多事,不出点奇招行吗?虽然我没用过通用的SDRAM的IP,可我知道只要是通用的东东,都是不惜资源的东东! 800*600*60HZVGA的像素速率近40M,而SDRAM的时钟已确定为100M,MII速度是6.25MWORD/S,I2C速度是4Mbps,而FPGA的内部SRAM的数量又那么少,只有768WORD,唉!写也写不快,读也读不快!还要平衡输出输入的速率。 我干嘛说这些,好象述苦一样! 呵呵,好在我搞明白SDRAM的刷新,还有那一堆该死的命令是咋回事了,几个部件的读写时序的安排也基本搞定,反正我不怕死,不怕死就试试呗! |
|
|
地下室#
发布于:2004-02-09 08:40
最初设计FPGA时也有过类似的标新立异想法,这可能和以前主要设计CPLD有关,现在看起来的确是走了很多弯路。通用的IP未必是耗费资源的,并且学习他人的设计是提高水准的快捷方法。
EP1K系列的Tco一般都在10ns以上,SDRAM要run在100M是非常吃力的。这种情况下应该主要靠加大位宽来获取高带宽。 多时钟系统的协调需要非常仔细的考虑。 |
|
|