基于fpga进位链的电路结构优化方法及系统

文档序号:1889873 发布日期:2021-11-26 浏览:16次 >En<

阅读说明:本技术 基于fpga进位链的电路结构优化方法及系统 (Circuit structure optimization method and system based on FPGA carry chain ) 是由 邓波 孔彪 张敏 于 2021-07-20 设计创作,主要内容包括:本发明提出一种基于FPGA进位链的电路结构优化方法及系统,该方法包括:通过逻辑综合工具对目标逻辑运算进行逻辑综合,得到综合网表;获取所述综合网表中关键路径;若所述关键路径上查位表的实际输入个数不大于预设阈值,且所述关键路径上参考路径两端的相邻元件为进位链,则将所述关键路径上的查位表转换为进位链,所述参考路径为连续相邻的查找表所组成的路径。本发明实施例通过查找关键路径上符合变换要求的查找表,并将查找变转换为进位链,由于进位链和查找表两个元件之间的时延较大,而进位链和进位链之间的时延较小,将相邻的进位链和查找变转换为两个相邻的进位链,从而减小了电路时延,增加了电路频率,提高了FPGA芯片的性能。(The invention provides a circuit structure optimization method and a system based on an FPGA carry chain, wherein the method comprises the following steps: performing logic synthesis on the target logic operation through a logic synthesis tool to obtain a synthesis netlist; acquiring a critical path in the synthesized netlist; and if the actual input number of the bit lookup tables on the key path is not greater than a preset threshold value and the adjacent elements at the two ends of the reference path on the key path are carry chains, converting the bit lookup tables on the key path into carry chains, wherein the reference path is a path formed by the continuous adjacent lookup tables. According to the embodiment of the invention, the lookup table which meets the conversion requirement on the key path is searched, and the search conversion is converted into the carry chain, and because the time delay between the carry chain and the lookup table is larger and the time delay between the carry chain and the carry chain is smaller, the adjacent carry chain and the search conversion are converted into two adjacent carry chains, so that the circuit time delay is reduced, the circuit frequency is increased, and the performance of the FPGA chip is improved.)

基于FPGA进位链的电路结构优化方法及系统

技术领域

本发明涉及电子电路技术领域,尤其涉及一种基于FPGA进位链的电路结构优化方法及系统。

背景技术

随着数字化和智能化的发展,现场可编程门阵列(Field Programmable GateArray,简称FPGA)芯片组件成为通信、航天、军工等领域不可或缺的核心器件,是保障国家战略安全的重要支撑基础。FPGA软件中逻辑综合工具将数字设计映射成门级表,并优化其冗余的电路结构,其结果的性能水平极大的影响后续的布局布线结果,其结果的性能水平极大的影响后续的布局布线结果,甚至直接影响最终芯片应用时的时序功耗等关键性能。

FPGA芯片的综合器在综合的过程中,由于自身硬件结构的特性和限制,需要引用一个或多个含有目标技术的函数库,函数库中有例如多位加法器、寄存器和存储器等。综合器通过分析硬件描述语言,经过编译器产生RTL描述,将设计部分有效地综合成实际的门级网表。综合器不仅能将高级抽象层次的描述转化为较低层次的描述,还能优化设计中的逻辑结构,如去除冗余的电路结构或复用功能相同的电路模块。

一般来说,在FPGA采用小型的查询表(Look Up Table,简称LUT)来实现逻辑函数,通过存储一个真值表,就可以实现任何n个输入1个输出的逻辑函数,一般输入的范围在4至6,而FPGA逻辑综合的其中一个关键步骤是将大型多输入的逻辑块分解成4至6个输入的小型逻辑函数,用LUT实现这些小的逻辑函数。

但是,在利用LUT实现逻辑函数的过程中,会产生较大的时延,因此,亟需一种基于FPGA进位链的电路结构优化方法。

发明内容

本发明提供一种基于FPGA进位链的电路结构优化方法及系统,其主要目的在于降低电路时序关键路径的时延,有效提高电路整体的最大频率,增强目标FPGA芯片的性能。

第一方面,本发明实施例提供一种基于FPGA进位链的电路结构优化方法,包括:

通过逻辑综合工具对目标逻辑运算进行逻辑综合,得到综合网表;

获取所述综合网表中关键路径;

若所述关键路径上查位表的实际输入个数不大于预设阈值,且所述关键路径上参考路径两端的相邻元件为进位链,则将所述关键路径上的查位表转换为进位链,所述参考路径为连续相邻的查找表所组成的路径。

优选地,所述预设阈值根据目标FPGA芯片确定,所述目标FPGA芯片用于实现所述目标逻辑运算。

优选地,所述预设阈值为目标FPGA芯片进位链中查找表的理论输入个数加1。

优选地,所述关键路径为一条或者多条。

优选地,所述关键路径包括所述综合网表中延时最大的路径。

优选地,所述将所述关键路径上的查位表转换为进位链,包括:

将所述进位链替换所述关键路径上的查位表,其中,所述进位链的输入引脚替换所述关键路径上查位表的实际信号输入引脚,所述进位链的输出引脚替换所述关键路径上查位表的实际信号输出引脚。

优选地,所述逻辑综合工具为Design Compiler。

第二方面,本发明实施例提供一种基于FPGA进位链的电路结构优化系统,包括:

综合模块,用于通过逻辑综合工具对目标逻辑运算进行逻辑综合,得到综合网表;

路径模块,用于获取所述综合网表中关键路径;

转换模块,用于若所述关键路径上查位表的实际输入个数不大于预设阈值,且所述关键路径上参考路径两端的相邻元件为进位链,则将所述关键路径上的查位表转换为进位链,所述参考路径为连续相邻的查找表所组成的路径。

第三方面,本发明实施例提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于FPGA进位链的电路结构优化方法的步骤。

第四方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于FPGA进位链的电路结构优化方法的步骤。

本发明提出的一种基于FPGA进位链的电路结构优化方法及系统,通过查找关键路径上符合变换要求的查找表,并将查找变转换为进位链,由于进位链和查找表两个元件之间的时延较大,而进位链和进位链之间的时延较小,因此,将相邻的进位链和查找变转换为两个相邻的进位链,从而减小了电路时延。

附图说明

图1为本发明实施例提供的一种基于FPGA进位链的电路结构优化方法的流程图;

图2为本发明实施例中逻辑综合使用示意图;

图3为本发明实施例中进位链结构示意图;

图4为本发明实施例中参考路径之一示意图;

图5为本发明实施例中参考路径又一示意图;

图6为本发明实施例中进位链元件的基本结构示意图;

图7为本发明实施例中进位链元件中sum部分逻辑的结构示意图;

图8为本发明一实施例中逻辑综合运算的结构示意图;

图9为本发明实施例中对逻辑运算进行转换后的电路结构示意图;

图10为本发明实施例提供的一种基于FPGA进位链的电路结构优化系统的结构示意图;

图11为本发明实施例提供的一种计算机设备的结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为本发明实施例提供的一种基于FPGA进位链的电路结构优化方法的流程图,如图1所示,该方法包括:

S110,通过逻辑综合工具对目标逻辑运算进行逻辑综合,得到综合网表;

首先,要对某个目标逻辑算法进行逻辑综合时,一般采用的是逻辑综合工具,逻辑综合工具一般就是集成各种操作功能的软件,目标逻辑算法一般为逻辑运算,逻辑综合是指利用工具将RTL代码转换为门级网表的过程,常见的逻辑综合工具是synopsys的DesignCompiler,综合一个逻辑运算的过程从读取RTL代码开始,通过施加时序约束关系,映射产生一个门级网表文件,它可以分为三步:

1、翻译:读入电路的RTL级描述,并将语言描述翻译成相应的功能块以及功能块之间的拓扑结构。这一过程的结果是在综合器内部生成电路的布尔函数表达式,不做任何逻辑重组和优化。

2、优化:根据所施加的时序和面积约束,按照一定的算法对翻译结果进行逻辑重组和优化。

3、映射:根据所施加的时序和面积约束,从目标工艺库中搜索符合条件的单元来构成实际电路的逻辑综合网表,该逻辑综合网表即为本发明实施例中的综合网表。

举例地,为了实现下述设计,目标逻辑算法为十位输入相与,逻辑综合工具的综合结果为使用两个相连的查找表来实现该逻辑功能,图2为本发明实施例中逻辑综合使用示意图,如图2所示。

该设计为:

module and_test

(

input[9:0]I,

output Z

);

assign Z=&I;

endmodule

而FPGA基本硬件结构中还有快速进位链(CARRY CHIAN),图3为本发明实施例中进位链结构示意图,如图3所示,一般为行波进位加法器的进位链结构,用于实现大位宽的加减等算术运算。硬件结构进位链的基本结构一般为输入范围4~6的双输出的LUT加选择器等其它逻辑门。

S120,获取所述综合网表中关键路径;

然后利用静态时序分析工具,对生成的综合网表进行时序分析,找出综合网表中的关键路径。

本发明实施例中,关键路径可以是任何对电路延时有较大影响的路径。

S130,若所述关键路径上查位表的实际输入个数不大于预设阈值,且所述关键路径上参考路径两端的相邻元件为进位链,则将所述关键路径上的查位表转换为进位链,所述参考路径为连续相邻的查找表所组成的路径。

如果关键路径的条数为多个,则对每条关键路径,如果该关键路径上存在查位表,则计算该查位表实际输入的信号个数,如果实际输入的信号个数不大于预设阈值,并且该查位表所在的参考路径两端的相邻元件为进位链,则说明该查位表满足转换的要求,可以对查位表进行转换。

本发明实施例中,图4为本发明实施例中参考路径之一示意图,如图4所示,参考路径可以只包含一个查位表,当参考路径只包含一个查位表时,如果该查位表的两个相邻元件中至少有一个是进位链,说明该查位表满足转换要求,则对该查位表进行转换。

另外地,图5为本发明实施例中参考路径又一示意图,如图5所示,参考路径也可以包含多个连续相邻的查位表,并且在参考路径的两端,至少有一个相邻元件是进位链,则对参考路径上的所有查找表,都转换为进位链。

本发明提出的一种基于FPGA进位链的电路结构优化方法,通过查找关键路径上符合变换要求的查找表,并将查找变转换为进位链,由于进位链和查找表两个元件之间的时延较大,而进位链和进位链之间的时延较小,因此,将相邻的进位链和查找变转换为两个相邻的进位链,从而减小了电路时延。

并且,本发明实施例中只需要对关键路径上少量的查找表进行变换操作,就能获得较好的时序优化效果,对软件运行时间的复合极小;并且使用进位链资源少,而FPGA芯片中进位链的资源极其丰富,不会对芯片的资源使用产生影响。

在上述实施例的基础上,优选地,所述预设阈值根据目标FPGA芯片确定,所述目标FPGA芯片用于实现所述目标逻辑运算。

具体地,该预设阈值是根据目标FPGA芯片来确定的,不同的芯片信号,其具体的引脚个数及使用方法不同,因此,不同的目标FPGA芯片对应的预设阈值不同。

在上述实施例的基础上,优选地,所述预设阈值为目标FPGA芯片进位链中查找表的理论输入个数加1。

具体地,预设阈值为目标FPGA芯片进位链查找表的理论输入个数加上1。

具体地,FPGA芯片中进位链的理论输入个数为LUT的理论输入个数加上cin引脚,1表示cin引脚。

只有当参考路径中查找表的实际输入引脚个数不大于预设阈值的情况下,目标FPGA芯片中进位链的输入引脚才是够用的。

在上述实施例的基础上,优选地,所述关键路径为一条或者多条。

具体地,本发明实施例中,关键路径的条数可以为一条,也可以为多条。由于电路的频率是由最差的延时也就是延时最大的路径决定的,所以优化其它路径的时序对提高电路频率的作用不大,但是依然可以对其它路径进行优化。

当关键路径为一条时,该关键路径为延时最大的路径,也就是对设计的时序性能起决定性作用的路径;当关键路径为多条时,该关键路径中一定包括延时最大的路径。

在上述实施例的基础上,优选地,所述将所述关键路径上的查位表转换为进位链,包括:

将所述进位链替换所述关键路径上的查位表,其中,所述进位链的输入引脚替换所述关键路径上查位表的实际信号输入引脚,所述进位链的输出引脚替换所述关键路径上查位表的实际信号输出引脚。

具体地,FPGA芯片的逻辑函数正常都是由可编程互联的查位表来实现,因此设计的关键路径上经常会出现级联查位表,如果能通过降低这种情况下的延时,则能对设计的时序性能有着直接有效的优化效果。

由于进位链一般采用一种巧妙的信号拓扑结构和快速技术,内部传输延时极小,所实现电路的整体延时比用一个FPGA芯片中常规查位表的可编程互联实现的总延迟要低的多。

图6为本发明实施例中进位链元件的基本结构示意图,如图6所示,相比于普通的LUT,CARRY(进位链)由于要实现带进位的加减等算术运算的功能,除了包含双输出的LUT外,还包含选择器mux等逻辑来完成求和sum与进位cout的运算。

加法的求和运算可以简化为sum=A^B^CIN,其中^为异或运算,CARRY内部的LUTn的可以实现A^B的逻辑函数,图7为本发明实施例中进位链元件中sum部分逻辑的结构示意图,如图7所示结构可以实现进位链元件中sum的逻辑实现,图中sum逻辑的运算部分与输入为n+1位的LUT一致,可以实现任意n+1个输入的逻辑函数,同样也就可以替代FPGA中普通LUT的逻辑功能。

因此只要FPGA器件中LUT的输入小于或等于进位链元件中的LUT输入个数加一,就可以用芯片中的CARRY资源来替代。

如计算目标逻辑运算Z=(A==B)?(&I):0的逻辑综合工具的结果正常如下图8,图8为本发明一实施例中逻辑综合运算的结构示意图,此时,LUT6的实际输入个数为6,而CARRY中的LUT6理论输入个数为5,则预示阈值为5+1=6,那么LUT6的实际输入个数等于预示阈值,则可以将该LUT6转换为前面进位链中的一级,将进位链到LUT6之间的连线延时加LUT6本身延时转化为进位链内部极小的延时,图9为本发明实施例中对逻辑运算进行转换后的电路结构示意图,如图9所示,达到了降低电路延时的目的。

图10为本发明实施例提供的一种基于FPGA进位链的电路结构优化系统的结构示意图,如图10所示,该系统包括:综合模块1010、路径模块1020和转换模块1030,其中:

综合模块1010用于通过逻辑综合工具对目标逻辑运算进行逻辑综合,得到综合网表;

路径模块1020用于获取所述综合网表中关键路径;

转换模块1030用于若所述关键路径上查位表的实际输入个数不大于预设阈值,且所述关键路径上参考路径两端的相邻元件为进位链,则将所述关键路径上的查位表转换为进位链,所述参考路径为连续相邻的查找表所组成的路径。

上述基于FPGA进位链的电路结构优化系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,图11为本发明实施例提供的一种计算机设备的结构示意图,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括计算机存储介质、内存储器。该计算机存储介质存储有操作系统、计算机程序和数据库。该内存储器为计算机存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行基于FPGA进位链的电路结构优化方法过程中生成或获取的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于FPGA进位链的电路结构优化方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的基于FPGA进位链的电路结构优化方法的步骤。或者,处理器执行计算机程序时实现基于FPGA进位链的电路结构优化系统这一实施例中的各模块/单元的功能,为避免重复,这里不再赘述。

在一实施例中,提供一计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中基于FPGA进位链的电路结构优化方法的步骤。或者,该计算机程序被处理器执行时实现上述基于FPGA进位链的电路结构优化系统这一实施例中的各模块/单元的功能,为避免重复,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种集成电路自动化逻辑综合系统、方法、装置及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类