CN114968169B - 一种fpga控制的ddr映射多个ddr_fifo实现系统及方法 - Google Patents

一种fpga控制的ddr映射多个ddr_fifo实现系统及方法 Download PDF

Info

Publication number
CN114968169B
CN114968169B CN202210535347.0A CN202210535347A CN114968169B CN 114968169 B CN114968169 B CN 114968169B CN 202210535347 A CN202210535347 A CN 202210535347A CN 114968169 B CN114968169 B CN 114968169B
Authority
CN
China
Prior art keywords
ddr
fifo
data
mapping
logic module
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
CN202210535347.0A
Other languages
English (en)
Other versions
CN114968169A (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202210535347.0A priority Critical patent/CN114968169B/zh
Publication of CN114968169A publication Critical patent/CN114968169A/zh
Application granted granted Critical
Publication of CN114968169B publication Critical patent/CN114968169B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/063Address space extension for I/O modules, e.g. memory mapped I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • 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

本发明是一种FPGA控制的DDR映射多个DDR_FIFO实现系统及方法。本发明涉及数字通信领域技术领域,本发明为了解决FPGA内高速数据缓存通道数量固定的问题,实现当DDR能够满足多个数据通道的总带宽和总缓存容量时,用户可根据缓存通道数量创建相应数量的DDR_FIFO,每个DDR_FIFO映射DDR中的一段地址,可根据需求调整每个DDR_FIFO缓存容量,DDR_FIFO的数据输入和输出都具有异步时钟,用于解决数据跨时钟域的问题,使用方式和FPGA内的FIFO相同,有效提高FPGA开发效率和硬件利用率。

Description

一种FPGA控制的DDR映射多个DDR_FIFO实现系统及方法
技术领域
本发明涉及数字通信领域技术领域,尤其是多通道、高带宽的数字通信缓存和处理,是一种FPGA控制的DDR映射多个DDR_FIFO实现系统及方法。
背景技术
随着高速数字通信发展,可编程的逻辑列阵(FPGA)在数字通信领域应用越来越广泛,但是由于FPGA中存储空间有限,在高速数据通信和高速数据处理的过程中通常需要较大的缓存容量,大多数设计是在FPGA外部使用DDR作为大容量缓存,同时由于DDR的芯片引脚较多,FPGA引脚资源有限,设计时会采用引脚复用的方式将多片DDR组合成一个DDR。FPGA的编程工具带有DDR控制器IP核,DDR控制器IP核具有两种数据接口,普通接口和AXI总线接口,FPGA通过该IP核的数据接口实现对DDR数据写入和读取。
对于FPGA硬件电路,一旦生产完成后,FPGA能够控制的DDR数量就固定了,FPGA内高速数据缓存通道数量也就固定了,如果在FPGA内有更多种通信速率不相同的高速数据需要缓存,虽然DDR的数据带宽能够满足,但是由于通道有限无法满足。对于这种需求,只能增加硬件解决多个通道数据缓存问题,这种方式通用性差,造成了资源浪费。
因此,如何提高DDR控制的通用性和灵活性,降低设备成本是本领域技术人员亟需解决的问题。
发明内容
本发明为克服现有技术的不足,解决FPGA内高速数据缓存通道数量固定的问题,实现当DDR能够满足多个数据通道的总带宽和总缓存容量时,用户可根据缓存通道数量创建相应数量的DDR_FIFO,每个DDR_FIFO映射DDR中的一段地址,可根据需求调整每个DDR_FIFO缓存容量,DDR_FIFO的数据输入和输出都具有异步时钟,用于解决数据跨时钟域的问题,使用方式和FPGA内的FIFO相同,有效提高FPGA开发效率和硬件利用率。
本发明提供了一种FPGA控制的DDR映射多个DDR_FIFO实现系统及方法,本发明提供了以下技术方案:
一种FPGA控制的DDR映射多个DDR_FIFO实现方法,所述方法包括以下步骤:
通过FPGA内DDR控制器IP核与DDR芯片进行数据交互;DDR控制器AXI总线与地址管理逻辑模块进行数据传输;地址管理逻辑模块仲裁DDR控制器某一时刻与其中一个DDR_FIFO进行数据通讯,同时管理DDR_FIFO映射DDR的地址和AXI总线通讯时序。
优选地,某一通道,当DDR映射地址段内没有数据同时FIFO4中数据量没有达到设定的数据量时,数据流向采用FIFO1→FIFO4,即方式1。
优选地,某一通道内,当DDR映射地址段内有数据或FIFO4中数据量到达到设定的数据量时采用FIFO1→FIFO2→DDR控制器→FIFO3→FIFO4,即方式2。
优选地,某一通道的DDR_FIFO逻辑模块实时监测FIFO1中数据量,当某一通道FIFO1的empty信号为低,同时DDR映射地址段内没有数据和FIFO4中数据量没有达到设定的数据量时,读取FIFO1中数据向FIFO4中写入,当FIFO1的empty信号为高,或FIFO4中数据量达到设定的数据量,停止该数据流向模式。
优选地,DDR_FIFO逻辑模块实时监测所有通道FIFO1和FIFO2中数据量,当数据流向不满足方式1,同时FIFO1中的数据量是2倍或2倍以上的FIFO2出口数据位宽与入口数据位宽的比值时,DDR_FIFO逻辑模块将读取FIFO1中的1倍的FIFO2出口与入口数据位宽比值数据量;
DDR_FIFO逻辑模块实时监测FIFO2中数据量和该DDR_FIFO映射DDR的地址段内数据量,当该DDR_FIFO映射DDR的地址段内数据未满,同时FIFO2中的数据量大于0,启动写DDR数据模式标志,地址管理仲裁到该DDR_FIFO时,启动AXI突发写模式,将数据写入DDR控制器中,写入数据量为DDR_FIFO映射DDR的地址段内能够写入数据量和FIFO2中数据量最小值;
DDR_FIFO逻辑模块实时监测FIFO3中和该DDR_FIFO映射DDR的地址段内数据量,当FIFO3中数据未满,同时该DDR_FIFO映射DDR的地址段内有数据,启动读DDR数据模式标志,地址管理仲裁到该DDR_FIFO时,启动AXI突发读模式,将数据从DDR控制器中读取到FIFO3中,读取数据量为DDR_FIFO映射DDR的地址段内能够读取数据量和FIFO3中能够写入数据量最小值;
DDR_FIFO逻辑模块实时监测FIFO3和FIFO4中数据量,当FIFO3中empty信号为低,同时FIFO4中数据量没有达到设定的数据量时,立刻读取FIFO3中数据写入FIFO4中。
一种FPGA控制的DDR映射多个DDR_FIFO实现系统,所述系统包括:地址管理逻辑模块、DDR_FIFO逻辑模块和DDR控制器IP核;
所述地址管理逻辑模块包括DDR_FIFO映射街口、仲裁模块、AXI通讯模块和AXI接口;地址管理逻辑模块采用轮询方式仲裁DDR_FIFO的通讯申请,通讯申请由读突发请求和写突发请求组成;
所述DDR_FIFO逻辑模块与DDR_FIFO映射街口进行映射连接,所述DDR_FIFO映射街口连接仲裁模块,所述仲裁模块连接AXI通讯模块,所述AXI通讯模块连接AXI接口,所述AXI接口连接DDR控制器IP核。
优选地,地址管理逻辑模块中AXI是Master端,根据DDR_FIFO请求的读或写突发数据量与DDR控制器进行数据突发读或写。
优选地,所述的DDR_FIFO逻辑模块内时钟域,FIFO1具有异步时钟域,一侧为输入端时钟域,另一侧为DDR控制器AXI总线时钟域,FIFO4具有异步时钟域,一侧为输出端时钟域,另一侧为DDR控制器AXI总线时钟域。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现FPGA控制的DDR映射多个DDR_FIFO实现方法。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行FPGA控制的DDR映射多个DDR_FIFO实现方法。
本发明具有以下有益效果:
本发明解决了FPGA内高速数据缓存通道数量固定的问题,实现当DDR能够满足多个数据通道的总带宽和总缓存容量时,用户可根据缓存通道数量创建相应数量的DDR_FIFO,每个DDR_FIFO映射DDR中的一段地址,可根据需求调整每个DDR_FIFO缓存容量,DDR_FIFO的数据输入和输出都具有异步时钟,用于解决数据跨时钟域的问题,使用方式和FPGA内的FIFO相同,有效提高FPGA开发效率和硬件利用率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的原理框图;
图2某一通道DDR_FIFO逻辑模块原理框图;
图3DDR_FIFO中两种数据流方式图;
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
以下结合具体实施例,对本发明进行了详细说明。
具体实施例一:
根据图1至图3所示,本发明为解决上述技术问题采取的具体优化技术方案是:本发明涉及一种FPGA控制的DDR映射多个DDR_FIFO实现系统及方法。
本发明提供一种FPGA控制的DDR映射多个DDR_FIFO实现方法,所述方法包括以下步骤:
通过FPGA内DDR控制器IP核与DDR芯片进行数据交互;DDR控制器AXI总线与地址管理逻辑模块进行数据传输;地址管理逻辑模块仲裁DDR控制器某一时刻与其中一个DDR_FIFO进行数据通讯,同时管理DDR_FIFO映射DDR的地址和AXI总线通讯时序。
本发明解决了FPGA内高速数据缓存通道数量固定的问题,实现当DDR能够满足多个数据通道的总带宽和总缓存容量时,用户可根据缓存通道数量创建相应数量的DDR_FIFO,每个DDR_FIFO映射DDR中的一段地址,可根据需求调整每个DDR_FIFO缓存容量,DDR_FIFO的数据输入和输出都具有异步时钟,用于解决数据跨时钟域的问题,使用方式和FPGA内的FIFO相同,有效提高FPGA开发效率和硬件利用率。
DDR_FIFO中的FIFO1和FIFO4是具有异步时钟域的FIFO,FIFO2、FIFO3、地址管理逻辑模块和DDR控制器中AXI总线具有相同的时钟域。
具体实施例二:
本申请实施例二与实施例一的区别仅在于:
当DDR映射地址段内没有数据同时FIFO4中数据量没有达到设定的数据量时,数据流向采用FIFO1→FIFO4,即方式1。
DDR_FIFO中的FIFO1和FIFO4是具有异步时钟域的FIFO,FIFO2、FIFO3、地址管理逻辑模块和DDR控制器中AXI总线具有相同的时钟域。
具体实施例三:
本申请实施例三与实施例二的区别仅在于:
当DDR映射地址段内有数据或FIFO4中数据量到达到设定的数据量时采用FIFO1→FIFO2→DDR控制器→FIFO3→FIFO4,即方式2。
DDR_FIFO中的FIFO1和FIFO4是具有异步时钟域的FIFO,FIFO2、FIFO3、地址管理逻辑模块和DDR控制器中AXI总线具有相同的时钟域。
具体实施例四:
本申请实施例四与实施例三的区别仅在于:
DDR_FIFO逻辑模块实时监测FIFO1中数据量,当FIFO1的empty信号为低,同时DDR映射地址段内没有数据和FIFO4中数据量没有达到设定的数据量时,向读取FIFO1中数据向FIFO4中写入,当empty信号为高,FIFO4中数据量达到设定的数据量,停止该数据流向模式。
具体实施例五:
本申请实施例五与实施例四的区别仅在于:
DDR_FIFO逻辑模块实时监测FIFO1和FIFO2中数据量,当数据流向不满足方式1,同时FIFO1中的数据量是2倍或2倍以上的FIFO2出口数据位宽与入口数据位宽的比值时,DDR_FIFO逻辑模块将读取FIFO1中的1倍的FIFO2出口与入口数据位宽比值数据量;
DDR_FIFO逻辑模块实时监测FIFO2中数据量和该DDR_FIFO映射DDR的地址段内数据量,当该DDR_FIFO映射DDR的地址段内数据未满,同时FIFO2中的数据量大于0,启动写DDR数据模式标志,地址管理仲裁到该DDR_FIFO时,启动AXI突发写模式,将数据写入DDR控制器中,写入数据量为DDR_FIFO映射DDR的地址段内能够写入数据量和FIFO2中数据量最小值;
DDR_FIFO逻辑模块实时监测FIFO3中和该DDR_FIFO映射DDR的地址段内数据量,当FIFO3中数据未满,同时该DDR_FIFO映射DDR的地址段内有数据,启动读DDR数据模式标志,地址管理仲裁到该DDR_FIFO时,启动AXI突发读模式,将数据从DDR控制器中读取到FIFO3中,读取数据量为DDR_FIFO映射DDR的地址段内能够读取数据量和FIFO3中能够写入数据量最小值;
DDR_FIFO逻辑模块实时监测FIFO3和FIFO4中数据量,当FIFO3中empty信号为低,同时FIFO4中数据量没有达到设定的数据量时,立刻读取FIFO3中数据写入FIFO4中。
具体实施例六:
本申请实施例六与实施例五的区别仅在于:
本发明提供一种FPGA控制的DDR映射多个DDR_FIFO实现系统,所述系统包括:地址管理逻辑模块、DDR_FIFO逻辑模块和DDR控制器IP核;
所述地址管理逻辑模块包括DDR_FIFO映射接口、仲裁模块、AXI通讯模块和AXI接口;地址管理逻辑模块采用轮询方式仲裁DDR_FIFO的通讯申请,通讯申请由读突发请求和写突发请求组成;
所述DDR_FIFO逻辑模块与DDR_FIFO映射街口进行映射连接,所述DDR_FIFO映射街口连接仲裁模块,所述仲裁模块连接AXI通讯模块,所述AXI通讯模块连接AXI接口,所述AXI接口连接DDR控制器IP核。
DDR_FIFO中的FIFO1和FIFO4是具有异步时钟域的FIFO,FIFO2、FIFO3、地址管理逻辑模块和DDR控制器中AXI总线具有相同的时钟域。
DDR_FIFO逻辑模块内FIFO1~FIFO4的数据位宽,其特征在于:FIFO1与FIFO4的数据位宽是用户接口数据位宽,其位宽是AXI总线数据位宽的整数倍分之一,因此它们数据位宽最大等于AXI总线数据位宽,最小等于1。
地址管理逻辑模块管理DDR_FIFO映射DDR的地址,其特征在于:地址管理逻辑模块中DDR_FIFO映射DDR的地址段是AXI总线数据位宽的整数倍,每个地址对应着8bits数据,最高地址在DDR地址空间范围内。
FIFO1具有异步时钟域,一侧为输入端时钟域,另一侧为DDR控制器AXI总线时钟域。FIFO4具有异步时钟域,一侧为输出端时钟域,另一侧为DDR控制器AXI总线时钟域。
具体实施例七:
本申请实施例七与实施例六的区别仅在于:
地址管理逻辑模块中AXI是Master端,根据DDR_FIFO请求的读或写突发数据量与DDR控制器进行数据突发读或写。
具体实施例八:
本申请实施例八与实施例七的区别仅在于:
所述的DDR_FIFO逻辑模块内时钟域,FIFO1具有异步时钟域,一侧为输入端时钟域,另一侧为DDR控制器AXI总线时钟域,FIFO4具有异步时钟域,一侧为输出端时钟域,另一侧为DDR控制器AXI总线时钟域。
具体实施例九:
本申请实施例九与实施例八的区别仅在于:
本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现FPGA控制的DDR映射多个DDR_FIFO实现方法。
具体实施例十:
本申请实施例十与实施例九的区别仅在于:
本发明提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行FPGA控制的DDR映射多个DDR_FIFO实现方法。
具体实施例十一:
本申请实施例十一与实施例十的区别仅在于:
本发明提供一种FPGA控制的DDR映射多个DDR_FIFO实现方法,具体为:采用FPGA内DDR控制器IP核与DDR芯片进行数据交互;DDR控制器AXI总线与地址管理逻辑模块进行数据传输;地址管理逻辑模块仲裁DDR控制器与哪个DDR_FIFO进行数据通讯,同时管理DDR_FIFO映射DDR的地址和AXI总线通讯时序;DDR_FIFO逻辑模块内具有4个缓存,包括:FIFO1、FIFO2、FIFO3和FIFO4;所述的FIFO1~4是FPGA中FIFO IP核;数据流向有两种方式,方式1为FIFO1→FIFO4,方式2为FIFO1→FIFO2→DDR控制器→FIFO3→FIFO4;当DDR映射地址段内没有数据同时FIFO4中数据量没有达到设定的数据量时,数据流向采用方式1,当DDR映射地址段内有数据或FIFO4中数据量到达到设定的数据量时采用方式2;FIFO1与FIFO4的数据位宽相同,对应着用户接口数据位宽,FIFO2和FIFO3具有两种数据位宽,一端和AXI总线数据位宽相同,另一端和用户接口数据位宽相同;AXI总线数据位宽对应着DDR芯片总数据位宽*8(DDR突发数据量);DDR_FIFO中的FIFO1和FIFO4是具有异步时钟域的FIFO,FIFO2、FIFO3、地址管理逻辑模块和DDR控制器中AXI总线具有相同的时钟域。
以上所述仅是一种FPGA控制的DDR映射多个DDR_FIFO实现系统及方法的优选实施方式,一种FPGA控制的DDR映射多个DDR_FIFO实现系统及方法的保护范围并不仅局限于上述实施例,凡属于该思路下的技术方案均属于本发明的保护范围。应当指出,对于本领域的技术人员来说,在不脱离本发明原理前提下的若干改进和变化,这些改进和变化也应视为本发明的保护范围。

Claims (7)

1.一种FPGA控制的DDR映射多个DDR_FIFO实现方法,其特征是:所述方法包括以下步骤:
通过FPGA内DDR控制器IP核与DDR芯片进行数据交互;DDR控制器AXI总线与地址管理逻辑模块进行数据传输;地址管理逻辑模块仲裁DDR控制器某一时刻与其中一个DDR_FIFO进行数据通讯,同时管理DDR_FIFO映射DDR的地址和AXI总线通讯时序;
当DDR映射地址段内没有数据同时FIFO4中数据量没有达到设定的数据量时,数据流向采用FIFO1→FIFO4,即方式1;
当DDR映射地址段内有数据或FIFO4中数据量到达到设定的数据量时采用FIFO1→FIFO2→DDR控制器→FIFO3→FIFO4,即方式2;
DDR_FIFO逻辑模块实时监测FIFO1和FIFO2中数据量,当数据流向不满足方式1,同时FIFO1中的数据量是2倍或2倍以上的FIFO2出口数据位宽与入口数据位宽的比值时,DDR_FIFO逻辑模块将读取FIFO1中的1倍的FIFO2出口与入口数据位宽比值数据量;
DDR_FIFO逻辑模块实时监测FIFO2中数据量和该DDR_FIFO映射DDR的地址段内数据量,当该DDR_FIFO映射DDR的地址段内数据未满,同时FIFO2中的数据量大于0,启动写DDR数据模式标志,地址管理仲裁到该DDR_FIFO时,启动AXI突发写模式,将数据写入DDR控制器中,写入数据量为DDR_FIFO映射DDR的地址段内能够写入数据量和FIFO2中数据量最小值;
DDR_FIFO逻辑模块实时监测FIFO3中和该DDR_FIFO映射DDR的地址段内数据量,当FIFO3中数据未满,同时该DDR_FIFO映射DDR的地址段内有数据,启动读DDR数据模式标志,地址管理仲裁到该DDR_FIFO时,启动AXI突发读模式,将数据从DDR控制器中读取到FIFO3中,读取数据量为DDR_FIFO映射DDR的地址段内能够读取数据量和FIFO3中能够写入数据量最小值;
DDR_FIFO逻辑模块实时监测FIFO3和FIFO4中数据量,当FIFO3中empty信号为低,同时FIFO4中数据量没有达到设定的数据量时,立刻读取FIFO3中数据写入FIFO4中。
2.根据权利要求1所述的一种FPGA控制的DDR映射多个DDR_FIFO实现方法,其特征是:DDR_FIFO逻辑模块实时监测FIFO1中数据量,当FIFO1的empty信号为低,同时DDR映射地址段内没有数据和FIFO4中数据量没有达到设定的数据量时,读取FIFO1中数据向FIFO4中写入,当FIFO1的empty信号为高,或FIFO4中数据量达到设定的数据量,停止该数据流向模式。
3.一种基于权利要求1所述DDR映射多个DDR_FIFO实现方法的实现系统,其特征是:所述系统包括:地址管理逻辑模块、DDR_FIFO逻辑模块和DDR控制器IP核;
所述地址管理逻辑模块包括DDR_FIFO映射街口、仲裁模块、AXI通讯模块和AXI接口;地址管理逻辑模块采用轮询方式仲裁DDR_FIFO的通讯申请,通讯申请由读突发请求和写突发请求组成;
所述DDR_FIFO逻辑模块与DDR_FIFO映射接口进行映射连接,所述DDR_FIFO映射街口连接仲裁模块,所述仲裁模块连接AXI通讯模块,所述AXI通讯模块连接AXI接口,所述AXI接口连接DDR控制器IP核。
4.根据权利要求3所述的一种FPGA控制的DDR映射多个DDR_FIFO实现系统,其特征是:地址管理逻辑模块中AXI是Master端,根据DDR_FIFO请求的读或写突发数据量与DDR控制器进行数据突发读或写。
5.根据权利要求4所述的一种FPGA控制的DDR映射多个DDR_FIFO实现系统,其特征是:所述的DDR_FIFO逻辑模块内时钟域,FIFO1具有异步时钟域,一侧为输入端时钟域,另一侧为DDR控制器AXI总线时钟域,FIFO4具有异步时钟域,一侧为输出端时钟域,另一侧为DDR控制器AXI总线时钟域。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-2所述的FPGA控制的DDR映射多个DDR_FIFO实现方法。
7.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行根据权利要求1-2所述的FPGA控制的DDR映射多个DDR_FIFO实现方法。
CN202210535347.0A 2022-05-17 2022-05-17 一种fpga控制的ddr映射多个ddr_fifo实现系统及方法 Active CN114968169B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210535347.0A CN114968169B (zh) 2022-05-17 2022-05-17 一种fpga控制的ddr映射多个ddr_fifo实现系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210535347.0A CN114968169B (zh) 2022-05-17 2022-05-17 一种fpga控制的ddr映射多个ddr_fifo实现系统及方法

Publications (2)

Publication Number Publication Date
CN114968169A CN114968169A (zh) 2022-08-30
CN114968169B true CN114968169B (zh) 2023-10-10

Family

ID=82983720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210535347.0A Active CN114968169B (zh) 2022-05-17 2022-05-17 一种fpga控制的ddr映射多个ddr_fifo实现系统及方法

Country Status (1)

Country Link
CN (1) CN114968169B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103198856A (zh) * 2013-03-22 2013-07-10 烽火通信科技股份有限公司 一种ddr控制器及请求调度方法
CN104050143A (zh) * 2013-03-14 2014-09-17 阿尔特拉公司 向混合可编程多核器件映射网络应用
CN105335323A (zh) * 2015-11-26 2016-02-17 浙江宇视科技有限公司 一种数据突发的缓存装置和方法
CN108958800A (zh) * 2018-06-15 2018-12-07 中国电子科技集团公司第五十二研究所 一种基于fpga硬件加速的ddr管理控制系统
CN109062684A (zh) * 2018-07-04 2018-12-21 南京南大光电工程研究院有限公司 一种多核处理器的硬件实时动态自适应动态负载平衡方法
CN109271335A (zh) * 2018-07-24 2019-01-25 上海威固信息技术股份有限公司 一种多通道数据源ddr缓存的fpga实现方法
CN109412914A (zh) * 2018-08-31 2019-03-01 南京理工大学 流数据与axi接口通信装置
CN111782578A (zh) * 2020-05-29 2020-10-16 西安电子科技大学 一种缓存控制方法、系统、存储介质、计算机设备及应用
CN112364583A (zh) * 2020-11-24 2021-02-12 北京轩宇信息技术有限公司 一种fpga软硬件协同仿真系统及方法
CN112463655A (zh) * 2020-11-14 2021-03-09 武汉汇迪森信息技术有限公司 一种高速数据采集存储系统的数据存储及读取方法
CN112765054A (zh) * 2019-11-01 2021-05-07 中国科学院声学研究所 一种基于fpga的高速数据采集系统及方法
CN113360424A (zh) * 2021-06-16 2021-09-07 上海创景信息科技有限公司 基于多通路独立axi总线的rldram3控制器
CN114090472A (zh) * 2021-11-30 2022-02-25 上海创远仪器技术股份有限公司 基于ddr实现大规模fifo数据处理的系统、方法、装置、处理器及其存储介质
CN114490466A (zh) * 2021-12-28 2022-05-13 深圳市紫光同创电子有限公司 一种实现数据连续存储的ddr ip核架构及方法

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104050143A (zh) * 2013-03-14 2014-09-17 阿尔特拉公司 向混合可编程多核器件映射网络应用
CN103198856A (zh) * 2013-03-22 2013-07-10 烽火通信科技股份有限公司 一种ddr控制器及请求调度方法
CN105335323A (zh) * 2015-11-26 2016-02-17 浙江宇视科技有限公司 一种数据突发的缓存装置和方法
CN108958800A (zh) * 2018-06-15 2018-12-07 中国电子科技集团公司第五十二研究所 一种基于fpga硬件加速的ddr管理控制系统
CN109062684A (zh) * 2018-07-04 2018-12-21 南京南大光电工程研究院有限公司 一种多核处理器的硬件实时动态自适应动态负载平衡方法
CN109271335A (zh) * 2018-07-24 2019-01-25 上海威固信息技术股份有限公司 一种多通道数据源ddr缓存的fpga实现方法
CN109412914A (zh) * 2018-08-31 2019-03-01 南京理工大学 流数据与axi接口通信装置
CN112765054A (zh) * 2019-11-01 2021-05-07 中国科学院声学研究所 一种基于fpga的高速数据采集系统及方法
CN111782578A (zh) * 2020-05-29 2020-10-16 西安电子科技大学 一种缓存控制方法、系统、存储介质、计算机设备及应用
CN112463655A (zh) * 2020-11-14 2021-03-09 武汉汇迪森信息技术有限公司 一种高速数据采集存储系统的数据存储及读取方法
CN112364583A (zh) * 2020-11-24 2021-02-12 北京轩宇信息技术有限公司 一种fpga软硬件协同仿真系统及方法
CN113360424A (zh) * 2021-06-16 2021-09-07 上海创景信息科技有限公司 基于多通路独立axi总线的rldram3控制器
CN114090472A (zh) * 2021-11-30 2022-02-25 上海创远仪器技术股份有限公司 基于ddr实现大规模fifo数据处理的系统、方法、装置、处理器及其存储介质
CN114490466A (zh) * 2021-12-28 2022-05-13 深圳市紫光同创电子有限公司 一种实现数据连续存储的ddr ip核架构及方法

Also Published As

Publication number Publication date
CN114968169A (zh) 2022-08-30

Similar Documents

Publication Publication Date Title
CN105224482B (zh) 一种fpga加速卡高速存储系统
US9537488B1 (en) Apparatus for configurable interface and associated methods
US8380943B2 (en) Variable-width memory module and buffer
CN101436171B (zh) 模块化通信控制系统
CN106951388A (zh) 一种基于PCIe的DMA数据传输方法及系统
CN102622192B (zh) 一种弱相关多端口并行存储控制器
CN105205025A (zh) 一种芯片互连的方法、芯片及装置
CN203812236U (zh) 一种基于处理器和现场可编程门阵列的数据交换系统
CN101599004A (zh) 基于fpga的sata控制器
CN108600017A (zh) 多协议串口扩展方法
CN104657297B (zh) 计算设备扩展系统及扩展方法
CN114968169B (zh) 一种fpga控制的ddr映射多个ddr_fifo实现系统及方法
CN209248436U (zh) 一种扩展板卡及服务器
CN102789424B (zh) 基于fpga的外扩ddr2的读写方法及基于fpga的外扩ddr2颗粒存储器
CN102662887B (zh) 一种多端口随机存储器
CN2845324Y (zh) 基于fpga的mvb一类设备网卡
CN104409099A (zh) 基于FPGA的高速eMMC阵列控制器
CN208077163U (zh) 一种基于eim总线的接口扩展设备
CN111581132B (zh) 一种基于fpga的可扩展的多端口ddr3控制器
CN204390227U (zh) 计算设备扩展装置、以及可扩展的计算系统
CN105677609A (zh) 一种SoC系统的总线结构
CN110765066B (zh) 一种片上系统
CN104598404B (zh) 计算设备扩展方法和装置、以及可扩展的计算系统
CN209055942U (zh) 一种多功能复用接口电路
CN210155650U (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