CN111581132A - 一种基于fpga的可扩展的多端口ddr3控制器 - Google Patents

一种基于fpga的可扩展的多端口ddr3控制器 Download PDF

Info

Publication number
CN111581132A
CN111581132A CN202010345110.7A CN202010345110A CN111581132A CN 111581132 A CN111581132 A CN 111581132A CN 202010345110 A CN202010345110 A CN 202010345110A CN 111581132 A CN111581132 A CN 111581132A
Authority
CN
China
Prior art keywords
write
read
port
fifo
data
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.)
Granted
Application number
CN202010345110.7A
Other languages
English (en)
Other versions
CN111581132B (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.)
Wuhan Zhongke Niujin Wave Spectrum Technology Co ltd
Original Assignee
Wuhan Zhongke Niujin Wave Spectrum 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 Wuhan Zhongke Niujin Wave Spectrum Technology Co ltd filed Critical Wuhan Zhongke Niujin Wave Spectrum Technology Co ltd
Priority to CN202010345110.7A priority Critical patent/CN111581132B/zh
Publication of CN111581132A publication Critical patent/CN111581132A/zh
Application granted granted Critical
Publication of CN111581132B publication Critical patent/CN111581132B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明涉及通讯技术领域,尤其涉及一种基于FPGA的可扩展的多端口DDR3控制器,包括仲裁模块、读写空间大小管理模块、DDR3 IP核控制模块和FIFO接口控制模块,所述仲裁模块、读写空间大小管理模块、DDR3 IP核控制模块和FIFO接口控制模块依次电连接;所述仲裁模块用于根据读写空间大小管理模块提供的读写剩余可用地址空间大小、各端口所对应的FIFO容量阈值和各端口按实际需求排列的优先级信息来综合仲裁管理各端口的读写请求。本发明具有标准FIFO读写接口形式、端口数量可配置、单次读写大小可配置、各端口地址空间大小总量可配置以及控制器内部提供各端口读写优先级仲裁。

Description

一种基于FPGA的可扩展的多端口DDR3控制器
技术领域
本发明涉及通讯技术领域,尤其涉及一种基于FPGA的可扩展的多端口DDR3控制器。
背景技术
随着半导体存储器技术的飞速发展,其中DDR3内存颗粒具有大容量、高读写速率、运行稳定等优点,因此DDR3存储器在计算机、电子通信等领域得到了广泛应用。FPGA现场可编程门阵列具有超大逻辑门资源,可同时处理多路复杂数据流,且可以实现多种复杂的算法,因此在通信,图像处理等领域得到广泛应用。
市场上最新的kintex-7系列FPGA的DDR3硬核资源接口实现了DDR3PHY的物理层连接,但其硬核IP只给用户提供了单个读写接口,包括读写地址输入app_addr、读写控制命令app_cmd、命令使能app_en、写数据app_wdf_data、写使能app_wdf_wren、写结束app_wdf_end、读数据app_rd_data、读使能app_wdf_wren、读结束app_rd_data_end、读有效app_rd_data_valid、读写准备app_rdy等。由于此接口方式只能进行一个端口数据流的读写操作且较为复杂,因此无法满足在需要同时处理多路高速复杂数据流缓存的多端口应用需求。为此,我们提出一种基于FPGA的可扩展的多端口DDR3控制器。
发明内容
基于背景技术存在的技术问题,本发明提出了一种基于FPGA的可扩展的多端口DDR3控制器,具有读写操作更加便捷,让DDR3的使用效率更高的特点,解决了现有技术无法满足同时处理多路高速复杂数据流缓存的多端口应用需求的问题。
本发明提供如下技术方案:一种基于FPGA的可扩展的多端口DDR3控制器,包括仲裁模块、读写空间大小管理模块、DDR3 IP核控制模块和FIFO接口控制模块,所述仲裁模块、读写空间大小管理模块、DDR3 IP核控制模块和FIFO接口控制模块依次电连接;
所述仲裁模块用于根据读写空间大小管理模块提供的读写剩余可用地址空间大小、各端口所对应的FIFO容量阈值和各端口按实际需求排列的优先级信息来综合仲裁管理各端口的读写请求;
所述读写空间大小管理模块用于管理每个端口读写过程,根据全局配置的单次读写大小和各端口地址空间大小总量,对每个端口每次的读写流程进行地址统计和管理后,计算更新每一次读写后当前的读写剩余可用地址空间大小;
所述DDR3 IP核控制模块用于控制IP核的Burst读写时序过程,所述FIFO接口控制模块用于控制各端口的FIFO读写时序过程。
优选的,还包括信号接口逻辑控制模块,所述信号接口逻辑控制模块用于根据端口扩展需求配置端口数量,所述DDR3 IP核控制模块和FIFO接口控制模块还用于发送和接收信号接口逻辑控制模块数据。
优选的,所述仲裁模块根据设计需求排列各通道的读写优先级,然后读取读写空间大小管理模块计算反馈上来的各端口所对应的读写剩余可用地址空间大小;对于写入数据,判断若该剩余可用写地址空间大小大于等于全局配置的单次读写大小且写入数据流侧FIFO可读预空标志为0,则对应端口此次的写数据请求仲裁通过;对于读出数据,判断若该剩余可用读地址空间大小大于等于全局配置的单次读写大小且读出数据流侧FIFO可写预满标志0,则对应端口此次的读数据请求仲裁通过。
优选的,所述读写空间大小管理模块,对写数据请求仲裁通过的端口,在写数据的过程中累加统计写数据量,当写数据量达到该端口所配置地址空间大小总量时,累加统计的写数据量清零并将写溢出标志位取反;对读数据请求仲裁通过的端口,在读数据的过程中累加统计读数据量,当读数据量达到该端口所配置地址空间大小总量时,累加统计的读数据量清零并将读溢出标志位取反。
优选的,同一个端口的写溢出标志位与读溢出标志位包括四种逻辑关系:写溢出标志位逻辑0与读溢出标志位逻辑0、写溢出标志位逻辑0与读溢出标志位逻辑1、写溢出标志位逻辑1与读溢出标志位逻辑0、写溢出标志位逻辑1与读溢出标志位逻辑1,所述读写空间大小管理模块针对以上四种逻辑关系分别计算得到端口读写剩余可用地址空间大小。
优选的,所述FIFO接口控制模块的FIFO信号接口中用户写入的数据信号为:
端口N数据写请求fifochN_wrreq_ddr3;
端口N写数据fifochN_data_ddr3;
端口N写预满标志fifochN_prog_full_ddr3;
其中N是指通道号,即端口编号。
优选的,所述FIFO接口控制模块的FIFO信号接口中用户读出的数据信号为:
端口N数据读请求fifochN_rdreq_ddr3;
端口N读数据fifochN_q_ddr3;
端口N读预空标志fifochN_prog_empty_ddr3;
其中N是指通道号,即端口编号。
优选的,所述FIFO接口控制模块中写数据流侧FIFO的prog_full预满的阈值计算是由FIFO depth值减去1.5倍用户单次写数据流大小等于阈值,所述FIFO接口控制模块中写数据流侧FIFO的prog_empty预空的阈值计算由单次读写大小减去1等于阈值。
优选的,所述FIFO接口控制模块中读数据流侧FIFO的prog_full预满的阈值计算是由FIFO depth值减去1.5倍用户单次读数据流大小等于阈值,所述FIFO接口控制模块中读数据流侧FIFO的prog_empty预空的阈值计算是由单次读数据流大小减去1等于阈值。
优选的,将所述读写空间大小管理模块替换为信号接口逻辑控制模块,所述信号接口逻辑控制模块用于根据端口扩展需求配置端口数量,所述DDR3IP核控制模块和FIFO接口控制模块还用于发送和接收信号接口逻辑控制模块数据。
本发明提供了一种基于FPGA的可扩展的多端口DDR3控制器,用户可根据实际使用需求配置数据流通道数量,且读写接口采用标准FIFO接口形式,让读写操作更加便捷,同时隔离了不同时钟域数据读写,避免亚稳态的产生。
用户可根据实际写入数据流逻辑和读出数据流逻辑来综合匹配数据流的写入带宽和读出带宽,让DDR3的使用效率更高。用户可根据各端口实际数据流缓存大小需求来设定访问地址空间的大小,节约了DDR3的内存空间。
用户在使用该控制器时,无需关心DDR3的读写情况以及内部的读写带宽问题,只需要根据FIFO接口的prog_full和prog_empty来确定当前是否可写入数据或是否可读出数据。
附图说明
图1是一种基于FPGA的可扩展的多端口DDR3控制器结构图;
图2是FIFO信号接口图;
图3是核心模块之间的信号关系图;
图4是读写数据流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种技术方案:
实施例一:
一种基于FPGA的可扩展的多端口DDR3控制器,包括仲裁模块、读写空间大小管理模块、DDR3 IP核控制模块和FIFO接口控制模块,仲裁模块、读写空间大小管理模块、DDR3IP核控制模块和FIFO接口控制模块依次电连接;
仲裁模块用于根据读写空间大小管理模块提供的读写剩余可用地址空间大小、各端口所对应的FIFO容量阈值和各端口按实际需求排列的优先级信息来综合仲裁管理各端口的读写请求;
读写空间大小管理模块用于管理每个端口读写过程,根据全局配置的单次读写大小和各端口地址空间大小总量,对每个端口每次的读写流程进行地址统计和管理后,计算更新每一次读写后当前的读写剩余可用地址空间大小;
DDR3 IP核控制模块用于控制IP核的Burst读写时序过程,FIFO接口控制模块用于控制各端口的FIFO读写时序过程。
在本发明中仲裁模块,根据设计需求排列各通道的读写优先级,然后读取读写空间大小管理模块计算反馈上来的各端口所对应的读写剩余可用地址空间大小。对于写入数据,判断若该剩余可用写地址空间大小大于等于全局配置的单次读写大小且写入数据流侧FIFO可读预空标志为0,则对应端口此次的写数据请求仲裁通过;对于读出数据,判断若该剩余可用读地址空间大小大于等于全局配置的单次读写大小且读出数据流侧FIFO可写预满标志0,则对应端口此次的读数据请求仲裁通过。
在本发明中读写空间大小管理模块,对写数据请求仲裁通过的端口,在写数据的过程中累加统计写数据量,当写数据量达到该端口所配置地址空间大小总量时,累加统计的写数据量清零并将写溢出标志位取反;对读数据请求仲裁通过的端口,在读数据的过程中累加统计读数据量,当读数据量达到该端口所配置地址空间大小总量时,累加统计的读数据量清零并将读溢出标志位取反;同一个端口的写溢出标志位与读溢出标志位会有四种逻辑关系,即写溢出标志位逻辑0与读溢出标志位逻辑0、写溢出标志位逻辑0与读溢出标志位逻辑1、写溢出标志位逻辑1与读溢出标志位逻辑0、写溢出标志位逻辑1与读溢出标志位逻辑1。针对以上四种逻辑关系分别计算得到端口读写剩余可用地址空间大小。
用户写入数据接口信号:
端口一数据写请求fifoch1_wrreq_ddr3;
端口一写数据fifoch1_data_ddr3;
端口一写预满标志fifoch1_prog_full_ddr3;
端口二数据写请求fifoch2_wrreq_ddr3;
端口二写数据fifoch2_data_ddr3;
端口二写预满标志fifoch2_prog_full_ddr3;
端口三数据写请求fifoch3_wrreq_ddr3;
端口三写数据fifoch3_data_ddr3;
端口三写预满标志fifoch3_prog_full_ddr3;
端口四数据写请求fifoch4_wrreq_ddr3;
端口四写数据fifoch4_data_ddr3;
端口四写预满标志fifoch4_prog_full_ddr3;
......
端口N数据写请求fifochN_wrreq_ddr3;
端口N写数据fifochN_data_ddr3;
端口N写预满标志fifochN_prog_full_ddr3。
用户读出数据接口信号:
端口一数据读请求fifoch1_rdreq_ddr3;
端口一读数据fifoch1_q_ddr3;
端口一读预空标志fifoch1_prog_empty_ddr3;
端口二数据读请求fifoch2_rdreq_ddr3;
端口二读数据fifoch2_q_ddr3;
端口二读预空标志fifoch2_prog_empty_ddr3;
端口三数据读请求fifoch3_rdreq_ddr3;
端口三读数据fifoch3_q_ddr3;
端口三读预空标志fifoch3_prog_empty_ddr3;
端口四数据读请求fifoch4_rdreq_ddr3;
端口四读数据fifoch4_q_ddr3;
端口四读预空标志fifoch4_prog_empty_ddr3;
......
端口N数据读请求fifochN_rdreq_ddr3;
端口N读数据fifochN_q_ddr3;
端口N读预空标志fifochN_prog_empty_ddr3;
以上描述的接口信号皆为用户可用信号。
如图1所示,写数据流侧FIFO的prog_full预满的阈值设定需根据当前端口用户单次写数据流大小来计算,即FIFO depth值减去阈值等于1.5倍用户单次写数据流大小;写数据流侧FIFO的prog_empty预空的阈值设定需根据单次读写大小来计算,即单次读写大小减去1等于阈值。读数据流侧FIFO的prog_full预满的阈值设定需根据单次读写大小来计算,即FIFO depth值减去阈值等于1.5倍单次读写大小;读数据流侧FIFO的prog_empty预空的阈值设定需根据当前端口用户单次读数据流大小来计算,即用户单次读数据流大小减去1等于阈值。
如图3和图4所示,当用户写数据时判断写数据流侧FIFO的prog_full,当prog_full=0时写入数据否则等待,此时当前写入端口的FIFO内的数据等待DDR3的写请求来调用。当chN_prog_empty=0且chN_can_wr_burst_cycle>=单次读写大小时(chN_can_wr_burst_cycle代表当前的写剩余可用地址空间大小),仲裁模块判断当前执行DDR3写请求过程(STATE_WRITE),即从FIFO中读出数据写入对应DDR3存储空间中。此时当前端口对应的DDR3存储空间中的数据等待读数据流侧FIFO的读出,当chN_prog_full=0且chN_can_rd_burst_cycle>=单次读写大小时(chN_can_rd_burst_cycle代表当前的读剩余可用地址空间大小),仲裁模块判断当前执行DDR3读请求过程(STATE_READ),即从DDR3中读出数据并往读数据流侧FIFO中写入数据直到chN_prog_full=1时停止,此时FIFO内的数据等待用户来读取当前端口数据。当用户读数据时判断读数据流侧FIFO的prog_empty,当prog_empty=0时读出数据否则等待。
当state=STATE_WRITE(写请求过程)且chN_wr_flag=1时,读写空间大小管理模块对写数据量进行累计统计,得到当前写地址指针(WR_POINT)和写溢出标志位(WR_OVERFLOW);当state=STATE_READ且chN_rd_flag=1时,读写空间大小管理模块对读数据量进行累计统计,得到当前读地址指针(RD_POINT)和读溢出标志位(RD_OVERFLOW)。根据端口地址空间大小总量、WR_POINT、RD_POINT、WR_OVERFLOW和RD_OVERFLOW,同时综合如下四种可能情况:WR_OVERFLOW=0&&RD_OVERFLOW=0、WR_OVERFLOW=0&&RD_OVERFLOW=1、WR_OVERFLOW=1&&RD_OVERFLOW=0和WR_OVERFLOW=1&&RD_OVERFLOW=1,计算得到chN_can_wr_burst_cycle和chN_can_rd_burst_cycle。
本技术方案单次读写大小可配置:用户可根据实际写入数据流逻辑和读出数据流逻辑来综合匹配数据流的写入带宽和读出带宽,让DDR3的使用效率更高。
各端口地址空间大小总量可配置:用户可根据各端口实际数据流缓存大小需求来设定访问地址空间的大小,节约了DDR3的内存空间。
用户在使用该控制器时,无需关心DDR3的读写情况以及内部的读写带宽问题,只需要根据FIFO接口的prog_full和prog_empty来确定当前是否可写入数据或是否可读出数据。
实施例二:
相比实施例一的区别技术如下:
将读写空间大小管理模块替换为信号接口逻辑控制模块,信号接口逻辑控制模块用于根据端口扩展需求配置端口数量,DDR3 IP核控制模块和FIFO接口控制模块还用于发送和接收信号接口逻辑控制模块数据。配置端口数量和单次读写大小,其中端口数量决定了信号接口逻辑控制模块例化读写FIFO的数量,FIFO解决了数据缓存和跨时钟域的数据传输问题。
本技术方案的端口数量可配置:用户可根据实际使用需求配置数据流通道数量,且读写接口采用标准FIFO接口形式,让读写操作更加便捷,同时隔离了不同时钟域数据读写,避免亚稳态的产生。
实施例三:
相比实施例一的区别技术如下:
在实施例一的基础上增加了信号接口逻辑控制模块,信号接口逻辑控制模块用于根据端口扩展需求配置端口数量,DDR3 IP核控制模块和FIFO接口控制模块还用于发送和接收信号接口逻辑控制模块数据。配置端口数量和单次读写大小,其中端口数量决定了信号接口逻辑控制模块例化读写FIFO的数量,FIFO解决了数据缓存和跨时钟域的数据传输问题。
本技术方案提供了一种端口数量可根据需求任意扩展的DDR3控制器接口,具有标准FIFO读写接口形式、端口数量可配置、单次读写大小可配置、各端口地址空间大小总量可配置以及控制器内部提供各端口读写优先级仲裁。
在本发明各个实施例中的各功能模块可以集成在相同处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在相同模块中。
以上,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种基于FPGA的可扩展的多端口DDR3控制器,其特征在于:包括仲裁模块、读写空间大小管理模块、DDR3 IP核控制模块和FIFO接口控制模块,所述仲裁模块、读写空间大小管理模块、DDR3 IP核控制模块和FIFO接口控制模块依次电连接;
所述仲裁模块用于根据读写空间大小管理模块提供的读写剩余可用地址空间大小、各端口所对应的FIFO容量阈值和各端口按实际需求排列的优先级信息来综合仲裁管理各端口的读写请求;
所述读写空间大小管理模块用于管理每个端口读写过程,根据全局配置的单次读写大小和各端口地址空间大小总量,对每个端口每次的读写流程进行地址统计和管理后,计算更新每一次读写后当前的读写剩余可用地址空间大小;
所述DDR3 IP核控制模块用于控制IP核的Burst读写时序过程,所述FIFO接口控制模块用于控制各端口的FIFO读写时序过程。
2.根据权利要求1所述的一种基于FPGA的可扩展的多端口DDR3控制器,其特征在于:还包括信号接口逻辑控制模块,所述信号接口逻辑控制模块用于根据端口扩展需求配置端口数量,所述DDR3 IP核控制模块和FIFO接口控制模块还用于发送和接收信号接口逻辑控制模块数据。
3.根据权利要求1所述的一种基于FPGA的可扩展的多端口DDR3控制器,其特征在于:所述仲裁模块根据设计需求排列各通道的读写优先级,然后读取读写空间大小管理模块计算反馈上来的各端口所对应的读写剩余可用地址空间大小;对于写入数据,判断若该剩余可用写地址空间大小大于等于全局配置的单次读写大小且写入数据流侧FIFO可读预空标志为0,则对应端口此次的写数据请求仲裁通过;对于读出数据,判断若该剩余可用读地址空间大小大于等于全局配置的单次读写大小且读出数据流侧FIFO可写预满标志0,则对应端口此次的读数据请求仲裁通过。
4.根据权利要求3所述的一种基于FPGA的可扩展的多端口DDR3控制器,其特征在于:所述读写空间大小管理模块,对写数据请求仲裁通过的端口,在写数据的过程中累加统计写数据量,当写数据量达到该端口所配置地址空间大小总量时,累加统计的写数据量清零并将写溢出标志位取反;对读数据请求仲裁通过的端口,在读数据的过程中累加统计读数据量,当读数据量达到该端口所配置地址空间大小总量时,累加统计的读数据量清零并将读溢出标志位取反。
5.根据权利要求4所述的一种基于FPGA的可扩展的多端口DDR3控制器,其特征在于:同一个端口的写溢出标志位与读溢出标志位包括四种逻辑关系:写溢出标志位逻辑0与读溢出标志位逻辑0、写溢出标志位逻辑0与读溢出标志位逻辑1、写溢出标志位逻辑1与读溢出标志位逻辑0、写溢出标志位逻辑1与读溢出标志位逻辑1,所述读写空间大小管理模块针对以上四种逻辑关系分别计算得到端口读写剩余可用地址空间大小。
6.根据权利要求1所述的一种基于FPGA的可扩展的多端口DDR3控制器,其特征在于:所述FIFO接口控制模块的FIFO信号接口中用户写入的数据信号为:
端口N数据写请求fifochN_wrreq_ddr3;
端口N写数据fifochN_data_ddr3;
端口N写预满标志fifochN_prog_full_ddr3;
其中N是指通道号。
7.根据权利要求6所述的一种基于FPGA的可扩展的多端口DDR3控制器,其特征在于:所述FIFO接口控制模块的FIFO信号接口中用户读出的数据信号为:
端口N数据读请求fifochN_rdreq_ddr3;
端口N读数据fifochN_q_ddr3;
端口N读预空标志fifochN_prog_empty_ddr3;
其中N是指通道号。
8.根据权利要求7所述的一种基于FPGA的可扩展的多端口DDR3控制器,其特征在于:所述FIFO接口控制模块中写数据流侧FIFO的prog_full预满的阈值计算是由FIFO depth值减去1.5倍用户单次写数据流大小等于阈值,所述FIFO接口控制模块中写数据流侧FIFO的prog_empty预空的阈值计算由单次读写大小减去1等于阈值。
9.根据权利要求8所述的一种基于FPGA的可扩展的多端口DDR3控制器,其特征在于:所述FIFO接口控制模块中读数据流侧FIFO的prog_full预满的阈值计算是由FIFO depth值减去1.5倍用户单次读数据流大小等于阈值,所述FIFO接口控制模块中读数据流侧FIFO的prog_empty预空的阈值计算是由单次读数据流大小减去1等于阈值。
10.根据权利要求1所述的一种基于FPGA的可扩展的多端口DDR3控制器,其特征在于:将所述读写空间大小管理模块替换为信号接口逻辑控制模块,所述信号接口逻辑控制模块用于根据端口扩展需求配置端口数量,所述DDR3 IP核控制模块和FIFO接口控制模块还用于发送和接收信号接口逻辑控制模块数据。
CN202010345110.7A 2020-04-27 2020-04-27 一种基于fpga的可扩展的多端口ddr3控制器 Active CN111581132B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010345110.7A CN111581132B (zh) 2020-04-27 2020-04-27 一种基于fpga的可扩展的多端口ddr3控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010345110.7A CN111581132B (zh) 2020-04-27 2020-04-27 一种基于fpga的可扩展的多端口ddr3控制器

Publications (2)

Publication Number Publication Date
CN111581132A true CN111581132A (zh) 2020-08-25
CN111581132B CN111581132B (zh) 2022-03-25

Family

ID=72125092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010345110.7A Active CN111581132B (zh) 2020-04-27 2020-04-27 一种基于fpga的可扩展的多端口ddr3控制器

Country Status (1)

Country Link
CN (1) CN111581132B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984563A (zh) * 2020-09-18 2020-11-24 西安电子科技大学 基于fpga的ddr3读写控制器及矩阵转置实现方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0117836A2 (en) * 1983-03-01 1984-09-05 STMicroelectronics, Inc. Address-controlled automatic bus arbitration and address modification
WO2006007801A1 (fr) * 2004-07-23 2006-01-26 Huawei Technologies Co., Ltd. Memoire peps et procede d'ajustement d'adresses d'ecriture/lecture
CN101833424A (zh) * 2010-03-26 2010-09-15 中国科学院光电技术研究所 基于fpga的高速存储与传输装置
CN102346653A (zh) * 2011-09-16 2012-02-08 成都市华为赛门铁克科技有限公司 存储阵列和存储系统及数据保护方法
CN104599227A (zh) * 2013-10-30 2015-05-06 南京理工大学 用于高速ccd数据存储的ddr3仲裁控制器及方法
CN106603172A (zh) * 2016-11-24 2017-04-26 中国电子科技集团公司第四十研究所 一种应用于无线电监测接收机的带时间戳数据分时读写方法
WO2017157110A1 (zh) * 2016-03-18 2017-09-21 深圳市中兴微电子技术有限公司 高速访问双倍速率同步动态随机存储器的控制方法及装置
CN108897696A (zh) * 2018-06-15 2018-11-27 西安微电子技术研究所 一种基于DDRx存储器的大容量FIFO控制器
CN109271335A (zh) * 2018-07-24 2019-01-25 上海威固信息技术股份有限公司 一种多通道数据源ddr缓存的fpga实现方法
CN109741774A (zh) * 2018-11-23 2019-05-10 成都汇蓉国科微系统技术有限公司 一种基于fpga片上ram模拟实现ddr3突发的控制器以及方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0117836A2 (en) * 1983-03-01 1984-09-05 STMicroelectronics, Inc. Address-controlled automatic bus arbitration and address modification
WO2006007801A1 (fr) * 2004-07-23 2006-01-26 Huawei Technologies Co., Ltd. Memoire peps et procede d'ajustement d'adresses d'ecriture/lecture
CN101833424A (zh) * 2010-03-26 2010-09-15 中国科学院光电技术研究所 基于fpga的高速存储与传输装置
CN102346653A (zh) * 2011-09-16 2012-02-08 成都市华为赛门铁克科技有限公司 存储阵列和存储系统及数据保护方法
CN104599227A (zh) * 2013-10-30 2015-05-06 南京理工大学 用于高速ccd数据存储的ddr3仲裁控制器及方法
WO2017157110A1 (zh) * 2016-03-18 2017-09-21 深圳市中兴微电子技术有限公司 高速访问双倍速率同步动态随机存储器的控制方法及装置
CN106603172A (zh) * 2016-11-24 2017-04-26 中国电子科技集团公司第四十研究所 一种应用于无线电监测接收机的带时间戳数据分时读写方法
CN108897696A (zh) * 2018-06-15 2018-11-27 西安微电子技术研究所 一种基于DDRx存储器的大容量FIFO控制器
CN109271335A (zh) * 2018-07-24 2019-01-25 上海威固信息技术股份有限公司 一种多通道数据源ddr缓存的fpga实现方法
CN109741774A (zh) * 2018-11-23 2019-05-10 成都汇蓉国科微系统技术有限公司 一种基于fpga片上ram模拟实现ddr3突发的控制器以及方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
吴连慧: "基于FPGA的DDR3多端口读写存储管理设计", 《单片机与嵌入式系统应用》 *
樊博等: "FPGA实现高速实时多端口SDRAM控制器的研究", 《计算机工程与应用》 *
马其琪: "基于DDR3 SDRAM的高速大容量数据缓存设计", 《计算机测量与控制》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984563A (zh) * 2020-09-18 2020-11-24 西安电子科技大学 基于fpga的ddr3读写控制器及矩阵转置实现方法

Also Published As

Publication number Publication date
CN111581132B (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
CN109271335B (zh) 一种多通道数据源ddr缓存的fpga实现方法
US7171508B2 (en) Dual port memory with asymmetric inputs and outputs, device, system and method
US7246191B2 (en) Method and apparatus for memory interface
US8732360B2 (en) System and method for accessing memory
KR101270848B1 (ko) 트래픽 클래스들과 관련된 포트들을 갖는 다중 포트 메모리 제어기
CN109902042B (zh) 一种实现dsp与zynq之间高速数据传输的方法及系统
CN112765054A (zh) 一种基于fpga的高速数据采集系统及方法
CN113900974B (zh) 一种存储装置、数据存储方法及相关设备
CN111581132B (zh) 一种基于fpga的可扩展的多端口ddr3控制器
US8347019B2 (en) Structure for hardware assisted bus state transition circuit using content addressable memories
CN113126911B (zh) 基于ddr3 sdram的队列管理方法、介质、设备
US20030172242A1 (en) Self-synchronous FIFO memory device having high access efficiency, and system provided with interface for data transfer using the same
CN102789424B (zh) 基于fpga的外扩ddr2的读写方法及基于fpga的外扩ddr2颗粒存储器
US9478272B1 (en) Configurable storage blocks with embedded first-in first-out and last-in first-out circuitry
US8209470B2 (en) CPU data bus PLD/FPGA interface using dual port RAM structure built in PLD
CN105608028A (zh) 基于emif接口和双口ram实现dsp与fpga高速通信方法
US6779061B1 (en) Method and apparatus implementing a FIFO with discrete blocks
CN110765066B (zh) 一种片上系统
CN104407992A (zh) 一种基于双端口寄存器阵列的四端口存储器
US11811897B2 (en) Method for data processing of frame receiving of an interconnection protocol and storage device
CN204515761U (zh) 片上系统
CN108897696B (zh) 一种基于DDRx存储器的大容量FIFO控制器
CN109271333B (zh) 一种sram控制方法及控制器、控制系统
CN112100098B (zh) Ddr控制系统及ddr存储系统
CN113886287A (zh) 一种基于SoC的自适应实时缓存系统及方法

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