一种FPGA器件速度自适应方法及FPGA器件与流程

allin2022-07-12  183


一种fpga器件速度自适应方法及fpga器件
技术领域
1.本发明属于fpga器件技术领域,涉及一种fpga器件速度自适应方法及fpga器件。


背景技术:

2.fpga(field programmable gate array,现场可编程门阵列)器件实际运行速度除了与用户的代码风格以及用户设计的复杂程度有关外,fpga器件本身的速度也至关重要。
3.但是fpga器件生产、制造过程中由于工艺偏差同一批次制造出来的fpga器件难免会出现速度快慢不一致的情况,如果只给fpga器件的用户提供快速fpga器件,那将会给fpga器件设计者造成一定程度的损失。其次,fpga器件用户的应用场景、环境不尽相同(如用户应用环境温度之间的差异:低温、常温、高温)也会导致在相同速度的fpga器件、同样的fpga用户设计逻辑下,fpga器件实际运行速度存在差异,因为相同速度的fpga器件处在高温环境会比处在常温环境速度慢。同时,fpga器件长时间不间断的工作,会有发热现象发生的可能,这会增加用户设计的静态功耗。
4.fpga器件实际运行速度与fpga器件本身的速度密切相关,因此如何保证在不同应用场景下fpga器件速度的稳定性成为了亟待解决的问题。


技术实现要素:

5.为了解决现有技术中存在的上述问题,本发明提供了一种fpga器件速度自适应方法及fpga器件。本发明要解决的技术问题通过以下技术方案实现:
6.本发明实施例提供了一种fpga器件速度自适应方法,fpga器件速度自适应方法包括:
7.步骤1、获取n组fpga器件的频率,其中,n≥2;
8.步骤2、根据n组频率得到均值频率;
9.步骤3、根据所述均值频率和阈值频率确定是否调整dc电源的输出电压;
10.步骤4、若调整dc电源的输出电压,则将电阻并联至所述dc电源与所述fpga器件之间的电路中,以调整所述dc电源的输出电压;
11.步骤5、基于所述步骤4调整后的所述dc电源的输出电压,重复执行步骤1至4,直至最终所获得的均值频率大于或者等于阈值频率,以实现自适应的调整所述fpga器件速度。
12.在本发明的一个实施例中,所述步骤1包括:
13.所述fpga器件使用震荡器对应产生n组频率。
14.在本发明的一个实施例中,所述震荡器为所述fpga器件使用n组lut模块组成,所述lut模块包括串联的m个lut。
15.在本发明的一个实施例中,所述步骤2包括:
16.计算预设时间内所述n组频率的平均值,以得到均值频率。
17.在本发明的一个实施例中,所述步骤3包括:
18.判断所述均值频率和所述阈值频率的关系,若所述均值频率大于或者等于所述阈值频率,则不调整所述dc电源的输出电压,若所述均值频率小于所述阈值频率,则调整所述dc电源的输出电压。
19.在本发明的一个实施例中,所述步骤4包括:
20.若调整所述dc电源的输出电压,所述fpga器件依次通过控制k个gpio的输出,将所述gpio对应的电阻并联至所述dc电源与所述fpga器件之间的电路中,以调整所述dc电源的输出电压。
21.在本发明的一个实施例中,所述步骤4还包括:
22.每次仅控制一个所述gpio的输出,以将该所述gpio对应的电阻并联至所述dc电源与所述fpga器件之间的电路中,且在每次将一个所述电阻并联至所述dc电源与所述fpga器件之间的电路中后,均执行所述步骤5。
23.在本发明的一个实施例中,所述频率的组数为4组。
24.在本发明的一个实施例中,所述阈值频率的范围为17-20mhz。
25.本发明的另一个实施例提供的一种fpga器件,其特征在于,所述fpga器件利用上述任一项实施例所述的fpga器件速度自适应方法实现自适应的调整所述fpga器件速度,所述fpga器件包括:
26.fpga速度频率产生模块,用于获取n组fpga器件的频率,其中,n≥2;
27.fpga速度频率均值统计模块,用于根据n组频率得到均值频率;
28.阈值参数产生模块,用于设置阈值频率;
29.fpga速度频率比较模块,用于根据所述均值频率和阈值频率确定是否调整dc电源的输出电压,若调整dc电源的输出电压,则将电阻并联至所述dc电源与所述fpga器件之间的电路中,以调整所述dc电源的输出电压,直至最终所获得的均值频率大于或者等于阈值频率,以实现自适应的调整所述fpga器件速度。
30.与现有技术相比,本发明的有益效果:
31.本发明的自适应方法可以使得fpga器件可以根据外界所处的应用环境及用户需求,自适应调整fpga的gpio输出,进而控制dc电源的分压电阻,实现动态调整目标电平vcc的输出。用户根据自身需求通过动态调整vcc输出电压使得fpga器件自身速度保持稳定,降低用户设计的静态功耗,减少fpga器件高温发热现象,从而确保fpga器件用户的设计更具鲁棒性。
32.通过以下参考附图的详细说明,本发明的其它方面和特征变得明显。但是应当知道,该附图仅仅为解释的目的设计,而不是作为本发明的范围的限定,这是因为其应当参考附加的权利要求。还应当知道,除非另外指出,不必要依比例绘制附图,它们仅仅力图概念地说明此处描述的结构和流程。
附图说明
33.图1为本发明实施例提供的一种fpga器件速度自适应方法的流程示意图;
34.图2为本发明实施例提供的一种dc电源与fpga器件之间的电路示意图;
35.图3为本发明实施例提供的一种fpga器件的结构示意图。
具体实施方式
36.下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
37.实施例一
38.目前,fpga用户为了使其设计方案能够适用不同工作环境往往需要采用如下三种手段:第一种,用户需要使用fpga编写复杂的算法;第二种,用户在pcb(printed circuit board,印制电路板)设计中增加额外器件来保持其设计的稳定性;第三种,用户需要在不同的环境下,反复测试验证其fpga设计。对于上述手段存在以下缺点:(1)用户需要额外增加fpga逻辑资源以满足设计需求,这增加了用户设计的复杂度、浪费了fpga宝贵的逻辑资源;(2)用户需要花费大量的时间测试其fpga设计,延长了用户设计的周期;(3)用户往往需要考虑在最恶劣的工作环境下其fpga设计的稳定性,这可能会导致用户某些功能无法正常使用,用户可能会为此删减这些功能,但是这些恶劣环境并不会经常发生。
39.基于上述内容,请参见图1和图2,图1为本发明实施例提供的一种fpga器件速度自适应方法的流程示意图,图2为本发明实施例提供的一种dc电源与fpga器件之间的电路示意图,本实施例提供了一种fpga器件速度自适应方法,该fpga器件速度自适应方法包括:
40.步骤1、获取n组fpga器件的频率,其中,n≥2,。
41.具体地,fpga器件使用震荡器对应产生n组频率,所获取的频率的平均值是划分fpga器件速度等级的依据。
42.也就是说,本实施例利用震荡器产生n组频率,其中,震荡器是由fpga使用lut逻辑所构建的。
43.优选地,震荡器为fpga器件使用n组lut模块组成,lut模块包括串联的m个lut,例如使用串联的4个lut构建一个lut模块。
44.优选地,频率的组数为4组,即n为4。因为4组频率既可以满足使用要求,可以保证准确度,又可以保证调整的鲁棒性,而过多会增加资源,过少会导致偏差过大,使得调整结果不准确。
45.步骤2、根据n组频率得到均值频率。
46.具体地,计算预设时间内n组频率的平均值,以得到均值频率。
47.也就是说,均值频率为n组频率的平均值。
48.由于不同外界环境(如温度不同、同一批次pcb板之间的差异),或同一外界环境下相同批次fpga器件之间的差异,都会导致fpga产生的n组频率的平均值存在差异。因此,编写fpga程序需统计一段时间(即预设时间)内四组频率的平均值。
49.优选地,预设时间为1ms。
50.步骤3、根据均值频率和阈值频率确定是否调整dc电源的输出电压。
51.具体地,判断均值频率和阈值频率的关系,若均值频率大于或者等于阈值频率,则不调整dc电源的输出电压,若均值频率小于阈值频率,则调整dc电源的输出电压。
52.其中,由于升高fpga器件的供电电压(即dc电源的输出电压),n组频率的平均值则会升高,降低fpga器件的供电电压,n组频率的平均值则会升高降低,因此fpga的供电电压会影响步骤2中n组频率的平均值,由此,可以通过调整dc电源的输出电压来调整均值频率。
53.步骤4、若调整dc电源的输出电压,则将电阻并联至dc电源与fpga器件之间的电路
中,以调整dc电源的输出电压。
54.也就是说,当需要调整dc电源的输出电压时,本实施例通过将电阻并联至dc电源与fpga器件之间的电路中,由此便可以对dc电源的输出电压进行调整,调整后的dc电源的输出电压会影响均值频率,从而可以达到使均值频率大于或者等于阈值频率的目的,最终达到调整fpga器件的速度的效果。
55.优选地,阈值频率的范围为17-20mhz。
56.在一个具体实施例中,步骤4可以具体包括:
57.若调整dc电源的输出电压,fpga器件依次通过控制k个gpio(general-purpose input/output,通用型输入输出)的输出,将gpio对应的电阻并联到电路中,以调整dc电源的输出电压。
58.进一步地,在每次需要对dc电源的输出电压进行调整时,每次仅控制一个gpio的输出,以将该gpio对应的电阻并联至dc电源与fpga器件之间的电路中,且在每次将一个电阻并联至dc电源与fpga器件之间的电路中后,均执行步骤5,具体地,当gpio输出0时,便可以将对应的电阻并联至dc电源与fpga器件之间的电路中,当gpio输出1时,便可以断开。
59.也就是说,fpga器件设置有k个gpio,且每个gpio可以在需要调整dc电源的输出电压的时候,依次将对应的电阻并联至dc电源与fpga器件之间的电路中,因为每次将一个电阻并联至dc电源与fpga器件之间的电路中时,dc电源的输出电压便会升高,因此通过逐个的将电阻并联至dc电源与fpga器件之间的电路中的方式,可以达到逐渐调整dc电源的输出电压的目的,而随着dc电源的输出电压的升高,均值频率便会逐渐增大,可以自适应的调整fpga器件速度,由此既可以使得fpga器件自身速度保持稳定,还可以确保fpga器件用户的设计更具鲁棒性。
60.优选地,gpio共包括4个,即gpio1、gpio2、gpio3、gpio4,对应的电阻分别为电阻r1、电阻r2、电阻r3、电阻r4,如果需要调整dc电源输出电压,fpga会依次通过控制gpio1、gpio2、gpio3、gpio4的输出,将电阻r1、电阻r2、电阻r3、电阻r4并联至dc电源与fpga器件之间的电路中,从而改变dc电源输出的电压。电阻越多,步进越小,调整的电压幅度就越小,精度就越高,但是增加的资源便越多,而电阻越少,步进越打,调整的电压幅度就越大,精度就越小,因此本实施例选择4个电阻,既可以保证调整精度,满足调整要求,又不会过多的增加资源。
61.步骤5、基于步骤4调整后的dc电源的输出电压,重复执行步骤1至4,直至最终所获得的均值频率大于或者等于阈值频率,以实现自适应的调整所述fpga器件速度。
62.在本实施例中,由于升高fpga器件的供电电压,n组频率平均值会升高,反之则降低,因此fpga器件的供电电压会影响步骤2中n组频率的平均值,所以通过重复执行步骤1-4,fpga器件可以自适应的调整其速度,来保证用户设计的鲁棒性。
63.在本实施例中,用户通过对fpga器件进行编程,使得fpga器件可以根据外界所处的应用环境及用户需求,自适应调整fpga的gpio输出,进而控制dc电源的分压电阻,实现动态调整目标电平vcc的输出。用户根据自身需求通过动态调整vcc输出电压使得fpga器件自身速度保持稳定,降低用户设计的静态功耗,减少fpga器件高温发热现象,从而确保fpga器件用户的设计更具鲁棒性。
64.具体地,对于fpga器件的使用者来说,用户设计中加入本实施例的方法可以更好
地适应外界复杂环境的变化,从而提高用户设计的鲁棒性。此外用户还可以根据自身的需求,通过控制fpga器件的供电电压,来降低设计的静态功耗,减少fpga器件高温发热现象。
65.另外,对于fpga器件的设计者来说,由于fpga器件在生产、制造过程中可能存在一定的工艺偏差,因而会导致同一批次fpga器件速度有快慢之别,fpga器件的设计者通过指导fpga使用者,在其设计中加入本实施例的方法,使得原本慢速fpga器件也可以被充分利用,从而降低fpga器件设计者的风险。
66.综上所述,fpga器件实际运行速度与fpga器件速度密切相关,fpga器件速度自适应方式既可以解决fpga器件使用者在不同应用场景下fpga器件速度不稳定而导致用户设计无法正常使用的问题;同时fpga器件使用者,也可以通过本方案降低其设计的静态功耗。
67.实施例二
68.请参见图3,图3为本发明实施例提供的一种fpga器件的结构示意图。在上述实施例一的基础上,本实施例还提供一种fpga器件,该fpga器件利用实施例一所述的fpga器件速度自适应方法实现自适应的调整fpga器件速度,fpga器件包括:
69.fpga速度频率产生模块,用于获取n组fpga器件的频率,其中,n≥2;
70.fpga速度频率均值统计模块,用于根据n组频率得到均值频率;
71.阈值参数产生模块,用于设置阈值频率;
72.fpga速度频率比较模块,用于根据均值频率和阈值频率确定是否调整dc电源的输出电压,若调整dc电源的输出电压,则将电阻并联至dc电源与fpga器件之间的电路中,以调整dc电源的输出电压,直至最终所获得的均值频率大于或者等于阈值频率,以实现自适应的调整fpga器件速度。
73.另外,该fpga器件还可以包括时间计数模块,用于对预设时间进行计数,以使fpga速度频率产生模块能够在预设时间内产生n组频率。
74.在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
75.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征数据点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特征数据点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
76.以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
转载请注明原文地址: https://www.8miu.com/read-551.html

最新回复(0)