原创 基于FPGA的SDRAM设计——模块化设计思路

2008-9-14 23:44 7959 14 17 分类: FPGA/CPLD

基于FPGASDRAM设计——模块化设计思路<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


 


    题记:基于FPGASDRAM设计是个大题,以后多篇日志将会涉及到这个主题,今天先从总体上把握SDRAMFPGA设计思想,也即介绍模块化的设计思路,以后还会具体深入的配合verilog源代码来展开介绍。(为了保持文章的原创性,本文的介绍文字均由特权同学根据自己的理解和认识用键盘实打实的敲上去的,其中难免有错误纰漏的地方,还望各位指点~_~ )


 


    关于SDRAM基础知识的文章之前共享过了,那篇好文章,基本把SDRAM的相关知识点说得很到位了。从基本概念到SDRAM的时序操作都囊括了,在这篇日志的开始将会对这些基本知识再多做一些说明,以便下文更好的进入正题——模块化设计思路!


    SDRAM是什么我就不多说了,它和平时我们接触比较多的SRAM不一样(计算机内存DDR SDRAM也是SDRAM,看看你家内存条上的八块芯片说的就是它了)。我们知道,FLASHEEPROM断了电也能保存数据,SRAM只要不断电数据就会一直保存,而SDRAM光是上电并不能一直保存数据不丢失(那为什么计算机的内存用SDRAM而不用RAM或者ROM呢?答案就在于速度和成本吧!)。


SDRAM是基于电容储电的原理,这也是它就有别于SRAM的最主要原因,SDRAM在上电情况下最多能保存数据64ms,这是个上限吧,超过这个时间电容放电完成数据也就无法保存了,所以我们要做的就是先电容放电完成一步给电容提前充一次电,这个步骤就叫做prefresh(预刷新)。此外,我们知道在SDRAM的某一行数据被读写后,也会加大其功耗,促使其电容加快放电,所以我们在读写完某一行地址的数据后,就要做一步叫做precharge(预充电)的操作。


    前面零散的说了点SDRAM相关的概念,下面系统的来给我们这个基于FPGASDRAM驱动设计分模块吧,然后我们再做具体深入不迟。


 



282e6182-6c54-4e28-be9f-9d34a216aa30.jpg


 


    我是参考了很多有关SDRAMverilog驱动,上面这个分模块方式是最常见的(最经典的)。顶层模块原则上是不做时序逻辑后者组合逻辑设计的,仅仅是定义接口,向上做成一个简单的封装,向下把三个模块粘合起来。时序控制模块里会把SDRAM从初始化到正常工作以及产生自刷新的请求和响应的时间关系做一个细化,其实说白了就是重点在这个模块里做各个状态的保持时间。命令控制模块会根据时序模块里产生的各个状态对FPGASDRAM的接口信号进行赋值,以达到相应的目的。数据地址模块就是要在指定的时间状态里读写SDRAM相应地址的数据。


 


 

PARTNER CONTENT

文章评论3条评论)

登录后参与讨论

用户1639510 2012-2-16 15:32

计算错了的话,那后面的数据相差很大啊?结果却说可以稳定运行?!

用户1639510 2012-2-16 15:04

的确是从data required time里计算的。应该是特权大哥又笔误了。

用户340934 2011-8-4 11:18

计算错的话后面的分析查很多啊?那这个3.081ns还是不理解啊!能详细说下吗?

ilove314_323192455 2011-8-3 13:40

计算笔误,呵呵

用户340934 2011-8-3 12:24

特权老师:请教两个问题!一、图5.40和图5.41我找不到报告,请问具体从哪里查看?二、计算相移量时(-2.195ns)-(0.13ns+3.081ns)=-2.703ns怎么感觉计算结果不对呢?

ilove314_323192455 2011-1-24 08:28

您的问题我不是很懂,这个小节好像没有涉及arrival path report吧?

用户183270 2011-1-23 19:51

特权大哥 FPGA的uTsu和uTh我看官方给的Data Required Time的时间计算公式里边有,对于输入引脚和寄存器有 Data Required Time = Clock Arrival Time – μtsu ,我看你的是在arrival path report中计算的,我没找到公式或者原理能提供一下吗? 谢谢!

ilove314_323192455 2010-12-31 16:08

需要得到一个中间值

用户249726 2010-12-31 15:44

请教:第一次求出了-2.195ns的相位偏移量直接与那两个延时值相减不行吗? 为什么还要减完了之后除以2才是相移量?谢谢了!

用户1695575 2010-11-28 22:36

顶,明天再看
相关推荐阅读
特权ilove314 2016-06-30 21:16
例说FPGA连载6:FPGA开发所需的技能
例说FPGA连载6:FPGA开发所需的技能 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   前面的文字已经做了很多铺垫,相信读...
特权ilove314 2016-06-28 21:09
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-28 21:05
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-26 22:11
例说FPGA连载4:FPGA语言与厂商介绍
例说FPGA连载4:FPGA语言与厂商介绍 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   Verilog与VHDL 说到FP...
特权ilove314 2016-06-23 21:26
例说FPGA连载3:FPGA与其它主流芯片的比较
例说FPGA连载3:FPGA与其它主流芯片的比较 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   FPGA、ASIC和ASSP...
特权ilove314 2016-06-21 20:32
例说FPGA连载2:FPGA是什么
例说FPGA连载2:FPGA是什么 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   2015年伊始,Intel欲出资百亿美金收...
EE直播间
更多
我要评论
3
14
关闭 站长推荐上一条 /3 下一条