一种FPGA的输出功耗配置电路、系统及FPGA的制作方法

文档序号:19739489发布日期:2020-01-18 04:59阅读:170来源:国知局
一种FPGA的输出功耗配置电路、系统及FPGA的制作方法

本发明涉及fpga技术领域,特别涉及一种fpga的输出功耗配置电路、系统及fpga。



背景技术:

目前,fpga(field-programmablegatearray,现场可编程门阵列)被大量使用在电子系统中,老化以及系统的功耗测试是电子系统一项重要的检验指标。在工程实践中,有时候需要电子系统的输出功耗能够可以配置并且能够被精细化的控制,以便测试人员在系统处于某个输出功耗的情况下,进行相应的功能与系统测试,那么如何使板卡(电子系统)的输出功耗实现可配置以及精细化控制便成为问题的关键。

现有技术中,大多是某个工程对应固定单一的一个输出功耗值,当需要输出功耗值变动时,需要多次重新编译工程,这样一来比较费时,还需要多次重新配置fpga,并不能做到输出功耗的精细化控制以及可配置。

因此,如何能够实现板卡的输出功耗的精细化控制以及可配置,是现今急需解决的问题。



技术实现要素:

本发明的目的是提供一种fpga的输出功耗配置电路、系统及fpga,以实现板卡的输出功耗的可配置和精细化控制。

为解决上述技术问题,本发明提供一种fpga的输出功耗配置电路,包括:翻转控制电路和n个d触发器组;其中,n个所述d触发器组共包括m个d触发器,每个所述d触发器组分别包括各自对应的d触发器,任意两个所述d触发器组对应不同的d触发器,n和m均为大于等于1的正整数,且m大于或等于n;

每个所述d触发器的时钟端与各自对应的时钟信号输出端连接;每个所述d触发器的输入端与所述翻转控制电路中对应的输出端连接,用于根据接收的控制信号进行数值的0/1翻转或不变;

所述翻转控制电路的用于根据上位机的控制,向每个所述d触发器输出对应的控制信号,使每个所述d触发器组中的全部所述d触发器共同进行数值的0/1翻转或不变。

可选的,所述翻转控制电路,包括:预设数量的翻转切换子电路;其中,所述预设数量大于或等于n且小于或等于m,每个所述翻转切换子电路各自对应一个所述d触发器组;

每个所述翻转切换子电路均包括mux2选1电路和非门逻辑器件;所述mux2选1电路的第一输入端与所述非门逻辑器件的输出端相连,所述mux2选1电路的第二输入端和所述非门逻辑器件的输入端均与共同对应的一个所述d触发器的输出端连接,所述mux2选1电路的输出端与对应的d触发器组中的目标d触发器的输入端连接;所述mux2选1电路用于根据所述上位机的控制,向所述目标d触发器输出各自对应的一个输入端接收的信号。

可选的,所述预设数量为m;

其中,第1个所述mux2选1电路的第一输入端通过第1个所述非门逻辑器件与第1个所述d触发器的输出端连接,第1个所述mux2选1电路的第二输入端与第1个所述d触发器的输出端连接,第1个所述mux2选1电路的输出端与第1个所述d触发器的输入端连接;

第i个所述mux2选1电路的第一输入端通过第i个所述非门逻辑器件与第i-1个所述d触发器的输出端连接,第i个所述mux2选1电路的第二输入端与第i-1个所述d触发器的输出端连接,第i个所述mux2选1电路的输出端与第i个所述d触发器的输入端连接;i为大于或等于2且小于或等于m的正整数;

m个所述d触发器的时钟端接收的时钟信号相同;第1个所述翻转切换子电路对应的一个所述d触发器组为第1个所述d触发器所在的所述d触发器组,第i个所述翻转切换子电路对应的一个所述d触发器组为第i个所述d触发器所在的所述d触发器组。

可选的,所述翻转控制电路,还包括:n个使能寄存器;

其中,每个所述使能寄存器各自对应的一个所述d触发器组,每个所述d触发器组对应的翻转切换子电路中的mux2选1电路的控制端连接同一所述使能寄存器,用于根据所述使能寄存器中的数值,选择各自对应的一个输入端接收的信号。

可选的,所述翻转控制电路,还包括:

与所述上位机连接的功耗控制寄存器,用于根据所述上位机的控制,存储对应的数值;

对应的,n个所述使能寄存器,用于根据所述功耗控制寄存器存储的数值,映射存储各自对应的数值。

本发明还提供了一种fpga,包括:如上述任一项所述的fpga的输出功耗配置电路。

此外,本发明还提供了一种fpga的输出功耗配置系统,包括:

如上一项所述的fpga;

与所述fpga连接的上位机,用于获取所述fpga的待调节输出功耗,并根据所述待调节输出功耗,控制fpga的输出功耗配置电路中对应的d触发器组中的d触发器进行数值的0/1翻转或不变,使所述fpga的输出功耗增加或恢复所述待调节输出功耗。

可选的,所述上位机具体用于根据所述待调节输出功耗,在所述fpga的输出功耗配置电路中的功耗控制寄存器中配置对应的数值。

本发明所提供的一种fpga的输出功耗配置电路,通过翻转控制电路和n个d触发器组的设置,使板卡一次烧录fpga工程后,上位机可以利用翻转控制电路控制对应的d触发器组中的d触发器进行高速0/1翻转或数值保持不变,从而实现板卡的输出功耗的可配置和精细化控制,满足系统老化与功耗梯度扫描等相关测试的需求。此外,本发明还提供了一种fpga的输出功耗配置系统及fpga,同样具有上述有益效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例所提供的一种fpga的输出功耗配置电路的结构示意图;

图2为本发明实施例所提供的另一种fpga的输出功耗配置电路的结构示意图;

图3为本发明实施例所提供的一种板卡的可配置精细化控制的流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明实施例所提供的一种fpga的输出功耗配置电路的结构示意图。该电路可以包括:翻转控制电路10和n个d触发器组20;其中,n个d触发器组20共包括m个d触发器21,每个d触发器组20分别包括各自对应的d触发器21,任意两个d触发器组对应不同的d触发器21,n和m均为大于等于1的正整数,且m大于或等于n;

每个d触发器21的时钟端与各自对应的时钟信号输出端连接;每个d触发器21的输入端与翻转控制电路10中对应的输出端连接,用于根据接收的控制信号进行数值的0/1翻转或不变;

翻转控制电路10的用于根据上位机的控制,向每个d触发器21输出对应的控制信号,使每个d触发器组20中的全部d触发器21共同进行数值的0/1翻转或不变。

可以理解的是,本实施例中通过n个d触发器组20的设置,将m个d触发器21,分成了n份,使上位机可以利用翻转控制电路10控制每个d触发器组20中的d触发器21共同进行数值的0/1翻转,即通过d触发器21的数值的高速0/1翻转增加对应的输出功耗;或控制每个d触发器组20中的d触发器21共同进行数值的不变,即通过保持d触发器21的数值不变使输出功耗对应恢复(降低),从而实现板卡的输出功耗的可配置和精细化控制。

具体的,对于本实施例中输出功耗配置电路中的d触发器21的具体数量设置,即m的具体数值设置,可以由设计人员根据实用场景和用户需求自行设置,如可以输出功耗配置电路中的d触发器21的数量可以占该输出功耗配置电路所在fpga中d触发器21数量的80%至90%之间。本实施例对此不做任何限制。

对应的,本实施例中每个d触发器组20中的d触发器21可以共同进行数值的0/1翻转或不变,即同一d触发器组20中的d触发器21可以根据上位机的控制,共同进行数值的高速0/1翻转,或共同保持数值不变。也就是说,上位机可以通过对每个d触发器组20中的d触发器21进行共同控制,从而通过对n个d触发器组20的控制,实现板卡的输出功耗的精细化控制。

同样的,对于本实施例中输出功耗配置电路中d触发器组20的具体数量(n)的设置和每个d触发器组20中d触发器21的具体数量设置,可以由设计人员根据实用场景和用户需求自行设置,如d触发器组20的数量(n)可以为大于或等于2的数值;m可以为n的整数倍,且每个d触发器组20中的d触发器21的数量相同,即m个d触发器21被平均分成n组;每个d触发器组20中的d触发器21的数量也可以不同。只要保证输出功耗配置电路中的每个d触发器21可以处于各自对应的一个d触发器组20,本实施例对此不做任何限制。

需要说明的是,本实施例中的翻转控制电路10可以根据上位机的控制,向每个d触发器21的输入端输出对应的控制信号,使每个d触发器组20中的d触发器21可以根据输入端接收的控制信号和时钟端接收的时钟信号,共同进行数值的0/1翻转或不变。对于翻转控制电路10的向每个d触发器21的输入端输出对应的控制信号的具体方式,即翻转控制电路10的具体结构,可以由设计人员自行设置,如图2所示,翻转控制电路10可以包括预设数量的包含有mux2选1电路(mux)和非门逻辑器件(not)的翻转切换子电路11;其中,预设数量大于或等于n且小于或等于m,每个翻转切换子电路11各自对应一个d触发器组20;使上位机可以通过控制每个d触发器组20对应的翻转切换子电路11中的mux2选1电路选择含有非门逻辑器件的信号输出或不含非门逻辑器件的信号输出,使每个d触发器组20中的全部d触发器21共同进行数值的0/1翻转或不变。

也就是说,本实施例中的翻转控制电路10可以包括预设数量的翻转切换子电路;其中,预设数量大于或等于n且小于或等于m,每个翻转切换子电路各自对应一个d触发器组20;每个翻转切换子电路均包括mux2选1电路和非门逻辑器件;mux2选1电路的第一输入端与非门逻辑器件的输出端相连,mux2选1电路的第二输入端和非门逻辑器件的输入端均与共同对应的一个d触发器21的输出端连接,mux2选1电路的输出端与对应的d触发器组20中的目标d触发器21的输入端连接;mux2选1电路用于根据上位机的控制,向目标d触发器21输出各自对应的一个输入端接收的信号。

对应的,上述目标d触发器21可以为每个翻转切换子电路所控制的d触发器组20中的d触发器21,如每个翻转切换子电路控制对应的一个d触发器组20中的全部d触发器21时,目标d触发器21可以为每个翻转切换子电路对应的一个d触发器组20中的全部d触发器21,即预设数量为n;每个翻转切换子电路控制对应的一个d触发器组20中的部分d触发器21时,目标d触发器21可以为每个翻转切换子电路对应的一个d触发器组20中的部分d触发器21,即预设数量为大于n且小于或等于m;如图2所示,目标d触发器21可以为每个翻转切换子电路11对应的一个d触发器组20中的一个d触发器21,即预设数量为m。上述mux2选1电路的第二输入端和非门逻辑器件的输入端共同对应的一个d触发器21的具体选择,可以由设计人员自行设置,只要保证该d触发器21的输出可以使mux2选1电路通过两个分支的选择输出控制对应的目标d触发器21进行数值的0/1翻转或不变,本实施例对此不做任何限制。

具体的,如图2所示,预设数量为m时,第1个mux2选1电路(mux1)的第一输入端通过第1个非门逻辑器件(not1)与第1个d触发器21(d1)的输出端连接,第1个mux2选1电路的第二输入端与第1个d触发器21的输出端(q端)连接,第1个mux2选1电路的输出端与第1个d触发器21的输入端(d端)连接;第i个mux2选1电路的第一输入端通过第i个非门逻辑器件与第i-1个d触发器21的输出端连接,第i个mux2选1电路的第二输入端与第i-1个d触发器21的输出端连接,第i个mux2选1电路的输出端与第i个d触发器21的输入端连接;i为大于或等于2且小于或等于m的正整数;m个d触发器21的时钟端(>端)接收的时钟信号相同;第1个翻转切换子电路11对应的一个d触发器组20为第1个d触发器21所在的d触发器组20,第i个翻转切换子电路11对应的一个d触发器组20为第i个d触发器21所在的d触发器组20。也就是说,翻转控制电路10包含m个翻转切换子电路11,第1个翻转切换子电路11包括第1个mux2选1电路和第1个非门逻辑器件,第i个翻转切换子电路11包括第i个mux2选1电路和第i个非门逻辑器件。

对应的,上位机可以通过直接或间接的控制每个d触发器组20对应的翻转切换子电路中的mux2选1电路的控制端接收的使能信号(控制信号,如图2中的sel_en_x),控制每个d触发器组20对应的mux2选1电路均选择含有非门逻辑器件的信号输出或不含非门逻辑器件的信号输出,使每个d触发器组20中的全部d触发器21共同进行数值的0/1翻转或不变。即m个mux2选1电路的控制端每次可以接收到sel_en_1至sel_en_n共n个使能信号,每个使能信号对应一个d触发器组20。

进一步的,本实施例所提供的翻转控制电路10,还可以包括:n个使能寄存器;其中,每个使能寄存器各自对应的一个d触发器组20,每个d触发器组20对应的翻转切换子电路中的mux2选1电路的控制端连接同一使能寄存器,用于根据使能寄存器中的数值,选择各自对应的一个输入端接收的信号。

也就是说,本实施例中可以使用n个使能寄存器组成的一个使能寄存器组合,使能寄存器组合中每个使能寄存器分别记录一个使能信号;如图2所示,每个使能寄存器依次记录为sel_en_1至sel_en_n共n个使能信号。这些使能寄存器能够置为0或者1,即每个使能信号可以为0或1,对应的mux2选1电路在使能信号为0时选择两个分支中的一个分支输出,在使能信号为1时选择两个分支中的另一个分支输出;例如使能寄存器置为1时,对应的mux2选1电路可以输出等于含有非门逻辑器件的那个分支,否则选择不含有非门逻辑器件的分支,使得当使能寄存器被上位机配置成1时,那么它所控制的mux2选1电路含有取反非门,实现对应的d触发器21的数值在高速0/1翻转。

进一步的,本实施例所提供的翻转控制电路10,还可以包括:与上位机连接的功耗控制寄存器,用于根据上位机的控制,存储对应的数值;对应的,n个使能寄存器,用于根据功耗控制寄存器存储的数值,映射存储各自对应的数值。

也就是说,本实施例中的功耗控制寄存器可以直接受上位机的控制存储对应的数值,如采用上层驱动函数写pciebar空间的形式。上位机在功耗控制寄存器中配置对应数值后,可以自动映射n个使能寄存器中各自的0或1。如功耗控制寄存器被上位机配置为1时,sel_en_1对应的使能寄存器可以置为1,其余使能寄存器置为0;当功耗控制寄存器被上位机配置为2时,sel_en_1和sel_en_2对应的使能寄存器可以置为1,其余使能寄存器置为0;依此类推,当功耗控制寄存器被上位机配置为n时,全部使能寄存器可以置为1;当功耗控制寄存器被上位机配置为0时,全部使能寄存器可以置为0。功耗控制寄存器可以把逻辑使用的寄存器平均分成n份,每一份对应一个使能寄存器来控制,当需要使用其中一份寄存器实现0/1的翻转,来增加功耗,那么把对应的使能寄存器置1;如果需要让功耗恢复(降低)到原来水平,那么把对应的使能寄存器置0,使d触发器21的数值保持不变。

具体的,本实施例中每个d触发器21的时钟端与各自对应的时钟信号输出端所输出的时钟信号(如图2中的clk)可以由比较高的时钟信号,如可以为500mhz的时钟信号,本实施例对此不做任何限制。

可以理解的是,本实施例中的输出功耗配置电路可以通过如图3所示的流程实现板卡的可配置精细化控制,板卡(系统)上电复位后,加载fpga工程;根据需求判断需要配置板卡的输出功耗;如果否,则等待;若果是,则上位机配置fpga逻辑中的功耗控制寄存器(如sel_reg寄存器)的数值;fpga硬件逻辑,根据功耗控制寄存器的数值,自动映射使能寄存器的数值为0或者1;fpga逻辑中被使能寄存器控制的d触发器组20中的d触发器21,根据对应的使能寄存器置0或者1的情况,实现高速取反的0到1的翻转增加板卡的输出功耗或者保持数值不变,实现输出功耗的恢复(相对于前一个状态是高速翻转的情形);返回判断需要配置板卡的输出功耗的步骤,实现板卡的输出功耗的可配置与精细化控制。

本实施例中,本发明实施例通过翻转控制电路10和n个d触发器组20的设置,使板卡一次烧录fpga工程后,上位机可以利用翻转控制电路10控制对应的d触发器组20中的d触发器21进行高速0/1翻转或数值保持不变,从而实现板卡的输出功耗的可配置和精细化控制,满足系统老化与功耗梯度扫描等相关测试的需求。

本发明实施例还提供了一种fpga,包括:如上述实施例所提供的fpga的输出功耗配置电路。

对应的,该输出功耗配置电路中的d寄存器的数量可以在本实施例所提供的fpga中d触发器数量的80%至90%之间。

此外,本发明实施例还提供了一种fpga的输出功耗配置系统,包括:

如上一实施例所提供的fpga;

与fpga连接的上位机,用于获取fpga的待调节输出功耗,并根据待调节输出功耗,控制fpga的输出功耗配置电路中对应的d触发器组中的d触发器进行数值的0/1翻转或不变,使fpga的输出功耗增加或恢复待调节输出功耗。

可选的,上位机具体用于根据待调节输出功耗,在fpga的输出功耗配置电路中的功耗控制寄存器中配置对应的数值。

可以理解的是,本实施例中的待调节输出功耗可以为fpga所在板卡所需调节的输出功耗,如板卡需要利用输出功耗配置电路增加的输出功耗或板卡需要利用输出功耗配置电路恢复(降低)的输出功耗。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统及fpga而言,由于其与实施例公开的电路相对应,所以描述的比较简单,相关之处参见电路部分说明即可。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种fpga的输出功耗配置电路、系统及fpga进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1