我们的SDRAM控制器具有以下特点:
- 易于使用:使SDRAM看起来像一个静态存储器(或尽可能地接近)。
- 快速:如果您提供连续地址,则在突发模式下使用SDRAM。
- 简单:没有排程,一次只有一家银行处于活跃状态。
- 功能强大:SDRAM显示为一个简单的双端口存储器(即只有一个写入代理和一个读取代理)。
控制器最罕见的功能可能是最后一个。SDRAM是单端口存储器,但FPGA可以通过访问双端口存储器(如blockrams)获益匪浅,因此我们认为这是一个很好的功能。
控制器信号
这是我们的SDRAM控制器的简单视图。
![](https://i-blog.csdnimg.cn/blog_migrate/1cbf839187a92bf5f34409a708dc8753.gif)
写入代理使用左侧的前三个信号(“写入请求”,后面跟着“写入地址”和“写入数据”)。然后低于阅读代理的三个信号。在右侧,控制器驱动SDRAM信号。为了说明问题,下面是使用我们的SDRAM控制器的典型FPGA系统的视图。
![](https://i-blog.csdnimg.cn/blog_migrate/44e29dc725711077973fb0f72294a54a.gif)
现在我们的控制器使SDRAM显示为双端口存储器。但是SDRAM实际上是一个单端口内存,所以我们的控制器必须发挥作用。如果我们的控制器同时获得两个请求,它不得不停止一个代理,或记录他们的请求并在稍后执行。我们的控制者选择第一种策略。