CN104156331B - 一种基于fpga双口ram实现的高速数据速率匹配方法 - Google Patents

一种基于fpga双口ram实现的高速数据速率匹配方法 Download PDF

Info

Publication number
CN104156331B
CN104156331B CN201410347884.8A CN201410347884A CN104156331B CN 104156331 B CN104156331 B CN 104156331B CN 201410347884 A CN201410347884 A CN 201410347884A CN 104156331 B CN104156331 B CN 104156331B
Authority
CN
China
Prior art keywords
data
address
road bus
road
port ram
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.)
Expired - Fee Related
Application number
CN201410347884.8A
Other languages
English (en)
Other versions
CN104156331A (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.)
CLP Kesiyi Technology Co Ltd
Original Assignee
CETC 41 Institute
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 CETC 41 Institute filed Critical CETC 41 Institute
Priority to CN201410347884.8A priority Critical patent/CN104156331B/zh
Publication of CN104156331A publication Critical patent/CN104156331A/zh
Application granted granted Critical
Publication of CN104156331B publication Critical patent/CN104156331B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种基于FPGA双口RAM实现的高速数据速率匹配方法,双口RAM具备两套独立的数据、地址、控制总线,可分别独立的对双口RAM资源进行读写操作,所以在匹配速率的应用中,其一个总线端口可专供进行写操作,另一个总线端口可专供进行读取操作,两者对同一块RAM资源的操作可同时进行而互不干涉。采用上述方案,相比于单端口RAM资源来说,可节省大量的读写等待时间。本发明方法再通过双端口RAM资源的深度、数据写入速率、数据读取速率等关系,通过追逐竞技的思想,使得双口RAM在进行读写时转换速率达到最大化,工作效率得以大幅提升。

Description

一种基于FPGA双口RAM实现的高速数据速率匹配方法
技术领域
本发明属于数字信号处理技术领域,尤其涉及的是一种基于FPGA双口RAM实现的高速数据速率匹配方法。
背景技术
目前在高速采样系统的应用情况中,FPGA作为高速采样数据处理的中心,承载着很重要的工作任务。在很多多数据速率处理情况下,由于采样速率与存储速率、传输速率不匹配,采样数据宽度与存储数据宽度、传输数据位宽不匹配,使得数据处理分析的各个流程不能很好地协调工作。所以,在FPGA中对不同速率数据的匹配设计是使各个数据处理环节协调工作的关键环节。通常通过单个FPGA片载RAM进行数据间断式的等待存储和读取的方式存在等待时间长、处理速率慢等缺点,而通过多个FPGA片载RAM进行数据轮循存储和读取的方式存在FPGA资源开销大、时序逻辑复杂、速率并未大幅提高等缺点。本设计采用FPGA双口RAM进行高速数据速率匹配设计,通过不同速率输入输出追逐存储和读取的思路,使得数据转换处理效率最大化,资源占用率小,数据处理速率大幅提高。该速率匹配设计方法可应用于FPGA中存储缓冲转换、数据接口传输、数据转换外传等多种情况。
通常情况下,可以通过单个FPGA片载RAM进行数据速率的匹配设计,但FPGA片载RAM通常为单端口资源,及该RAM的数据总线既当输入总线使用,又当输出总线使用,同一时间只能存在一种工作模式,当进行写入时就无法进行读取操作,当进行读取时就不能进行写入操作。因此,使用该RAM资源进行数据速率匹配设计时,读写存在很大的等待时间周期,必须以间断式等待工作的方式进行存储和读取工作流程,数据速率转换较慢。
也可以通过多个FPGA片载RAM进行数据轮循存储和读取的方式来匹配数据速率,同样的,对于多个RAM中的一个,只有其进行完写操作之后,读取操作才可以进行。通过不同RAM交替读写的方式在一定程度上可以提高数据速率转换的效率,但该方法由于使用多个RAM资源,存在FPGA资源开销大、时序逻辑复杂等缺点。
因此,现有技术存在缺陷,需要改进。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种基于FPGA双口RAM实现的高速数据速率匹配方法。
本发明的技术方案如下:
步骤1:设置FPGA双口RAM的两路分别独立操作RAM空间的A路总线与B路总线,所述A路总线以速率S1进行数据的不间断写入;进入步骤2;
步骤2:所述A路总线的地址递增1后进入步骤3,同时,判断所述A路总线的地址是否等于最大寻址深度L,是则所述A路总线的地址归零后返回步骤1,否则返回步骤1;
步骤3:判断所述A路总线的地址是否大于等于安全追逐间隔N,是则进入步骤4,否则返回步骤1;
步骤4:判断所述B路总线的地址是否已经启动读取操作,是则返回步骤1,否则进入步骤5;
步骤5:将所述B路总线的地址归零后进入步骤6;
步骤6:设置所述B路总线以速率S2进行数据的不间断读取,进入步骤7;
步骤7:所述B路总线的地址递增1,判断所述B路总线的地址是否等于最大寻址深度L,是则进入步骤8;否则返回步骤6;
步骤8:判断所述A路总线的地址是否大于等于安全追逐间隔N,是则返回步骤5,否则暂停所述B路总线读取操作,返回步骤3。
所述的高速速率匹配方法,其中,所述步骤1中的设置所述A路总线进行数据写操作,设置所述B路总线进行数据读操作。
所述的高速速率匹配方法,其中,所述步骤1中的设置所述A路总线数据宽度与所述B路总线数据宽度相同。
所述的高速速率匹配方法,其中,所述步骤1中的设置所述A路总线数据速率S1小于所述B路总线数据速率S2。
所述的高速速率匹配方法,其中,所述步骤2中的所述最大寻址深度L为FPGA双口RAM在特定容量及特定总线宽度下,确定得到的最大存储深度。
所述的高速速率匹配方法,其中,所述步骤3中的安全追逐间隔N的公式为:来确定,其中N表示为除法结果向上取整。
本发明方法是使用FPGA双口RAM进行速率匹配的设计,双口RAM具备两套独立的数据、地址、控制总线,可分别独立的对双口RAM资源进行读写操作,所以在匹配速率的应用中,其一个总线端口可专供进行写操作,另一个总线端口可专供进行读取操作,两者对同一块RAM资源的操作可同时进行而互不干涉。所以相比于单端口RAM资源来说,可节省大量的读写等待时间。本发明方法再通过双端口RAM资源的深度、数据写入速率、数据读取速率等关系,通过追逐竞技的思想,使得双口RAM在进行读写时转换速率达到最大化,工作效率得以大幅提升。
附图说明
图1为本发明方法的流程图。
具体实施方式
以下结合附图和具体实施例,对本发明进行详细说明。
实施例1
如图1所示,本发明一种基于FPGA双口RAM实现的高速数据速率匹配方法,其特征在于,包括以下步骤:
步骤1:设置FPGA双口RAM的两路分别独立操作RAM空间的A路总线与B路总线,所述A路总线以速率S1进行数据的不间断写入;进入步骤2;
步骤2:所述A路总线的地址递增1后进入步骤3,同时,判断所述A路总线的地址是否等于最大寻址深度L,是则所述A路总线的地址归零后返回步骤1,否则返回步骤1;这里是要都返回步骤1,这个支路在返回步骤1时判断是否到了寻址最大处,是则地址归零重新开始,否则继续进行存储,实现A路的不间断写入工作;
步骤3:判断所述A路总线的地址是否大于等于安全追逐间隔N,是则进入步骤4,否则返回步骤1;
步骤4:判断所述B路总线的地址是否已经启动读取操作,是则返回步骤1,否则进入步骤5;
步骤5:将所述B路总线的地址归零后进入步骤6;
步骤6:设置所述B路总线以速率S2进行数据的不间断读取,进入步骤7;
步骤7:所述B路总线的地址递增1,判断所述B路总线的地址是否等于最大寻址深度L,是则进入步骤8;否则返回步骤6;
步骤8:判断所述A路总线的地址是否大于等于安全追逐间隔N,是则返回步骤5,否则暂停所述B路总线读取操作,返回步骤3。此处暂停B路总线读取操作是为了避免在下一轮的读写操作中B路读操作赶上A路写操作,并不是最终目的,暂停后会返回到步骤3,等待在下一轮过程中依据步骤3的条件重新开启B路数据的读操作。
上述方法中,所述步骤1中的设置所述A路总线进行数据写操作,设置所述B路总线进行数据读操作。
上述方法中,所述步骤1中的设置所述A路总线数据宽度与所述B路总线数据宽度相同。
上述方法中,所述步骤1中的设置所述A路总线数据速率S1小于所述B路总线数据速率S2。
上述方法中,所述步骤2中的所述最大寻址深度L为FPGA双口RAM在特定容量及特定总线宽度下,确定得到的最大存储深度。
上述方法中,所述步骤3中的安全追逐间隔N的公式为:来确定,其中N表示为除法结果向上取整。
实施例2
在上述实施例的基础上,本发明进一步以XILINX公司FPGA系列的18kb双端口RAMRAMB18或36kb双端口RAM RAMB36为FPGA硬件基础进行设计,通过不同速率数据追逐竞技的思想设计算法进行高速数据不同速率间的快速匹配转换,使得双口RAM使用效率大幅提高,数据速率转换效率大幅提高。
18kb双端口RAM标称RAMB18,其可配置为1,2,4,8,16位宽数据宽度,分别对应于可实现最大16k,8k,4k,2k,1k的存储深度。36kb双端口RAM标称RAMB36,其可配置为1,2,4,8,16,32位宽数据宽度,分别对应于可实现最大32k,16k,8k,4k,2k,1k的存储深度。同时每个字节及每8位数据对应1位奇偶数据位,该位也可作为普通数据位使用,进行数据位的扩展位使用。双口RAM具备两组可独立操作的数据总线、地址总线、控制总线,每组总线都可独立的对同一块RAM资源进行读写操作,这是本发明方法使用其来设计数据速率匹配的主要原因,两组总线相互独立进行读写操作,可节省大量的单总线读写等待时间。
本发明方法中,使用双口RAM的一路总线来专门进行数据写操作,如拟定使用A路进行写操作;使用双口RAM的另一路总线来专门进行数据读操作,如拟定使用B路进行读操作。使用两路数据来进行不同数据率数据的读写匹配设计,为使得数据速率转换效率最大化是本发明方法的关键部分,在本发明方法中,参考追逐竞技的思想来解决上述问题,即在数据写入双口RAM后,读取数据永远追赶着写数据操作进行,因为数据只有被写入后才能进行读取,才能进行数据率的转换,所以本发明算法的应用有两个限定条件,如下所示:
一是:双口RAM写入数据的数据宽度和读取数据的数据宽度一样。
二是:双口RAM写入数据的数据速率低于读取数据的数据速率。
在以上限定条件下,以RAMB3632位宽,即1k存储深度,写入数据速率为90MHz,读取速率为100MHz为例进行本发明方法的讲解,然后进行通用方法的推导说明。
在最大存储深度1k的情况下,及双口RAM可最大存储1024次32位的输入操作。此时如果从开始写入数据后,读取操作追赶着写数据进行,在两者之间最大保持怎样的数据间隔才会使得读写操作同时进行时确保读操作在整个1k寻址读取的过程中都赶不上写操作。即在A路数据从开始写入多少个数据后,B路数据从开始读取在整个寻址空间都不会赶上A路数据。首先,计算100MHz速率读取1k数据需用时10ns×1024=10240ns;90MHz速率写入1k数据需用时约11.11ns×1024=11377.78ns;即读完全部数据比写完全部数据快11377.78-10240=1137.78ns,该时差可写入1137.78÷11.11=102.41个数,及在双口RAM A路从开始写入103数后再从开始于B路不间断的进行读取操作,直到读写完整个RAM寻址空间,B路读取操作始终处于A路后面。
当B路数据读到最后地址时,如果此时A路在下一轮的写操作中,写入数据的个数小于103时,此时需暂停B路数据的读取操作,等到A路数据写入大于等于103时,再开启B路数据的读取操作;当B路数据读取最后地址时,如果此时A路在下一轮的写操作中,写入数据的个数大于等于103时,此时B路数据的读取操作可继续重头进行,不需要暂停。依此往复的进行,即可最大化的匹配90MHz输入数据与100MHz读取数据的协调工作。
对于多级级联的双口RAM的应用可以使数据宽度和存储深度进行扩展,如RAM资源可无限量的不受限制,则本发明方法则不受存储深度和数据宽度的限制。
通过以上特例的说明,进行通用方法的推导进一步说明。首先,在以上两个限定条件下,假设双口RAM A路数据写入的速率为S1,B路数据读取的速率为S2,这里依限定条件需满足S1〈S2;假设双口RAM的存储深度为L。则计算可得均从开始读写,在A路写入多少个数N时,开始B路的读取在整个寻址范围内B路数据都赶不上A路数据,有以下公式:
N表示除法结果向上取整。
双口RAM的A路作为写入专用总线,B路作为读取专用总线使用。首先,依据限定条件和写入速率S1、读取速率S2、存储深度L,进行计算确定安全追逐间隔数N的大小。A路以S1速率从开始进行数据的不间断循环写入操作,即当A路写入到地址空间的最后时,再返回地址空间的开始处重新开始写入。当A路写入次数大于等于N后启动B路数据的读取工作。B路以S2速率从地址空间的开始处不间断的读取RAM中的数据,直到地址空间的最后,此时判断此刻A路数据领先B路数据的多少,当A路数据在新一轮写入的次数大于等于N时,说明此时B路继续读取也在安全追逐范围内,在整个地址寻址空间都不会追上A路数据操作,此时B路可继续从地址空间开始处重新开始读取操作。如此刻A路数据在新一轮写入的次数小于N,则说明如果此时B路继续进行重新读取工作将会在后续读取过程中超过A路写入操作,发生错误,所以此时B路应该暂停读取,等到A路写入的次数大于等于N后,即在安全追逐范围内后,再启动B路数据的重新读取操作。依此往复进行,即可最大化的匹配S1速率与S2速率数据之间的数据率转换问题。
相比于使用单端口RAM的设计方案,使用双口RAM的方案在一个寻址空间过程就比单口RAM方案的快(L-N)×S1的时间,大大提高了数据速率的转换效率。同样的,本发明方法相比于多个单口RAM轮循的方法,不但转换效率较高,FPGA资源开销也少很多,同时FPGA时序复杂度也小很多。
基于FPGA双口RAM实现的高速数据速率匹配方法,采用FPGA做数据速率匹配实现,以高速A/D采样输出的高速数据与后端存储部分及传输部分的速率匹配应用为背景,成功解决了FPGA中高速数据不同速率间的快速匹配转换问题,大幅提高了速率转换匹配的效率,同时在FPGA资源使用和逻辑复杂度等方面相对其他方式有很大优势。本发明方法采用FPGA双口RAM资源进行不同数据速率的匹配设计,充分利用了双口RAM的特性和工作方式,解决了其他方法所需的读写不能同时进行的长时间等待问题,使得数据速率转换效率提升得以突破。同时在读写算法上采用追逐竞技的思想,使得数据速率转换效率最大化,大大提高了FPGA信号处理的工作效率。同时相对其他方法也节省了FPGA资源开销,简化了FPGA时序逻辑的复杂度。由于双口RAM的可级联性,使得本发明方法在寻址深度和接口宽度方面具备灵活的可扩展性。本发明方法在FPGA高速信号处理领域有很高的推广应用价值。
本发明方法是使用FPGA双口RAM进行速率匹配的设计,双口RAM具备两套独立的数据、地址、控制总线,可分别独立的对双口RAM资源进行读写操作,所以在匹配速率的应用中,其一个总线端口可专供进行写操作,另一个总线端口可专供进行读取操作,两者对同一块RAM资源的操作可同时进行而互不干涉。所以相比于单端口RAM资源来说,可节省大量的读写等待时间。本发明方法再通过双端口RAM资源的深度、数据写入速率、数据读取速率等关系,通过追逐竞技的思想,使得双口RAM在进行读写时转换速率达到最大化,工作效率得以大幅提升。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (1)

1.一种基于FPGA双口RAM实现的高速数据速率匹配方法,其特征在于,包括以下步骤:
步骤1:设置FPGA双口RAM的两路分别独立操作RAM空间的A路总线与B路总线,设置所述A路总线进行数据写操作,设置所述B路总线进行数据读操作;设置所述A路总线数据宽度与所述B路总线数据宽度相同;所述A路总线以速率S1进行数据的不间断写入;设置所述A路总线数据速率S1小于所述B路总线数据速率S2;进入步骤2;
步骤2:所述A路总线的地址递增1后进入步骤3,同时,判断所述A路总线的地址是否等于最大寻址深度L,是则所述A路总线的地址归零后返回步骤1,否则返回步骤1;
步骤3:判断所述A路总线的地址是否大于等于安全追逐间隔N,是则进入步骤4,否则返回步骤1;
步骤4:判断所述B路总线的地址是否已经启动读取操作,是则返回步骤1,否则进入步骤5;
步骤5:将所述B路总线的地址归零后进入步骤6;
步骤6:设置所述B路总线以速率S2进行数据的不间断读取,进入步骤7;
步骤7:所述B路总线的地址递增1,判断所述B路总线的地址是否等于最大寻址深度L,是则进入步骤8;否则返回步骤6;
步骤8:判断所述A路总线的地址是否大于等于安全追逐间隔N,是则返回步骤5,否则暂停所述B路总线读取操作,返回步骤3;
所述步骤2中的所述最大寻址深度L为FPGA双口RAM在特定容量及特定总线宽度下,确定得到的最大存储深度;
所述步骤3中的安全追逐间隔N的公式为:来确定,其中N表示为除法结果向上取整。
CN201410347884.8A 2014-07-21 2014-07-21 一种基于fpga双口ram实现的高速数据速率匹配方法 Expired - Fee Related CN104156331B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410347884.8A CN104156331B (zh) 2014-07-21 2014-07-21 一种基于fpga双口ram实现的高速数据速率匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410347884.8A CN104156331B (zh) 2014-07-21 2014-07-21 一种基于fpga双口ram实现的高速数据速率匹配方法

Publications (2)

Publication Number Publication Date
CN104156331A CN104156331A (zh) 2014-11-19
CN104156331B true CN104156331B (zh) 2017-01-11

Family

ID=51881836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410347884.8A Expired - Fee Related CN104156331B (zh) 2014-07-21 2014-07-21 一种基于fpga双口ram实现的高速数据速率匹配方法

Country Status (1)

Country Link
CN (1) CN104156331B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528482A (zh) * 2015-09-14 2017-03-22 中国科学院沈阳自动化研究所 一种基于微控制器和fpga的并行通信方法
CN109542799B (zh) * 2018-11-05 2023-03-28 西安智多晶微电子有限公司 块存储器拼接方法、拼接模块、存储装置及现场可编程门阵列
CN114280977B (zh) * 2021-11-29 2024-02-02 苏州浪潮智能科技有限公司 一种基于fpga的大规模定时方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620581A (zh) * 2008-07-03 2010-01-06 西安奇维测控科技有限公司 双口ram实现闪存控制器缓存的结构及实现该缓存的方法
CN102708059A (zh) * 2012-05-10 2012-10-03 Ut斯达康通讯有限公司 提高sdram数据传输效率的方法
CN203386204U (zh) * 2013-07-10 2014-01-08 广西科技大学 寻址与存储单元一体化双端口存储控制器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620581A (zh) * 2008-07-03 2010-01-06 西安奇维测控科技有限公司 双口ram实现闪存控制器缓存的结构及实现该缓存的方法
CN102708059A (zh) * 2012-05-10 2012-10-03 Ut斯达康通讯有限公司 提高sdram数据传输效率的方法
CN203386204U (zh) * 2013-07-10 2014-01-08 广西科技大学 寻址与存储单元一体化双端口存储控制器

Also Published As

Publication number Publication date
CN104156331A (zh) 2014-11-19

Similar Documents

Publication Publication Date Title
CN104156331B (zh) 一种基于fpga双口ram实现的高速数据速率匹配方法
CN103730149B (zh) 一种双端口存储器的读写控制电路
CN101236774B (zh) 单端口存储器实现多端口存储功能的装置和方法
CN103092806A (zh) 基于spi数据传输时序的数据传输方法和系统
CN103279309A (zh) 基于fpga的ddr控制装置及方法
CN102521356B (zh) 基于确定有限状态自动机的正则表达式匹配设备和方法
CN102508803A (zh) 一种矩阵转置存储控制器
CN101923522B (zh) 存储控制器及数据操作命令的处理方法
CN104239232A (zh) 一种基于fpga内dpram的乒乓缓存操作结构
US20110296056A1 (en) High-speed interface for daisy-chained devices
CN116414767B (zh) 一种对基于axi协议乱序响应的重排序方法及系统
CN103023782A (zh) 一种访问三态内容寻址存储器的方法及装置
CN103150129B (zh) PXIe接口Nand Flash数据流盘存取加速方法
CN201859658U (zh) 嵌入式sdram存储模块
CN103853692B (zh) 一种基于中断判断机制的多处理器数据通讯方法
CN101446820B (zh) 运动控制器数据通讯及其中断调度的方法和装置
CN102280138B (zh) 具有累积写入特征的存储方法、存储器和存储系统
CN104678815A (zh) Fpga芯片的接口结构及配置方法
CN110618963A (zh) 一种计算与存储融合的异构计算硬件加速系统及方法
CN111126584B (zh) 数据回写系统
CN104123254A (zh) 一种节省硬件资源的配置寄存器访问方法
CN202003695U (zh) 具有累积写入特征的存储器和存储系统
CN102736996A (zh) 一种减少存储控制器接口占用的方法及高速存储器
CN203276274U (zh) 基于寄存器窗口互相重叠的多核间数据交换装置
CN105049377A (zh) 基于Crossbar架构的AFDX交换机数据总线结构及数据交换方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190307

Address after: 266000 No. 98 Xiangjiang Road, Huangdao District, Qingdao City, Shandong Province

Patentee after: CHINA ELECTRONICS TECHNOLOGY INSTRUMENTS Co.,Ltd.

Address before: 266555 No. 98 Xiangjiang Road, Qingdao economic and Technological Development Zone, Shandong

Patentee before: THE 41ST INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY Group Corp.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 266000 No. 98 Xiangjiang Road, Huangdao District, Qingdao City, Shandong Province

Patentee after: CLP kesiyi Technology Co.,Ltd.

Address before: 266000 No. 98 Xiangjiang Road, Huangdao District, Qingdao City, Shandong Province

Patentee before: CHINA ELECTRONICS TECHNOLOGY INSTRUMENTS Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170111