System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于fpga,尤其涉及一种fpga综合工具逻辑优化方法、计算机可读存储介质以及电子设备。
技术介绍
1、逻辑综合是fpga eda软件设计流程中一个重要的步骤,它是将用户输入的行为级或寄存器传输级(rtl)的verilog/vhdl电路文件,转化成由fpga基本逻辑单元如查找表(lut)和触发器(ff)组成的网表文件。fpga逻辑综合包含两个阶段:综合和映射。综合是将行为级或rtl的电路文件,转化成由门电路组成的逻辑网表;映射是将门电路组成的逻辑网表,映射成由fpga基本逻辑单元组成的网表文件。
2、在fpga设计中,“扇出”是指一个逻辑门或触发器的输出连接到其他多个逻辑门或触发器输入的数量。最大扇出数量是指一个逻辑单元能够驱动的最大负载数目,即它可以有效驱动而不至于导致信号延迟过大或者电平不满足要求的下级逻辑单元的最大数量。规定出fpga的最大扇出数量,主要功能是约束综合工具产生的电路网表,使同一个信号输出边的数量不超过一个最大值。
3、用户常使用fpga综合工具的最大扇出约束,约束同一个信号的最大输出边数量,不仅有助于应用电路时序的收敛,而且方便用户对电路的调试和优化。因此如何满足最大扇出数量的约束是fpga综合工具需要解决的技术难题。
技术实现思路
1、本专利技术提供一种fpga综合工具逻辑优化方法、计算机可读存储介质以及电子设备,通过对逻辑单元最大扇出数量进行分配,进而对逻辑单元的扇出数进行优化,以满足最大扇出约束。
2、本专利
3、为达上述之一或部分或全部目的或其他目的,本专利技术一技术方案所提供的一种fpga综合工具逻辑优化方法,包括:遍历电路网表中的每个逻辑单元c,将逻辑单元c的输出端口信号到逻辑单元c的映射关系存储至逻辑单元映射关系集合,并设定每个逻辑单元的初始扇出为0;遍历每个逻辑单元c,对每个逻辑单元c的输入信号sig_i,在逻辑单元映射关系集合中查找输出信号为sig_i的逻辑单元cell_i,并将逻辑单元cell_i的扇出计数加1,同时将信号sig_i到逻辑单元c的映射关系存储至信号扇出逻辑单元集合中;再次遍历电路网表中的每个逻辑单元c,若逻辑单元c的扇出数超过最大值,则将逻辑单元c插入到优化队列中,并对优化队列中的每个逻辑单元c的扇出重新分配。该技术方案的有益效果在于,
4、若优化队列中没有逻辑单元c,则退出优化fpga综合工具逻辑优化。
5、所述逻辑单元c的扇出重新分配的方法是,取出所述优化队列的第一个逻辑单元c,计算出逻辑单元c需要复制的逻辑单元数量n,在网表中复制出n个与逻辑单元c相同的逻辑单元c1,将所述逻辑单元c的扇出分配到n个新的逻辑单元c1中,并更新逻辑单元c的每个输入信号来自的逻辑单元的扇出值,并更新优化队列。
6、计算出逻辑单元c需要复制的逻辑单元数量n的方法是,如果逻辑单元c的扇出数是最大扇出数量的整数倍,则需要复制的逻辑单元数量n为逻辑单元c的扇出数与最大扇出数量的比值减1;如果逻辑单元c的扇出数不是最大扇出数量的整数倍,则需要复制的逻辑单元数量n为逻辑单元c的扇出数与最大扇出数量的比值。
7、在网表中复制出n个与逻辑单元c相同的逻辑单元c1方法为,在电路网表中增加一个新的逻辑单元c1,设置逻辑单元c1的类型等于逻辑单元c的类型;遍历逻辑单元c的每个输入端口p和输入信号sig_i,设置逻辑单元c1的输入端口p的信号为sig_i;遍历逻辑单元c的每个参数以及值,为逻辑单元c1生成一个由参数以及值组成的参数值对;重复生成n个逻辑单元c1,为n个逻辑单元c1生成输入端口信号和参数值对。
8、如果逻辑单元c的扇出数可以被n+1整除,则每个逻辑单元c1可分配逻辑单元c的扇出数m为逻辑单元c的扇出数与n+1的比值;如果辑单元c的扇出数不可以被n+1整除,则每个逻辑单元c1可分配逻辑单元c的扇出数m为逻辑单元c的扇出数与n+1的比值在加上1。
9、将逻辑单元c的扇出分配至n个新的逻辑单元c1中的方法包括如下步骤,步骤一:获取逻辑单元c输出端口信号sig_o,获取信号sig_o的扇出逻辑单元集合,步骤二:新复制的逻辑单元c1按i=0到n-1顺序,对每个新复制的逻辑单元c1获取逻辑单元c1的输出端口信号sig_o1,并按如下方法处理:对sig_o的扇出逻辑单元集合中的每个逻辑单元j,按j=i*m到(i+1)*m顺序循环处理,循环处理方式为原始逻辑单元c的扇出数减少1,从信号sig_o的扇出逻辑单元集合中删除逻辑单元j;将逻辑单元c1的扇出数增加1,并将逻辑单元j增加至信号sig_o1的扇出逻辑单元集合中;步骤三:遍历逻辑单元j的每个输入信号sig_j,如果sig_j=sig_o,则将逻辑单元j的输入端口信号sig_j用信号sig_o1代替。
10、更新逻辑单元c的每个输入信号来自的逻辑单元的扇出值,并更新优化队列包括如下步骤:步骤一:遍历逻辑单元c的每个输入端口信号sig_i,从逻辑单元映射关系集合中查找输出端口信号为sig_i的逻辑单元cell_i;步骤二:将逻辑单元cell_i的扇出数量增加n;步骤三:对每个复制的逻辑单元c1按i=0到n-1顺序,将逻辑单元c1增加到sig_i信号的扇出逻辑单元集合中;步骤四:如果更新后的逻辑单元cell_i的扇出计数大于最大值,则将逻辑单元cell_i插入到优化队列中。
11、本专利技术一技术方案所提供的一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,所述程序代码被处理器调用执行如上文所述的fpga综合工具逻辑优化方法。
12、本专利技术一技术方案所提供的一种电子设备,包括一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行如上文所述的fpga综合工具逻辑优化方法。
13、与现有技术相比,本专利技术的有益效果主要包括:本专利技术能够根据最大扇出约束减少逻辑单元输出信号的扇出数量,不仅有助于后端布局布线算法的优化,使应用电路的时序性能更容易收敛,而且方便用户对电路的调试和优化。
14、为让本专利技术的上述和其他目的、特征和优点能更明显易懂,下文特举优选实施例,并配合附图,作详细说明如下。
本文档来自技高网...【技术保护点】
1.一种FPGA综合工具逻辑优化方法,其特征在于,包括:
2.根据权利要求1所述的一种FPGA综合工具逻辑优化方法,其特征在于,若优化队列中没有逻辑单元c,则退出优化FPGA综合工具逻辑优化。
3.根据权利要求1所述的一种FPGA综合工具逻辑优化方法,其特征在于,所述逻辑单元c的扇出重新分配的方法是,取出所述优化队列的第一个逻辑单元c,计算出逻辑单元c需要复制的逻辑单元数量N,在网表中复制出N个与逻辑单元c相同的逻辑单元c1,将所述逻辑单元c的扇出分配到N个新的逻辑单元c1中,并更新逻辑单元c的每个输入信号来自的逻辑单元的扇出值,并更新优化队列。
4.根据权利要求3所述的一种FPGA综合工具逻辑优化方法,其特征在于,计算出逻辑单元c需要复制的逻辑单元数量N的方法是,如果逻辑单元c的扇出数是最大扇出数量的整数倍,则需要复制的逻辑单元数量N为逻辑单元c的扇出数与最大扇出数量的比值减1;
5.根据权利要求3所述的一种FPGA综合工具逻辑优化方法,其特征在于,在网表中复制出N个与逻辑单元c相同的逻辑单元c1方法为,在电路网表中增加一个新的逻
6.根据权利要求1所述的一种FPGA综合工具逻辑优化方法,其特征在于,如果逻辑单元c的扇出数可以被N+1整除,则每个逻辑单元c1可分配逻辑单元c的扇出数M为逻辑单元c的扇出数与N+1的比值;
7.根据权利要求6所述的一种FPGA综合工具逻辑优化方法,其特征在于,将逻辑单元c的扇出分配至N个新的逻辑单元c1中的方法包括如下步骤,
8.根据权利要求3所述的一种FPGA综合工具逻辑优化方法,其特征在于,更新逻辑单元c的每个输入信号来自的逻辑单元的扇出值,并更新优化队列包括如下步骤:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,所述程序代码被处理器调用执行如权利要求1-8任一项所述的FPGA综合工具逻辑优化方法。
10.一种电子设备,其特征在于,包括一个或多个处理器;
...【技术特征摘要】
1.一种fpga综合工具逻辑优化方法,其特征在于,包括:
2.根据权利要求1所述的一种fpga综合工具逻辑优化方法,其特征在于,若优化队列中没有逻辑单元c,则退出优化fpga综合工具逻辑优化。
3.根据权利要求1所述的一种fpga综合工具逻辑优化方法,其特征在于,所述逻辑单元c的扇出重新分配的方法是,取出所述优化队列的第一个逻辑单元c,计算出逻辑单元c需要复制的逻辑单元数量n,在网表中复制出n个与逻辑单元c相同的逻辑单元c1,将所述逻辑单元c的扇出分配到n个新的逻辑单元c1中,并更新逻辑单元c的每个输入信号来自的逻辑单元的扇出值,并更新优化队列。
4.根据权利要求3所述的一种fpga综合工具逻辑优化方法,其特征在于,计算出逻辑单元c需要复制的逻辑单元数量n的方法是,如果逻辑单元c的扇出数是最大扇出数量的整数倍,则需要复制的逻辑单元数量n为逻辑单元c的扇出数与最大扇出数量的比值减1;
5.根据权利要求3所述的一种fpga综合工具逻辑优化方法,其特征在...
【专利技术属性】
技术研发人员:刘洋,魏育成,
申请(专利权)人:中科亿海微电子科技苏州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。