专利名称:一种基于fpga器件的dram控制器的制作方法
技术领域:
本发明涉及一种动态存储技术,特别涉及一种基于FPGA器件的DRAM控制器。
背景技术:
动态随才几存储器(Dynamic Random-Access Memory,简称DRAM)是一种 高密度存储器。现场可编程门阵列器件(Field Program Gate Array,简称FPGA) 是一种现场可编程的器件,其内部包含了大量的查找表(Look-Up Table,简称 LUT)模块。基于FPGA的DRAM控制器,采用了有限状态机的方法来实现, 如图1所示,所有控制线的输出都是由状态机来控制。在现有常规的FPGA编 译工具对状态机模块布局布线时,由于所有的控制线都集中在状态机内,使局 部的资源使用显得过于拥挤,从而影响了控制器较难达到很高的性能,特别在 采用低端FPGA器件控制高性能DRAM器件时,其性能瓶颈更为明显。而且对 于不同厂家或技术的DRAM器件,如果指令所定义的控制线状态不一致,则需 要修改FPGA器件的布局布线,存在一定风险。如何克服DRAM控制器直接输 出控制命令导致的性能瓶颈在业内尚未突破。
发明内容
本发明所要解决的技术问题是提供一种基于FPGA器件的DRAM控制器, 使状态机只输出指令代码,释放了部分内部资源,而在外部设置了对应的指令 解码机。
为了解决上述技术问题,本发明采用了如下技术手段 一种基于FPGA器 件的DRAM控制器,由一个指令状态机和多个指令解码机组成,当DRAM控 制器开始工作时,指令状态机产生每个控制指令唯一对应的指令代码,通过数 据线将指令代码传递给每一个指令解码机,每个指令解码机通过控制指令输出线输出对应的控制指令,实现DRAM控制功能。
所述的指令状态机是有限状态机,用于产生指令代码。指令解码机的数量 由不同DRAM控制器的控制线确定,每根控制线对应一个指令解码机。所述的 指令解码机包含查找表模块,根据指令代码,从预存在查找表模块中的真值表 中查找对应的控制指令并输出,以实现解码。
所述真值表根据DRAM器件型号进行编制。
本发明由于采用了上述的技术方案,使之与现有技术相比,具有以下的优 点和积纟及效果
1. 指令状态机只输出指令代码,而不是控制指令,将控制线从状态机内分 离出来,从而降低了布局布线的局部拥挤状态,进而提高了 DRAM控制器的指 令状态机的工作性能;
2. 指令解码机是基于LUT技术的,而FPGA器件内部含有大量的LUT模 块,使DRAM控制器能够非常方便的在FPGA器件上实现;
3. 对于不同厂家或技术的DRAM器件,其指令所定义的控制线状态不一致, 则只需修改指令解码机的LUT真值表就可以实现移植,而不影响FPGA器件的 布局布线,从而降低了器件的移植风险。
本发明的基于FPGA器件的DRAM控制器的具体结构由以下的实施例及附 图给出。
图1为现有的DRAM控制器结构示意图2为本发明实施例的DRAM控制器的结构示意具体实施例方式
以下将对本发明的基于FPGA器件的DRAM控制器作进一步的详细描述。 本发明的DRAM控制器装置结构及各模块的连接方式如图2所示,DRAM 控制器采用Micron公司MT48LC4M32B2TG-7: G器件,FPGA采用Xilinx公 司的XC3S100E-4VQG100C器件。所述的DRAM控制器由一个指令状态机和五 个指令解码机组成,指令状态机为有限状态机,当DRAM控制器开始工作时,指令状态机产生每个控制指令唯一对应的指令代码,在本实施例中,控制指令
和指令代码的对应关系如下表所示
控制指令指令代码控制指令指令代码
COMMAND INHIBIT0BURST TERMINATE
NO OPERATION1PRECHARGE6
ACTIVE2ATUO REFRESH7
READ3SELF REFRESH8
WRITE4LOAD MODE REGISTER9
本实施例中,DRAM控制器有五条控制线,包括时钟使能控制信号线CKE、片选控制信号线CS、写使能控制信号线WE、列选址控制信号线CAS及行选址控制信号线RAS。
当指令状态机产生"READ"(读)指令对应的指令代码0011时,指令代码通过4位数据线传递给每一个指令解码机,以CKE指令解码机为例CKE指令解码机接收到指令代码0011后,查找LUT真值表中地址为0011的预存数值,其值为1;接着输出CKE信号线的状态为1。
同理,CKEW的状态为1, CS的状态为O, WE的状态为l, CAS的状态为0, RAS的状态为1,上述各控制线输出后,直接连到MT48LC4M32B2TG-7: G器件对应的管脚上,即实现了 DRAM的读控制功能。
同样的,当指令状态机产生其它指令所对库的指令代码时,也是通过指令代码传递,查找LUT真值表,以及各控制线输出相应的状态信号而实现DRAM的控制,在此不一一赘述。
真值表的内容依据Mircon公司提供的数据表制作,本实施例用Xilinx公司的FPGA编译工具(ISE9.2i)在布局布线时,增加了布局约束(LOC约束语句),使指令解码机布局在输出管脚的附近,从而减少了指令解码才几到DRAM器件的物理延时,提高工作性能。
综上所述,采用本发明的优化的DRAM控制器,可以满足在低端FPGA上控制高性能DRAM器件,并且在支持不同厂家的DRAM器件时,只需修改指令解码机的LUT真值表即可,无需重新调整已有的布局布线。
权利要求
1、一种基于FPGA器件的DRAM控制器,其特征在于,所述的DRAM控制器由一个指令状态机和多个指令解码机组成,当DRAM控制器开始工作时,指令状态机产生每个控制指令唯一对应的指令代码,通过数据线将指令代码传递给每一个指令解码机,每个指令解码机通过控制指令输出线输出对应的控制指令,实现DRAM控制功能。
2、 如权利要求1所述的基于FPGA器件的DRAM控制器,其特征在于,所述 的指令状态机是有限状态机,用于产生指令代码。
3、 如权利要求1所述的基于FPGA器件的DRAM控制器,其特征在于,所述 的指令解码机的数量由不同DRAM控制器的控制线确定,每4艮控制线对应一个 指令解码机。
4、 如权利要求3所述的基于FPGA器件的DRAM控制器,其特征在于,所述 的指令解码机包含查找表模块,根据指令代码,从预存在查找表模块中的真值 表中查找对应的控制指令并输出,以实现解码。
5、 如权利要求4所述的基于FPGA器件的DRAM控制器,其特征在于,所述 真值表根据DRAM器件型号进行编制。
全文摘要
本发明提供了一种基于FPGA器件的DRAM控制器。所述DRAM控制器由一个指令状态机和多个指令解码机组成,当DRAM控制器开始工作时,指令状态机产生每个控制指令唯一对应的指令代码,通过数据线将指令代码传递给每一个指令解码机,每个指令解码机通过控制指令输出线输出对应的控制指令,实现DRAM控制功能,实现了在低端FPGA上控制高性能DRAM器件,并通过修改指令解码机内的真值表方便的兼容不同厂家的DRAM器件。
文档编号G11C7/10GK101477831SQ20091004593
公开日2009年7月8日 申请日期2009年1月22日 优先权日2009年1月22日
发明者刘才勇 申请人:上海广电(集团)有限公司中央研究院