基于发包速率的FPGA资源平衡方法、装置、FPGA设备及介质制造方法及图纸

技术编号:32221614 阅读:25 留言:0更新日期:2022-02-09 17:26
本申请涉及一种基于发包速率的FPGA资源平衡方法、装置、FPGA设备及介质,应用于FPGA设备,其方法包括:获取全部使用RAM实现令牌桶的每个令牌桶的发送目标速率;对于速率不大于所述发送目标速率的令牌桶,获取由RAM实现时所需的RAM数量;对于速率大于所述发送目标速率的令牌桶,获取由寄存器实现时所需的寄存器数量;为令牌桶分配具有所述RAM数量的RAM以及具有所述寄存器数量的寄存器。本申请具有既能实现较高发包速率,又能平衡FPGA中各种资源的使用的效果。用的效果。用的效果。

【技术实现步骤摘要】
基于发包速率的FPGA资源平衡方法、装置、FPGA设备及介质


[0001]本申请涉及FPGA控制的
,尤其是涉及一种基于发包速率的FPGA资源平衡方法、装置、FPGA设备及介质。

技术介绍

[0002]如果想要实现报文速率的调节,需要构建一种机制,该机制可以对通过设备的发包速率进行度量。令牌桶是目前最常采用的一种度量方法,可以在FPGA中实现令牌桶,通常可以使用寄存器或者RAM来实现。
[0003]使用寄存器实现令牌桶为并行操作,最快每个时钟周期都可以计算一次,即最快每个周期可以进行一次报文发送,可实现很高的发包速率;而RAM实现令牌桶为串行操作,每个时钟周期只能操作一个地址,每个地址可实现一个令牌桶,其发包速率较低。
[0004]针对上述技术,专利技术人认为,当令牌桶较多时则需要消耗大量的寄存器资源,而FPGA中的寄存器是有限的,过度消耗可能导致FPGA中的其他功能没有足够的寄存器资源可用;而RAM则就无法满足较高发包速率的要求。

技术实现思路

[0005]为了既能实现较高发包速率,又能平衡FPGA中各种资源的使用,本申请提供一种基于发包速率的FPGA资源平衡方法、装置、FPGA设备及介质。
[0006]第一方面,本申请提供一种基于发包速率的FPGA资源平衡方法,采用如下的技术方案:一种基于发包速率的FPGA资源平衡方法,应用于FPGA设备,包括:获取全部使用RAM实现令牌桶的每个令牌桶的发送目标速率;对于速率不大于所述发送目标速率的令牌桶,获取由RAM实现时所需的RAM数量;对于速率大于所述发送目标速率的令牌桶,获取由寄存器实现时所需的寄存器数量;为令牌桶分配具有所述RAM数量的RAM以及具有所述寄存器数量的寄存器。
[0007]通过采用上述技术方案,获取使用RAM实现令牌桶的令牌桶的发送目标速率,根据对发送目标速率需求的不同,将令牌桶进行分类,并分别计算RAM和寄存器实现令牌桶所要使用的数量,这样,结合FPGA中寄存器和RAM的优点,既能实现较高的发包速率,又能平衡FPGA中各种资源的使用。
[0008]可选的,所述获取全部使用RAM实现令牌桶的每个令牌桶的发送目标速率包括:获取计数时钟频率和RAM深度;基于所述计数时钟频率与所述RAM深度的比值计算所述发送目标速率。
[0009]可选的,所述对于速率不大于所述发送目标速率的令牌桶,获取由RAM实现时所需的RAM数量包括:获取令牌桶数量和寄存器位数;
基于所述令牌桶数量和所述RAM深度计算得到所述RAM数量。
[0010]可选的,所述RAM数量=令牌桶数量/RAM深度。
[0011]可选的,所述对于速率大于所述发送目标速率的令牌桶,获取由寄存器实现时所需的寄存器数量包括:获取发包目标速率、发送目标速率和寄存器位数;基于发包目标速率、发送目标速率和寄存器位数计算得到所述寄存器数量。
[0012]可选的所述基于发包目标速率、发送目标速率和寄存器位数计算得到所述寄存器数量包括:基于所述发包目标速率和所述发送目标速率计算由寄存器实现的令牌桶的最大数量;基于所述最大数量和所述寄存器位数计算得到所述寄存器数量。
[0013]可选的,所述最大数量=发包目标速率/发送目标速率;所述寄存器数量=最大数量*寄存器位数。
[0014]第二方面,本申请提供一种基于发包速率的FPGA资源平衡装置,采用如下的技术方案:一种基于发包速率的FPGA资源平衡装置,应用于FPGA设备,包括:第一获取模块,用于获取全部使用RAM实现令牌桶时的每个令牌桶的发送目标速率;第二获取模块,用于根据对于速率不大于所述发送目标速率的令牌桶,获取由RAM实现时所需的RAM数量;第三获取模块,用于根据对于速率大于所述发送目标速率的令牌桶获取由寄存器实现时所需的寄存器数量;分配模块,用于为令牌桶分配具有所述RAM数量的RAM以及具有所述寄存器数量的寄存器。
[0015]通过采用上述技术方案,获取使用RAM实现令牌桶的令牌桶的发送目标速率,根据对发送目标速率需求的不同,将令牌桶进行分类,并分别计算RAM和寄存器实现令牌桶所要使用的数量,这样,结合FPGA中寄存器和RAM的优点,既能实现较高的发包速率,又能平衡FPGA中各种资源的使用。
[0016]第三方面,本申请提供一种FPGA设备,采用如下的技术方案:一种FPGA设备,包括存储器和处理器,其中:所述存储器,用于保存计算机程序;所述处理器,用于执行所述计算机程序,以实现第一方面任一种方法。
[0017]第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现第一方面任一种方法。
附图说明
[0018]图1是本申请实施例的基于发包速率的FPGA资源平衡方法的流程示意图。
[0019]图2是本申请实施例的计算所需的寄存器数量的流程示意图。
[0020]图3是本申请实施例的基于发包速率的FPGA资源平衡装置的结构框图。
[0021]图4是本申请实施例的FPGA设备的结构框图。
具体实施方式
[0022]以下结合附图对本申请作进一步详细说明。
[0023]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0024]图1为本申请实施例提供的一种基于发包速率的FPGA资源平衡方法的流程示意图。
[0025]基于发包速率的FPGA资源平衡方法应用于FPGA设备,FPGA即现场可编程门阵列,是一种可编程的芯片,内部电路可根据编程实现不同功能,主要由若干数量的寄存器、查找表(一种逻辑计算单元)和RAM(存储器)组成。
[0026]如图1所示,该方法主要流程描述如下(步骤S101~S104):步骤S101,获取全部使用RAM实现令牌桶的每个令牌桶的发送目标速率。
[0027]具体的,先获取计数时钟频率和RAM深度,再基于计数时钟频率与RAM深度的比值计算发送目标速率,计数时钟频率与RAM深度的比值即为发送目标速率。
[0028]此时,可以根据发送目标速率对令牌桶进行分类,若令牌桶速率不大于发送目标速率,进入步骤S102,否则进入步骤S103。
[0029]步骤S102,对于速率不大于发送目标速率的令牌桶,获取由RAM实现时所需的RAM数量。
[0030]具体的,先RAM数量获取令牌桶数量和寄存器位数,再基于令牌桶数量与RAM深度的比值计算得到RAM数量,令牌桶数量与RAM深度的比值即为RAM数量。
[0031]步骤S103,对于速率大于发送目标速率的令牌桶,获取由寄存器实现时所需的寄存器数量。
[0032]可选的,如图2所示,计算所需的寄存器数量,步骤S103可以包括(步骤S1031~S1033):步骤S1031,获取发包目标速率、发送目标速率和寄存器位数;步骤S1032,基于发包本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于发包速率的FPGA资源平衡方法,其特征在于,应用于FPGA设备,包括:获取全部使用RAM实现令牌桶的每个令牌桶的发送目标速率;对于速率不大于所述发送目标速率的令牌桶,获取由RAM实现时所需的RAM数量;对于速率大于所述发送目标速率的令牌桶,获取由寄存器实现时所需的寄存器数量;为令牌桶分配具有所述RAM数量的RAM以及具有所述寄存器数量的寄存器。2.根据权利要求1所述的方法,其特征在于,所述获取全部使用RAM实现令牌桶的每个令牌桶的发送目标速率包括:获取计数时钟频率和RAM深度;基于所述计数时钟频率与所述RAM深度的比值计算所述发送目标速率。3.根据权利要求1或2所述的方法,其特征在于,所述对于速率不大于所述发送目标速率的令牌桶,获取由RAM实现时所需的RAM数量包括:获取令牌桶数量和寄存器位数;基于所述令牌桶数量和所述RAM深度计算得到所述RAM数量。4.根据权利要求3所述的方法,其特征在于,所述RAM数量=令牌桶数量/RAM深度。5.根据权利要求1或2所述的方法,其特征在于,所述对于速率大于所述发送目标速率的令牌桶,获取由寄存器实现时所需的寄存器数量包括:获取发包目标速率、发送目标速率和寄存器位数;基于发包目标速率、发送目标速率和寄存器位数计算得到所述寄存器数量。6.根据...

【专利技术属性】
技术研发人员:高宇
申请(专利权)人:江苏信而泰智能装备有限公司
类型:发明
国别省市:

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

1