CN112131150B - 一种多片外存储器控制方法和装置 - Google Patents

一种多片外存储器控制方法和装置 Download PDF

Info

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
Application number
CN202010967597.2A
Other languages
English (en)
Other versions
CN112131150A (zh
Inventor
刘靖旻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shenzhou Feihang Technology Co ltd
Original Assignee
Beijing Shenzhou Feihang Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Shenzhou Feihang Technology Co ltd filed Critical Beijing Shenzhou Feihang Technology Co ltd
Priority to CN202010967597.2A priority Critical patent/CN112131150B/zh
Publication of CN112131150A publication Critical patent/CN112131150A/zh
Application granted granted Critical
Publication of CN112131150B publication Critical patent/CN112131150B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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芯片。
CN202010967597.2A 2020-09-15 2020-09-15 一种多片外存储器控制方法和装置 Active CN112131150B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104951412B (zh) * 2015-06-06 2018-01-02 华为技术有限公司 一种通过内存总线访问的存储装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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