CN112131150B - 一种多片外存储器控制方法和装置 - Google Patents
一种多片外存储器控制方法和装置 Download PDFInfo
- Publication number
- CN112131150B CN112131150B CN202010967597.2A CN202010967597A CN112131150B CN 112131150 B CN112131150 B CN 112131150B CN 202010967597 A CN202010967597 A CN 202010967597A CN 112131150 B CN112131150 B CN 112131150B
- Authority
- CN
- China
- Prior art keywords
- fifo
- user interface
- write
- time sequence
- read
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种多片外存储器控制方法和装置,该装置适用于Xilinx公司FPGA芯片,包括:用户接口模块,每个用户接口模块由命令FIFO、写数据FIFO、读数据FIFO组成,用户程序对多个片外存储器的控制可简化为对用户接口模块中的FIFO控制;接口复用模块,该模块完成对多个用户接口模块的轮询读写和位宽对比;时序转换模块,该模块完成FIFO时序与MIG时序(Xilinx公司FPGA中用于控制片外存储器的IP核)间的转换。本发明能够在一定程度上避免用户直接操作MIG IP核复杂的接口时序,只需操作FIFO时序即可完成对多个片外存储器的控制。
Description
技术领域
本发明属于电子工程和计算机科学领域,具体涉及一种多片外存储器控制方法和装置。
背景技术
MIG(Memory Interface Generator)IP核是FPGA生产商Xilinx为FPGA开发者提供的,用于实现访问片外存储器,如DDR2和DDR3等。MIG IP核自身提供两种形式的用户接口:Native接口和AXI接口。其中AXI接口形式符合国际标准,功能完备,但是由于AXI接口的信号较多且时序较为复杂,在手动编码的设计方式中,却会很大程度上拖慢设计进度;Native接口由Xilinx自行开发完成,优点是接口信号相对较少,时序相对简单,但是却不能适应用户逻辑的数据位宽,无法进行完整的数据Burst传输操作,且不具备多个用户程序对多个片外存储器的控制能力。即,该IP核的用户接口功能完备时,接口形式复杂;用户接口形式相对简单时,接口功能不够完备。
发明内容
为了解决上述技术问题本发明提出了一种多片外存储器控制方法和装置,包括设计用户接口模块、接口复用模块和时序转换模块,能够在一定程度上避免用户直接操作MIGIP核复杂的接口时序,只需操作FIFO时序即可完成对多个片外存储器的控制。
本发明解决其技术问题是采取以下技术方案实现的:一种多片外存储器控制装置,其特征在于,包括:
(1)用户接口模块,包含多个用户接口,每个用户接口包括命令FIFO、写数据FIFO、读数据FIFO,用户对多个片外存储器的控制简化为对用户接口中的FIFO控制,具体包括:
①每个拟控制片外存储器的用户接口,包括三个独立的FIFO,即上述命令FIFO、写数据FIFO、读数据FIFO;
②所述命令FIFO用于按序存储该用户接口的多个读写命令,包括读命令、写命令、读写字节长度、位宽、目标片外存储器地址;
③所述写数据FIFO用于按序存储该用户接口拟写入目标片外存储器的有效数据;
④所述读数据FIFO用于按序存储该用户接口从目标片外存储器读取的有效数据;
(2)接口复用模块,用于完成对多个用户接口的轮询读写、位宽对比、按序存储,具体包括:
①轮询读写模块,用于完成对多个用户接口的轮询读写,即在完成对某个用户接口的读写后,无论该用户接口是否还有未处理的任务,接口复用模块均将指向下一个用户接口;
②位宽对比模块,读取用户接口中命令FIFO中的位宽字段,以FPGA中的MIG IP核的位宽为依据,将用户接口中写数据FIFO中的数据位宽与MIG IP位宽对比,即当用户接口中写数据FIFO中的数据位宽小于MIG IP位宽时,将写数据FIFO中的数据高位补0;
③按序存储模块,接口复用模块将MIG IP核返回的数据直接按序存入相对应的用户接口读FIFO中,不作位宽调整;
(3)时序转换模块,该模块完成FIFO时序与MIG IP核时序间的转换,具体包括:
①读时序转换状态机模块,用于完成FIFO读时序与MIG IP核读时序间的转换,实现用户接口基于FIFO时序的片外存储器数据读取;
②写时序转换状态机模块,用于完成FIFO写时序与MIG IP核写时序间的转换,实现用户接口基于FIFO时序的片外存储器数据写入。
进一步的,所述的一种多片外存储器控制装置,该装置适用于Xilinx公司FPGA芯片。
根据本发明的另一方面,还提出一种多片外存储器控制方法,包括如下步骤:
步骤一、对于写数据到目标片外存储器:
①用户程序将写命令和待写数据分别存入用户接口模块中的命令FIFO和写数据FIFO,其中写命令包括写命令、写字节长度、位宽、目标片外存储器地址;
②接口复用模块中的轮询读写模块完成对用户接口的读取,无论该用户接口是否还有未处理的任务,接口复用模块均将指向下一个用户接口;
③接口复用模块中位宽对比模块读取用户接口中命令FIFO中的位宽字段,以FPGA中的MIG IP核的位宽为依据,将用户接口中写数据FIFO中的数据位宽与MIG IP位宽对比,即当用户接口中写数据FIFO中的数据位宽小于MIG IP位宽时,将写数据FIFO中的数据高位补0;
④时序转换模块中的写时序转换状态机模块完成FIFO写时序与MIG IP核写时序间的转换,实现用户接口基于FIFO时序的片外存储器数据写入;
步骤二、对于从目标片外存储器读数据:
①用户程序将读命令存入用户接口模块中的命令FIFO,其中读命令包括读命令、读字节长度、位宽、目标片外存储器地址;
②接口复用模块中的轮询读写模块完成对用户接口的读取,无论该用户接口是否还有未处理的任务,接口复用模块均将指向下一个用户接口;
③接口复用模块中按序存储模块将MIG IP核返回的数据直接按序存入相对应的用户接口读FIFO中,不作位宽调整;
④时序转换模块中的读时序转换状态机模块完成FIFO读时序与MIG IP核读时序间的转换,实现用户接口基于FIFO时序的片外存储器数据读取。
进一步的,所述的多片外存储器控制方法,适用于Xilinx公司FPGA芯片。
有益效果:
本发明与现有技术相比的优点在于:能够在一定程度上解决MIG IP核用户接口形式简单与接口功能完备性之间的矛盾问题,避免用户直接操作MIG IP核复杂的接口时序,只需操作FIFO时序即可完成对多个片外存储器的控制。
附图说明
图1为本发明的装置结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明涉及一种多片外存储器控制方法,能够在一定程度上解决MIG IP核用户接口形式简单与接口功能完备性之间的矛盾问题,避免用户直接操作MIG IP核复杂的接口时序,只需操作FIFO时序即可完成对多个片外存储器的控制。
根据本发明的一个实施例,提出的一种多片外存储器控制装置结构框图,如图1所示,包括用户接口模块、接口复用模块和时序转换模块,具体包括:
(1)用户接口模块,包含多个用户接口,每个用户接口由命令FIFO、写数据FIFO、读数据FIFO组成,用户程序对多个片外存储器的控制可简化为对用户接口中的FIFO控制,具体实现如下:
①针对每个拟控制片外存储器的用户接口(一个FPGA中可并行运行多个用户接口),设计三个独立FIFO,即命令FIFO、写数据FIFO、读数据FIFO;
②命令FIFO按序存储该用户接口的多个读写命令,包括读命令、写命令、读写字节长度、位宽、目标片外存储器地址;
③写数据FIFO按序存储该用户接口拟写入目标片外存储器的有效数据;
④读数据FIFO按序存储该用户接口从目标片外存储器读取的有效数据;
(2)设计接口复用模块,该模块完成对多个用户接口的轮询读写和位宽对比,其中用户接口模块中的位宽字段小于等于MIG IP核的位宽,具体实现如下:
①接口复用模块首先完成对多个用户接口的轮询读写,即在完成对某个用户接口的读写后,无论该用户接口是否还有未处理的任务,接口复用模块均将指向下一个用户接口;
②接口复用模块其次读取用户接口中命令FIFO中的位宽字段,以FPGA中的MIG IP核的位宽为依据,将用户接口中写数据FIFO中的数据位宽与MIG IP位宽对比,即当用户接口中写数据FIFO中的数据位宽小于MIG IP位宽时,将写数据FIFO中的数据高位补0;
③接口复用模块将MIG IP核返回的数据直接按序存入相对应的用户接口读FIFO中,不作位宽调整;
(3)设计时序转换模块,该模块完成FIFO时序与MIG时序(Xilinx公司FPGA中用于控制片外存储器的IP核)间的转换,具体实现如下:
①编写状态机完成FIFO读时序与MIG读时序间的转换,实现用户接口基于FIFO时序的片外存储器数据读取;
②编写状态机完成FIFO写时序与MIG写时序间的转换,实现用户接口基于FIFO时序的片外存储器数据写入。
根据本发明的另一实施例,还提出一种多片外存储器控制方法,包括如下步骤:
步骤一、对于写数据到目标片外存储器:
①用户程序将写命令和待写数据分别存入用户接口模块中的命令FIFO和写数据FIFO,其中写命令包括写命令、写字节长度、位宽、目标片外存储器地址;
②接口复用模块中的轮询读写模块完成对用户接口的读取,无论该用户接口是否还有未处理的任务,接口复用模块均将指向下一个用户接口;
③接口复用模块中位宽对比模块读取用户接口中命令FIFO中的位宽字段,以FPGA中的MIG IP核的位宽为依据,将用户接口中写数据FIFO中的数据位宽与MIG IP位宽对比,即当用户接口中写数据FIFO中的数据位宽小于MIG IP位宽时,将写数据FIFO中的数据高位补0;
④时序转换模块中的写时序转换状态机模块完成FIFO写时序与MIG IP核写时序间的转换,实现用户接口基于FIFO时序的片外存储器数据写入;
步骤二、对于从目标片外存储器读数据:
①用户程序将读命令存入用户接口模块中的命令FIFO,其中读命令包括读命令、读字节长度、位宽、目标片外存储器地址;
②接口复用模块中的轮询读写模块完成对用户接口的读取,无论该用户接口是否还有未处理的任务,接口复用模块均将指向下一个用户接口;
③接口复用模块中按序存储模块将MIG IP核返回的数据直接按序存入相对应的用户接口读FIFO中,不作位宽调整;
④时序转换模块中的读时序转换状态机模块完成FIFO读时序与MIG IP核读时序间的转换,实现用户接口基于FIFO时序的片外存储器数据读取。
综上所述,本发明公开了一种多片外存储器控制方法和装置,包括设计用户接口模块、接口复用模块和时序转换模块,能够在一定程度上解决MIG IP核用户接口形式简单与接口功能完备性之间的矛盾问题,避免用户直接操作MIG IP核复杂的接口时序,只需操作FIFO时序即可完成对多个片外存储器的控制。
本发明说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (4)
1.一种多片外存储器控制装置,其特征在于包括:
(1)用户接口模块,包含多个用户接口,每个用户接口包括命令FIFO、写数据FIFO、读数据FIFO,用户对多个片外存储器的控制简化为对用户接口中的FIFO控制,具体包括:
①每个拟控制片外存储器的用户接口,包括三个独立的FIFO,即上述命令FIFO、写数据FIFO、读数据FIFO;
②所述命令FIFO用于按序存储该用户接口的多个读写命令,包括读命令、写命令、读写字节长度、位宽、目标片外存储器地址;
③所述写数据FIFO用于按序存储该用户接口拟写入目标片外存储器的有效数据;
④所述读数据FIFO用于按序存储该用户接口从目标片外存储器读取的有效数据;
(2)接口复用模块,用于完成对多个用户接口的轮询读写、位宽对比、按序存储,具体包括:
①轮询读写模块,用于完成对多个用户接口的轮询读写,即在完成对某个用户接口的读写后,无论该用户接口是否还有未处理的任务,接口复用模块均将指向下一个用户接口;
②位宽对比模块,读取用户接口中命令FIFO中的位宽字段,以FPGA中的MIG IP核的位宽为依据,将用户接口中写数据FIFO中的数据位宽与MIG IP位宽对比,即当用户接口中写数据FIFO中的数据位宽小于MIG IP位宽时,将写数据FIFO中的数据高位补0;
③按序存储模块,接口复用模块将MIG IP核返回的数据直接按序存入相对应的用户接口读FIFO中,不作位宽调整;
(3)时序转换模块,该模块完成FIFO时序与MIG IP核时序间的转换,具体包括:
①读时序转换状态机模块,用于完成FIFO读时序与MIG IP核读时序间的转换,实现用户接口基于FIFO时序的片外存储器数据读取;
②写时序转换状态机模块,用于完成FIFO写时序与MIG IP核写时序间的转换,实现用户接口基于FIFO时序的片外存储器数据写入。
2.如权利要求1所述的一种多片外存储器控制装置,该装置适用于Xilinx公司FPGA芯片。
3.一种多片外存储器控制方法,其特征在于,包括如下步骤:
步骤一、对于写数据到目标片外存储器:
①用户程序将写命令和待写数据分别存入用户接口模块中的命令FIFO和写数据FIFO,其中写命令包括写命令、写字节长度、位宽、目标片外存储器地址;
②接口复用模块中的轮询读写模块完成对用户接口的读取,无论该用户接口是否还有未处理的任务,接口复用模块均将指向下一个用户接口;
③接口复用模块中位宽对比模块读取用户接口中命令FIFO中的位宽字段,以FPGA中的MIG IP核的位宽为依据,将用户接口中写数据FIFO中的数据位宽与MIG IP位宽对比,即当用户接口中写数据FIFO中的数据位宽小于MIG IP位宽时,将写数据FIFO中的数据高位补0;
④时序转换模块中的写时序转换状态机模块完成FIFO写时序与MIG IP核写时序间的转换,实现用户接口基于FIFO时序的片外存储器数据写入;
步骤二、对于从目标片外存储器读数据:
①用户程序将读命令存入用户接口模块中的命令FIFO,其中读命令包括读命令、读字节长度、位宽、目标片外存储器地址;
②接口复用模块中的轮询读写模块完成对用户接口的读取,无论该用户接口是否还有未处理的任务,接口复用模块均将指向下一个用户接口;
③接口复用模块中按序存储模块将MIG IP核返回的数据直接按序存入相对应的用户接口读FIFO中,不作位宽调整;
④时序转换模块中的读时序转换状态机模块完成FIFO读时序与MIG IP核读时序间的转换,实现用户接口基于FIFO时序的片外存储器数据读取。
4.如权利要求3所述的一种多片外存储器控制方法,该方法适用于Xilinx公司FPGA芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010967597.2A CN112131150B (zh) | 2020-09-15 | 2020-09-15 | 一种多片外存储器控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010967597.2A CN112131150B (zh) | 2020-09-15 | 2020-09-15 | 一种多片外存储器控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131150A CN112131150A (zh) | 2020-12-25 |
CN112131150B true CN112131150B (zh) | 2023-10-03 |
Family
ID=73845766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010967597.2A Active CN112131150B (zh) | 2020-09-15 | 2020-09-15 | 一种多片外存储器控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131150B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279309A (zh) * | 2013-05-15 | 2013-09-04 | 清华大学 | 基于fpga的ddr控制装置及方法 |
CN108984280A (zh) * | 2017-06-05 | 2018-12-11 | 深圳市中兴微电子技术有限公司 | 一种片外存储器的管理方法和装置、计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951412B (zh) * | 2015-06-06 | 2018-01-02 | 华为技术有限公司 | 一种通过内存总线访问的存储装置 |
-
2020
- 2020-09-15 CN CN202010967597.2A patent/CN112131150B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279309A (zh) * | 2013-05-15 | 2013-09-04 | 清华大学 | 基于fpga的ddr控制装置及方法 |
CN108984280A (zh) * | 2017-06-05 | 2018-12-11 | 深圳市中兴微电子技术有限公司 | 一种片外存储器的管理方法和装置、计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
吴连慧 ; 周建江 ; 夏伟杰 ; .基于FPGA的DDR3多端口读写存储管理设计.单片机与嵌入式系统应用.2015,(第01期),第7881页. * |
王红兵 ; 强景 ; 周珍龙 ; .Xilinx MIG IP核的研究及大容量数据缓冲区的实现.电子产品世界.2016,(第08期),第50-51、54-55页. * |
Also Published As
Publication number | Publication date |
---|---|
CN112131150A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100843280B1 (ko) | 메모리 시스템 및 그것의 데이터 전송 방법 | |
US7411859B2 (en) | Multi-port memory device for buffering between hosts | |
KR101105489B1 (ko) | Nand 플래시 메모리의 커맨드 기반 제어 | |
US6421274B1 (en) | Semiconductor memory device and reading and writing method thereof | |
US10552047B2 (en) | Memory system | |
US20030079096A1 (en) | Apparatus and method for controlling a card device | |
US20090235025A1 (en) | Memory card capable of reducing power consumption | |
CN107885517B (zh) | 嵌入式系统处理器程序加载电路 | |
CN101241752A (zh) | 存储卡和包含所述存储卡的存储系统 | |
US20060020764A1 (en) | Information processing apparatus including non-volatile memory device, non-volatile memory device and methods thereof | |
CN110941395A (zh) | 动态随机存取存储器、内存管理方法、系统及存储介质 | |
US20050268026A1 (en) | Memory card, semiconductor device, and method of controlling semiconductor memory | |
CN106649137B (zh) | 一种Nand Flash坏块管理方法、装置及存储器 | |
CN106528217B (zh) | 一种现场可编程门阵列程序加载系统和方法 | |
CN115080471A (zh) | 基于FPGA的nand flash接口控制器及读写方法 | |
CN112256203B (zh) | Flash存储器的写入方法、装置、设备、介质及系统 | |
US7447853B2 (en) | Data copy device | |
CN112131150B (zh) | 一种多片外存储器控制方法和装置 | |
CN104077080A (zh) | 存储器存取方法、存储器存取控制方法、spi闪存装置及其控制器 | |
CN111177027A (zh) | 动态随机存取存储器、内存管理方法、系统及存储介质 | |
CN105404591A (zh) | 处理器系统及其存储器控制方法 | |
CN214540759U (zh) | Fpga芯片及电子系统 | |
US20040186949A1 (en) | XIP system and method for serial memory | |
JP7273176B2 (ja) | シーケンス処理ユニットを備えたメモリ制御システム | |
CN109445686B (zh) | 一种存储磁盘以及存取数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |