当前位置: 首页 > 专利查询>赵浩然专利>正文

一种FGPA控制的DDR映射多个DDR_FIFO实现系统及方法技术方案

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

【技术实现步骤摘要】
一种FGPA控制的DDR映射多个DDR_FIFO实现系统及方法


[0001]本专利技术涉及数字通信领域
,尤其是多通道、高带宽的数字通信缓存和处理,是一种FGPA控制的DDR映射多个DDR_FIFO实现系统及方法。

技术介绍

[0002]随着高速数字通信发展,可编程的逻辑列阵(FPGA)在数字通信领域应用越来越广泛,但是由于FPGA中存储空间有限,在高速数据通信和高速数据处理的过程中通常需要较大的缓存容量,大多数设计是在FPGA外部使用DDR作为大容量缓存,同时由于DDR的芯片引脚较多,FPGA引脚资源有限,设计时会采用引脚复用的方式将多片DDR组合成一个DDR。FGPA的编程工具带有DDR控制器IP核,DDR控制器IP核具有两种数据接口,普通接口和AXI总线接口,FGPA通过该IP核的数据接口实现对DDR数据写入和读取。
[0003]对于FPGA硬件电路,一旦生产完成后,FPGA能够控制的DDR数量就固定了,FPGA内高速数据缓存通道数量也就固定了,如果在FPGA内有更多种通信速率不相同的高速数据需要缓存,虽然DDR的数据带宽能够满足,但是由于通道有限无法满足。对于这种需求,只能增加硬件解决多个通道数据缓存问题,这种方式通用性差,造成了资源浪费。
[0004]因此,如何提高DDR控制的通用性和灵活性,降低设备成本是本领域技术人员亟需解决的问题。

技术实现思路

[0005]本专利技术为克服现有技术的不足,解决FPGA内高速数据缓存通道数量固定的问题,实现当DDR能够满足多个数据通道的总带宽和总缓存容量时,用户可根据缓存通道数量创建相应数量的DDR_FIFO,每个DDR_FIFO映射DDR中的一段地址,可根据需求调整每个DDR_FIFO缓存容量,DDR_FIFO的数据输入和输出都具有异步时钟,用于解决数据跨时钟域的问题,使用方式和FPGA内的FIFO相同,有效提高FPGA开发效率和硬件利用率。
[0006]本专利技术提供了一种FGPA控制的DDR映射多个DDR_FIFO实现系统及方法,本专利技术提供了以下技术方案:
[0007]一种FGPA控制的DDR映射多个DDR_FIFO实现方法,所述方法包括以下步骤:
[0008]通过FPGA内DDR控制器IP核与DDR芯片进行数据交互;DDR控制器AXI总线与地址管理逻辑模块进行数据传输;地址管理逻辑模块仲裁DDR控制器某一时刻与其中一个DDR_FIFO进行数据通讯,同时管理DDR_FIFO映射DDR的地址和AXI总线通讯时序。
[0009]优选地,某一通道,当DDR映射地址段内没有数据同时FIFO4中数据量没有达到设定的数据量时,数据流向采用FIFO1

FIFO4,即方式1。
[0010]优选地,某一通道内,当DDR映射地址段内有数据或FIFO4中数据量到达到设定的数据量时采用FIFO1

FIFO2

DDR控制器

FIFO3

FIFO4,即方式2。
[0011]优选地,某一通道的DDR_FIFO逻辑模块实时监测FIFIO1中数据量,当某一通道FIFIO1的empty信号为低,同时DDR映射地址段内没有数据和FIFO4中数据量没有达到设定
的数据量时,读取FIFO1中数据向FIFO4中写入,当FIFO1的empty信号为高,或FIFO4中数据量达到设定的数据量,停止该数据流向模式。
[0012]优选地,DDR_FIFO逻辑模块实时监测所有通道FIFO1和FIFO2中数据量,当数据流向不满足方式1,同时FIFO1中的数据量是2倍或2倍以上的FIFO2出口数据位宽与入口数据位宽的比值时,DDR_FIFO逻辑模块将读取FIFO1中的1倍的FIFO2出口与入口数据位宽比值数据量;
[0013]DDR_FIFO逻辑模块实时监测FIFIO2中数据量和该DDR_FIFO映射DDR的地址段内数据量,当该DDR_FIFO映射DDR的地址段内数据未满,同时FIFO2中的数据量大于0,启动写DDR数据模式标志,地址管理仲裁到该DDR_FIFO时,启动AXI突发写模式,将数据写入DDR控制器中,写入数据量为DDR_FIFO映射DDR的地址段内能够写入数据量和FIFIO2中数据量最小值;
[0014]DDR_FIFO逻辑模块实时监测FIFIO3中和该DDR_FIFO映射DDR的地址段内数据量,当FIFO3中数据未满,同时该DDR_FIFO映射DDR的地址段内有数据,启动读DDR数据模式标志,地址管理仲裁到该DDR_FIFO时,启动AXI突发读模式,将数据从DDR控制器中读取到FIFO3中,读取数据量为DDR_FIFO映射DDR的地址段内能够读取数据量和FIFO3中能够写入数据量最小值;
[0015]DDR_FIFO逻辑模块实时监测FIFO3和FIFIO4中数据量,当FIFO3中empty信号为低,同时FIFO4中数据量没有达到设定的数据量时,立刻读取FIFO3中数据写入FIFO4中。
[0016]一种FGPA控制的DDR映射多个DDR_FIFO实现系统,所述系统包括:地址管理逻辑模块、DDR_FIFO逻辑模块和DDR控制器IP核;
[0017]所述地址管理逻辑模块包括DDR_FIFO映射街口、仲裁模块、AXI通讯模块和AXI接口;地址管理逻辑模块采用轮询方式仲裁DDR_FIFO的通讯申请,通讯申请由读突发请求和写突发请求组成;
[0018]所述DDR_FIFO逻辑模块与DDR_FIFO映射街口进行映射连接,所述DDR_FIFO映射街口连接仲裁模块,所述仲裁模块连接AXI通讯模块,所述AXI通讯模块连接AXI接口,所述AXI接口连接DDR控制器IP核。
[0019]优选地,地址管理逻辑模块中AXI是Master端,根据DDR_FIFO请求的读或写突发数据量与DDR控制器进行数据突发读或写。
[0020]优选地,所述的DDR_FIFO逻辑模块内时钟域,FIFO1具有异步时钟域,一侧为输入端时钟域,另一侧为DDR控制器AXI总线时钟域,FIFO4具有异步时钟域,一侧为输出端时钟域,另一侧为DDR控制器AXI总线时钟域。
[0021]一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现FGPA控制的DDR映射多个DDR_FIFO实现方法。
[0022]一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行FGPA控制的DDR映射多个DDR_FIFO实现方法。
[0023]本专利技术具有以下有益效果:
[0024]本专利技术解决了FPGA内高速数据缓存通道数量固定的问题,实现当DDR能够满足多个数据通道的总带宽和总缓存容量时,用户可根据缓存通道数量创建相应数量的DDR_FIFO,每个DDR_FIFO映射DDR中的一段地址,可根据需求调整每个DDR_FIFO缓存容量,DDR_
...

【技术保护点】

【技术特征摘要】
1.一种FGPA控制的DDR映射多个DDR_FIFO实现方法,其特征是:所述方法包括以下步骤:通过FPGA内DDR控制器IP核与DDR芯片进行数据交互;DDR控制器AXI总线与地址管理逻辑模块进行数据传输;地址管理逻辑模块仲裁DDR控制器某一时刻与其中一个DDR_FIFO进行数据通讯,同时管理DDR_FIFO映射DDR的地址和AXI总线通讯时序。2.根据权利要求1所述的一种FGPA控制的DDR映射多个DDR_FIFO实现方法,其特征是:当DDR映射地址段内没有数据同时FIFO4中数据量没有达到设定的数据量时,数据流向采用FIFO1

FIFO4,即方式1。3.根据权利要求2所述的一种FGPA控制的DDR映射多个DDR_FIFO实现方法,其特征是:当DDR映射地址段内有数据或FIFO4中数据量到达到设定的数据量时采用FIFO1

FIFO2

DDR控制器

FIFO3

FIFO4,即方式2。4.根据权利要求3所述的一种FGPA控制的DDR映射多个DDR_FIFO实现方法,其特征是:DDR_FIFO逻辑模块实时监测FIFIO1中数据量,当FIFIO1的empty信号为低,同时DDR映射地址段内没有数据和FIFO4中数据量没有达到设定的数据量时,读取FIFO1中数据向FIFO4中写入,当FIFO1的empty信号为高,或FIFO4中数据量达到设定的数据量,停止该数据流向模式。5.根据权利要求4所述的一种FGPA控制的DDR映射多个DDR_FIFO实现方法,其特征是:DDR_FIFO逻辑模块实时监测FIFIO1和FIFO2中数据量,当数据流向不满足方式1,同时FIFIO1中的数据量是2倍或2倍以上的FIFO2出口数据位宽与入口数据位宽的比值时,DDR_FIFO逻辑模块将读取FIFIO1中的1倍的FIFO2出口与入口数据位宽比值数据量;DDR_FIFO逻辑模块实时监测FIFIO2中数据量和该DDR_FIFO映射DDR的地址段内数据量,当该DDR_FIFO映射DDR的地址段内数据未满,同时FIFO2中的数据量大于0,启动写DDR数据模式标志,地址管理仲裁到该DDR_FIFO时,启动AXI突发写模式,将数据写入DDR控制器中,写入数据量为DDR_FIFO映射DDR的地址段内能够写入数据量和FIFIO2中数据量最小值;DDR_FIFO逻辑模...

【专利技术属性】
技术研发人员:赵浩然侯强
申请(专利权)人:赵浩然
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1