CN101477831A - 一种基于fpga器件的dram控制器 - Google Patents
一种基于fpga器件的dram控制器 Download PDFInfo
- Publication number
- CN101477831A CN101477831A CNA2009100459350A CN200910045935A CN101477831A CN 101477831 A CN101477831 A CN 101477831A CN A2009100459350 A CNA2009100459350 A CN A2009100459350A CN 200910045935 A CN200910045935 A CN 200910045935A CN 101477831 A CN101477831 A CN 101477831A
- Authority
- CN
- China
- Prior art keywords
- instruction
- dram
- dram controller
- control
- controller based
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Logic Circuits (AREA)
- Dram (AREA)
Abstract
本发明提供了一种基于FPGA器件的DRAM控制器。所述DRAM控制器由一个指令状态机和多个指令解码机组成,当DRAM控制器开始工作时,指令状态机产生每个控制指令唯一对应的指令代码,通过数据线将指令代码传递给每一个指令解码机,每个指令解码机通过控制指令输出线输出对应的控制指令,实现DRAM控制功能,实现了在低端FPGA上控制高性能DRAM器件,并通过修改指令解码机内的真值表方便的兼容不同厂家的DRAM器件。
Description
技术领域
本发明涉及一种动态存储技术,特别涉及一种基于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 INHIBIT | 0 | BURST TERMINATE | 5 |
NO OPERATION | 1 | PREcharGE | 6 |
ACTIVE | 2 | ATUO REFRESH | 7 |
READ | 3 | SELF REFRESH | 8 |
WRITE | 4 | LOAD MODE REGISTER | 9 |
本实施例中,DRAM控制器有五条控制线,包括时钟使能控制信号线CKE、片选控制信号线CS、写使能控制信号线WE、列选址控制信号线CAS及行选址控制信号线RAS。
当指令状态机产生“READ”(读)指令对应的指令代码0011时,指令代码通过4位数据线传递给每一个指令解码机,以CKE指令解码机为例:CKE指令解码机接收到指令代码0011后,查找LUT真值表中地址为0011的预存数值,其值为1;接着输出CKE信号线的状态为1。
同理,CKEW的状态为1,CS的状态为0,WE的状态为1,CAS的状态为0,RAS的状态为1,上述各控制线输出后,直接连到MT48LC4M32B2TG-7:G器件对应的管脚上,即实现了DRAM的读控制功能。
同样的,当指令状态机产生其它指令所对应的指令代码时,也是通过指令代码传递,查找LUT真值表,以及各控制线输出相应的状态信号而实现DRAM的控制,在此不一一赘述。
真值表的内容依据Mircon公司提供的数据表制作,本实施例用Xilinx公司的FPGA编译工具(ISE9.2i)在布局布线时,增加了布局约束(LOC约束语句),使指令解码机布局在输出管脚的附近,从而减少了指令解码机到DRAM器件的物理延时,提高工作性能。
综上所述,采用本发明的优化的DRAM控制器,可以满足在低端FPGA上控制高性能DRAM器件,并且在支持不同厂家的DRAM器件时,只需修改指令解码机的LUT真值表即可,无需重新调整已有的布局布线。
Claims (5)
1、一种基于FPGA器件的DRAM控制器,其特征在于,所述的DRAM控制器由一个指令状态机和多个指令解码机组成,当DRAM控制器开始工作时,指令状态机产生每个控制指令唯一对应的指令代码,通过数据线将指令代码传递给每一个指令解码机,每个指令解码机通过控制指令输出线输出对应的控制指令,实现DRAM控制功能。
2、如权利要求1所述的基于FPGA器件的DRAM控制器,其特征在于,所述的指令状态机是有限状态机,用于产生指令代码。
3、如权利要求1所述的基于FPGA器件的DRAM控制器,其特征在于,所述的指令解码机的数量由不同DRAM控制器的控制线确定,每根控制线对应一个指令解码机。
4、如权利要求3所述的基于FPGA器件的DRAM控制器,其特征在于,所述的指令解码机包含查找表模块,根据指令代码,从预存在查找表模块中的真值表中查找对应的控制指令并输出,以实现解码。
5、如权利要求4所述的基于FPGA器件的DRAM控制器,其特征在于,所述真值表根据DRAM器件型号进行编制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100459350A CN101477831A (zh) | 2009-01-22 | 2009-01-22 | 一种基于fpga器件的dram控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100459350A CN101477831A (zh) | 2009-01-22 | 2009-01-22 | 一种基于fpga器件的dram控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101477831A true CN101477831A (zh) | 2009-07-08 |
Family
ID=40838519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009100459350A Pending CN101477831A (zh) | 2009-01-22 | 2009-01-22 | 一种基于fpga器件的dram控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101477831A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824767A (zh) * | 2016-03-15 | 2016-08-03 | 珠海全志科技股份有限公司 | 切位控制电路及方法和控制器 |
CN106814662A (zh) * | 2015-11-30 | 2017-06-09 | 三星电子株式会社 | 加速器控制器和控制加速器逻辑的方法 |
CN109815161A (zh) * | 2018-12-29 | 2019-05-28 | 西安紫光国芯半导体有限公司 | Nvdimm和实现nvdimm ddr4控制器的方法 |
-
2009
- 2009-01-22 CN CNA2009100459350A patent/CN101477831A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106814662A (zh) * | 2015-11-30 | 2017-06-09 | 三星电子株式会社 | 加速器控制器和控制加速器逻辑的方法 |
CN105824767A (zh) * | 2016-03-15 | 2016-08-03 | 珠海全志科技股份有限公司 | 切位控制电路及方法和控制器 |
CN105824767B (zh) * | 2016-03-15 | 2019-03-08 | 珠海全志科技股份有限公司 | 切位控制电路及方法和控制器 |
CN109815161A (zh) * | 2018-12-29 | 2019-05-28 | 西安紫光国芯半导体有限公司 | Nvdimm和实现nvdimm ddr4控制器的方法 |
CN109815161B (zh) * | 2018-12-29 | 2024-03-15 | 西安紫光国芯半导体有限公司 | Nvdimm和实现nvdimm ddr4控制器的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9361970B2 (en) | Configuration for power reduction in DRAM | |
KR102005855B1 (ko) | 하이브리드 메모리 모듈들을 위한 메모리의 i/o들을 구성하기 위한 장치들 및 방법들 | |
US20120079180A1 (en) | DRAM Controller and a method for command controlling | |
CN104681071A (zh) | 半导体存储器件和及其i/o控制电路 | |
CN108604168B (zh) | 用于基于管芯终止的命令的技术 | |
CN102637155A (zh) | 通过训练加修正配置ddr3中数据选通信号延时的方法 | |
EP3084767A1 (en) | Techniques for accessing a dynamic random access memory array | |
US20080183985A1 (en) | Rank Select Operation Between an XIO Interface and a Double Data Rate Interface | |
CN101477831A (zh) | 一种基于fpga器件的dram控制器 | |
US7996601B2 (en) | Apparatus and method of partially accessing dynamic random access memory | |
WO2021030750A8 (en) | Computing memory systems | |
DE102020129114A1 (de) | Techniken für dynamische nähe auf der grundlage von on-die-terminierung | |
JP2011048876A (ja) | 半導体記憶装置及びその制御方法 | |
US20150213845A1 (en) | System using minimum operation power and power supply voltage setting method of memory device | |
US20220357846A1 (en) | Adjustable access energy and access latency memory system and devices | |
CN104599706A (zh) | 随机存取存储器及调整随机存取存储器读取时序的方法 | |
US8107313B2 (en) | Semiconductor memory and memory system | |
CN101256472B (zh) | 接口连接处理器和存储器的命令转换方法、设备和系统 | |
CN102522113B (zh) | 一种sdram桥接电路 | |
JP5398664B2 (ja) | 半導体メモリ | |
JP4754548B2 (ja) | メモリーとその操作方法 | |
CN101221532A (zh) | 实现具有数据处理能力的动态随机存储器的接口方法 | |
CN101640066B (zh) | 内存控制器以及多内存系统 | |
US20130103868A1 (en) | Integrated circuit system and method for operating memory system | |
US20070291572A1 (en) | Clock circuit for semiconductor memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090708 |