CN115438614A - 高层次综合的快速线性规划方法 - Google Patents

高层次综合的快速线性规划方法 Download PDF

Info

Publication number
CN115438614A
CN115438614A CN202211170165.4A CN202211170165A CN115438614A CN 115438614 A CN115438614 A CN 115438614A CN 202211170165 A CN202211170165 A CN 202211170165A CN 115438614 A CN115438614 A CN 115438614A
Authority
CN
China
Prior art keywords
linear programming
tree
integer linear
compressed
compression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211170165.4A
Other languages
English (en)
Inventor
王自鑫
张仕杰
陈弟虎
杨杭
胡胜发
汤锦基
袁悦来
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Ankai Microelectronics Co ltd
Sun Yat Sen University
Original Assignee
Guangzhou Ankai Microelectronics Co ltd
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Ankai Microelectronics Co ltd, Sun Yat Sen University filed Critical Guangzhou Ankai Microelectronics Co ltd
Priority to CN202211170165.4A priority Critical patent/CN115438614A/zh
Publication of CN115438614A publication Critical patent/CN115438614A/zh
Priority to PCT/CN2022/142014 priority patent/WO2024060446A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • G06F30/343Logical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明提供的高层次综合的快速线性规划方法,方法包括以下步骤:构建压缩树库,所述压缩树库包括若干个压缩树,所述压缩树用于描述硬件电路的输入输出以及面积成本;基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型;对所述整数线性规划模型求解,根据求解结果生成压缩树网络描述;根据所述压缩树网络描述,整合得到目标硬件电路描述;法通过通用并行计数器的级联和绑定,从而在不牺牲面积的前提下提高综合后电路的速度,提高时钟频率,能够实现快速线性规划;可广泛应用于电路仿真技术领域。

Description

高层次综合的快速线性规划方法
技术领域
本发明涉及电路仿真技术领域,尤其涉及一种高层次综合的快速线性规划方法。
背景技术
高层次综合(High-level Synthesis)简称HLS,指的是将高层次语言描述的逻辑结构,自动转换成低抽象级语言描述的电路模型的过程。HLS工具具有高效快速的特点,能够减少硬件工程师设计的时间,同时也让软件工程师完成硬件设计。
但是,在相关技术方案中,基于进位节省加法器和单列并行计数器的早期压缩树在ASIC设计中性能良好,但是不能很好地适应现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA),可能存在着电路响应速度慢,时钟频率低等比较明显的缺陷。
发明内容
有鉴于此,为至少部分解决上述技术问题或者缺陷之一,本发明实施例的目的在于提供一种基于整数线性规划和压缩树构建的高层次综合工具快速算法实现方法。
一方面,本申请技术方案提供了高层次综合的快速线性规划方法,包括以下步骤:
构建压缩树库,所述压缩树库包括若干个压缩树模型,所述压缩树模型用于描述硬件电路的输入输出以及面积成本;
基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型;
对所述整数线性规划模型求解,根据求解结果生成压缩树网络描述;
根据所述压缩树网络描述,整合得到目标硬件电路描述。
在本申请方案的一种可行的实施例中,所述构建压缩树库这一步骤,包括:
根据快速进位链中的多操作数加法构建得到加法器点图;
根据所述加法器点图中所述描述的输出点位确定所述压缩树模型的输出,根据所述加法器点图中所述描述的输入点位确定所述压缩树模型的输入;
根据压缩树值、所述压缩树模型的输出位宽以及所述压缩树模型的面积效率确定所述面积成本;所述压缩树值根据所述压缩树模型的输入位数计算得到。
在本申请方案的一种可行的实施例中,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,包括:
根据第一约束条件对全部压缩树模型进行求和;所述第一约束条件为:
Ps,k,i=Es,k,i+Fs,k,i+Gs,k,i+Hs,k,i+Rs,k,i+Ms,l,i+Ms,m,i+Ms,h,i
其中,压缩树模型包括专用压缩树和非专用压缩树,i∈[0,imax-1],s∈[0,Smax-1];Ps,k,i为s阶段中位于列i的压缩树模型类型k的数量;Es,k,i为s阶段中位于列i非专用的压缩树类型k的数量;Fs,k,i为s阶段中位于列i的映射于绑定的专用压缩树类型k的数量;Gs,k,i为s阶段中位于列i的映射于绑定的压缩树模型类型k的数量;Hs,k,i为s阶段中位于列i的用于级联的专用压缩树类型k的数量;Rs,k,i为s阶段中列i的用于级联的全部压缩树模型类型k的数量;Ms,l,i为s阶段中位于列i的行加法器的最低有效组件;Ms,m,i为s阶段中位于列i的行加法器的中间有效组件;Ms,h,i为s阶段中位于列i的行加法器的最高有效组件;imax为压缩树模型最大列数;Smax为压缩树模型最大阶段数。
在本申请方案的一种可行的实施例中,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,还包括:
在非输出阶段,根据第二约束条件,确定所述压缩树模型的输入;所述第二约束条件为:
Figure BDA0003858877000000021
其中,i∈[0,imax-1],s∈[0,Smax-1];Ke为压缩树模型类型总数,ik为压缩树模型类型k的输入列数,Ik,i为位于列i的压缩树模型类型k的输入数量,Ns,i为阶段s的位于列i的输入位数,
Figure BDA0003858877000000023
和i的定义相同,同样表示列数。
在本申请方案的一种可行的实施例中,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,还包括:
根据第三约束条件确定所述压缩树模型的输出位数;所述第三约束条件为:
Figure BDA0003858877000000022
其中,i∈[0,imax-1],s∈[0,Smax-1];Ke为压缩树模型类型总数;ok为压缩树模型类型k的输出列数;Qk,i为位于列i的压缩树模型类型k的输出数量;Ns,i为阶段s的位于列i的输入位数。
在本申请方案的一种可行的实施例中,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,还包括:
根据第四约束条件,连接所述行加法器;所述第四约束条件为:
Ms,h,i+1Ms,m,i+1=Ms,m,iMs,l,i
其中,i∈[0,imax-1],s∈[0,Smax-1]
在本申请方案的一种可行的实施例中,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,还包括:
根据第五约束条件,限制所述整数线性规划模型在输出阶段的位数,所述第五约束条件为:
Figure BDA0003858877000000031
其中,i∈[0,imax],Ns,i为阶段s的位于列i的输入位数;γ为最后的所述加法器决定的整数。
在本申请方案的一种可行的实施例中,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,还包括:
根据第六约束条件,确定所述压缩树模型的级联关系;所述第六约束条件为:
Figure BDA0003858877000000032
其中,i∈[0,imax],s∈[1,Smax-2],K3表示用于级联的专用压缩树类型的数量,K4用于级联的所有压缩树模型类型的数量;ok为压缩树模型类型k的输出列数。
在本申请方案的一种可行的实施例中,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,还包括:
根据第七约束条件,在所述整数线性规划模型中确定各级联阶段中的压缩树模型;所述第七约束条件为:
Figure BDA0003858877000000033
其中,i∈[0,imax],s∈[1,Smax-2],K3表示用于级联的专用压缩树类型的数量,K4用于级联的所有压缩树模型类型的数量;ok为压缩树模型类型k的输出列数。
在本申请方案的一种可行的实施例中,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,还包括:
根据第八约束条件,对所述压缩树模型进行资源绑定,所述第八约束条件为:
Figure BDA0003858877000000041
通过最小化硬件资源,确定所述整数线性规划模型的目标函数,所述目标函数为:
Figure BDA0003858877000000042
其中,K1为第一个映射中用于绑定的专用压缩树类型数量;K2为第二个映射用于绑定的所有压缩树模型类型数量;Ke为压缩树模型类型总数;Ak为压缩树模型类型k的等效LUT6的面积。
本发明的优点和有益效果将在下面的描述中部分给出,其他部分可以通过本发明的具体实施方式了解得到:
本申请技术方案提供了高层次综合的快速线性规划方案,提出了基于整数线性规划的压缩树构建方法,首先构建压缩树库,然后基于压缩树库生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型,通过该模型进行求解得到压缩树网络描述,从而实现对目标硬件电路的描述;方法通过通用并行计数器的级联和绑定,从而在不牺牲面积的前提下提高综合后电路的速度,提高时钟频率,能够实现快速线性规划,并能够广泛地应用在设计FPGA快速算法的应用场景之中。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请技术方案中所提供的高层次综合的快速线性规划方法的步骤流程图;
图2为本申请技术方案中含快速进位链的六输入LUT结构示意图;
图3为本申请技术方案中将多操作数加法抽象为一个点图的示意图;
图4为本申请技术方案中压缩树的点图;
图5为本压缩树和硬件电路的映射示意图;
附图标记:501、全加器(Full Adder);502、半加器(Half Adder);503、多路复用器(Multiplexer);504、异或门(Xor Gate)。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
基于目前相关技术方案中,在FPGA上集成了通用并行计数器这一架构基础上,可以构建压缩树用于解决相关技术方案中由于进位节省加法器和单列并行计数器,所带来的电路响应速度慢,时钟频率低等技术缺陷。为此本申请技术方案提出了一种整数线性规划方法,用于在FPGA上构建基于通用并行计数器的压缩树;实施例方法支持通用并行计数器之间的级联和绑定,从而在不牺牲面积的前提下提高综合后电路的速度,提高时钟频率,实现快速算法。
在第一方面,如图1所示,本申请技术方案提供了高层次综合的快速线性规划方法;方法包括步骤S100-S400:
S100、构建压缩树库,所述压缩树库包括若干个压缩树,所述压缩树用于描述硬件电路的输入输出以及面积成本;
具体在实施例中,压缩树库是构建压缩树的基础,对于压缩树的性能有很大的影响。其中,每一种压缩树(模型)都用其输入、输出、面积成本来表示。在实施例中,为GPCs创建了专门的压缩树类型,因为其具有级联或绑定的潜力。例如,当GPC(6:3)级联到其他GPC时,可以通过使用两个带有进位逻辑的LUT6来实现,如果用于压缩树绑定时,因为逻辑不相交,所以需要额外的LUT6,使用到三个LUT6。
S200、基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型;
S300、对所述整数线性规划模型求解,根据求解结果生成压缩树网络描述;
S400、根据所述压缩树网络描述,整合得到目标硬件电路描述;
示例性地,如图2所示,图2中展示的具有快速进位链的六输入LUT。一个切片是Xilinx FPGA的基本可重构单元,它包含4个六输入LUT(LUT6)、8个寄存器、多路复用器和一个4位进位链;每个LUT6都可以配置为实现单个六输入函数,两个具有共享输入的五输入函数,或一个六输入函数和一个具有共享输入和共享值的五输入函数。其中,进位链是一种专用的体系结构,用于实现快速的加或减,可以级联形成一个更大的功能单元。因此,本实施例的核心工作是基于快速算法的应用,针对进位链构建整数线性规划模型。并通过对这一整数线性规划模型进行求解,得到目标硬件电路的压缩树网络描述,并基于压缩树网络描述中的输入输出等进行整合得到目标硬件电路描述。
在一些可行实施例中,方法中构建压缩树库这一步骤S100,可以包括步骤S101-S103;
S101、根据快速进位链中的多操作数加法构建得到加法器点图;
S102、根据所述加法器点图中所述描述的输出点位确定所述压缩树的输出,根据所述加法器点图中所述描述的输入点位确定所述压缩树的输入;
S103、根据压缩树值、所述压缩树的输出位宽以及所述压缩树的面积效率确定所述面积成本;所述压缩树值根据所述压缩树的输入位数计算得到。
示例性地,如图3所示,在实施例中为了更好地分析计算,可以将多操作数加法抽象为一个点图;图3中显示了一个包含四个四位加法器的点图。每个点表示每个操作数的一个二进制位,它可以是0或1。一列中的一组点具有相同的二进制权值,二进制权值从右边的低到左边的高进行排序。图3中直线上方的点描述了要添加的输入,直线下方的点表示输出。
进一步地,在实施例中,如图4所示,一个压缩树可以被描述为[mk-1,mk-2,......,m0;n],其中,mi用i表示第i列中的输入位数,n表示输出的位宽。压缩树的值M和输出位宽n由下述公式计算得到:
Figure BDA0003858877000000061
n=log2(Mmax+1) (2)
压缩树的面积效率由E计算,E值定义为去除位λ除以查找表LUT数量L:
Figure BDA0003858877000000062
因此,实施例中的步骤S100中每种压缩树用输入输出和面积成本可以通过M,n,E三个参数表示。如图4所示,图4描绘了GPC(6、0、7、5)、(1、5、3)和(6、3)的点图,压缩树的功能也可以用点图来表示。一个(6、0、7;5)GPC在列2中有6个输入位,在列0中有7个输入位和5个输出位。当所有的输入位都被设置为1时,(6、0、7;5)GPC得到其最大值Mmax=6×27+7×20=31和输出位宽n=log2(31+1)=5。此外,它的硬件成本是4个六输入LUT,去掉的位是8个,通过输入位和输出位之间的差值来测量。因此,(6、0、7;5)GPC的效率为E=8/4=2。
在一些可行的实施例中,实施例步骤S200中,所构建的整数线性规划模型的变量以及含义如表1所示:
表1
变量 含义
S<sub>max</sub> 压缩树最大阶段数
i<sub>max</sub> 压缩树最大列数
I<sub>k,i</sub> 位于列i的压缩树类型k的输入数量
Q<sub>k,i</sub> 位于列i的压缩树类型k的输出数量
P<sub>s,k,i</sub> 阶段s的位于列i的压缩树类型k的数量
E<sub>s,k,i</sub> 阶段s的位于列i的非专用压缩树类型k的数量
N<sub>s,i</sub> 阶段s的位于列i的输入位数
K<sub>e</sub> 压缩数类型总数
ι<sub>k</sub> 压缩树类型k的输入列数
o<sub>k</sub> 压缩树类型k的输出列数
γ 由最后加法器决定的整数
M<sub>s,l,i</sub> 阶段s的位于列i的行加法器的最低有效组件
M<sub>s,m,i</sub> 阶段s的位于列i的行加法器的中间有效组件
M<sub>s,h,i</sub> 阶段s的位于列i的行加法器的最高有效组件
K<sub>1</sub> 用于绑定的专用压缩树类型的数量
K<sub>2</sub> 用于绑定的全部压缩树类型的数量
F<sub>s,k,i</sub> 阶段s的位于列i的映射于绑定的专用压缩树类型k的数量
G<sub>s,k,i</sub> 阶段s的位于列i的映射于绑定的全部压缩树类型k的数量
K<sub>3</sub> 用于级联的专用压缩树类型的数量
K<sub>4</sub> 用于级联的全部压缩树类型的数量
H<sub>s,k,i</sub> 阶段s的位于列i的用于级联的专用压缩树类型k的数量
R<sub>s,k,i</sub> 阶段s的位于列i的用于级联的全部压缩树类型k的数量
A<sub>k</sub> 压缩树类型k的等效LUT6的面积
在一些可行的实施方式中,基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤可以包括步骤S201:根据第一约束条件对全部压缩树进行求和。
具体地,实施例根据约束条件1将所有压缩树求和,包括通用并行计数器和各列各阶段的行加法器。其中,约束条件1表示为:
Ps,k,i=Es,k,i+Fs,k,i+Gs,k,i+Hs,k,i+Rs,k,i+Ms,l,i+Ms,m,i+Ms,h,i
其中,i∈[0,imax-1],s∈[0,Smax-1]。
在一些可行的实施方式中,基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤可以包括步骤S202:在非输出阶段,根据第二约束条件,确定所述压缩树的输入。
具体地,实施例根据约束条件2确保除输出阶段外,各列各阶段的所有位作为压缩树的输入。约束条件2表示为:
Figure BDA0003858877000000081
其中,i∈[0,imax-1],s∈[0,Smax-1],
Figure BDA0003858877000000082
和i的定义相同,同样表示列数,
Figure BDA0003858877000000083
的取值范围为取值范围是0到ik
在一些可行的实施方式中,基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤可以包括步骤S203:根据第三约束条件确定所述压缩树的输出位数。
具体在实施例中,实施例根据约束条件3计算压缩树产生的输出位数。约束条件3表示为:
Figure BDA0003858877000000084
其中,i∈[0,imax-1],s∈[0,Smax-1]。
在一些可行的实施方式中,基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤可以包括步骤S204:根据第四约束条件,连接所述行加法器。
具体地,实施例根据约束条件4确保行加法器的正确连接。约束条件4表示为:
Ms,h,i+1Ms,m,i+1=Ms,m,iMs,l,i
其中,i∈[0,imax-1],s∈[0,Smax-1]。
在一些可行的实施方式中,基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤可以包括步骤S205:根据第五约束条件,限制所述整数线性规划模型在输出阶段的位数。
具体地,实施例根据约束条件5限制输出阶段的位数。约束条件5表示为:
Figure BDA0003858877000000085
其中,i∈[0,imax]。
在一些可行的实施方式中,基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤可以包括步骤S206:根据第六约束条件,确定所述压缩树的级联关系。
具体地,实施例根据约束条件6确保一个压缩树只能级联一次。约束条件6表示为:
Figure BDA0003858877000000086
其中,i∈[0,immax],s∈[1,Smax-2]。
在一些可行的实施方式中,基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤可以包括步骤S207:根据第七约束条件,在所述整数线性规划模型中确定各级联阶段中的压缩树。
具体地,实施例根据约束条件7确保级联的前提是下一阶段存在合适的压缩树。约束条件7表示为:
Figure BDA0003858877000000091
其中,i∈[0,immax],s∈[1,Smax-2]。
在一些可行的实施方式中,基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤可以包括步骤S208:根据第八约束条件,对所述压缩树进行资源绑定。
具体地,实施例根据约束条件8确保用于资源绑定的特定压缩树的正确使用。约束条件8表示为:
Figure BDA0003858877000000092
在一些可行的实施方式中,基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤可以包括步骤S209:通过最小化硬件资源,确定所述整数线性规划模型的目标函数。
具体地,实施例中目标函数为最小化硬件资源;该目标函数为:
Figure BDA0003858877000000093
在一些其他的可行实施例中,步骤S300求解整数线性规划模型使用开源求解工具lpsolve;步骤获得硬件电路描述使用基于差分约束系统的高层次综合工具SHANG。
如图5所示,展示了Xilinx FPGA中的GPC(7;3)、(6、0、7、5)、(1、3、5、4)、(2、1、1、7、5)的示意图(Schematic)和门级映射(FPGA mapping),在该实施例中a、bn、cn、dn分别表示与列0、1、2、3相关的GPC输入,Zn表示GPC输出。在该实施例中以Xilinx Virtex6设备为例,本申请技术方案所提出的GPC映射也可以应用于其他相似的Xilinx FPGA。
在一些可行的实施方式中,可以由SHANG高层次综合工具生成的压缩树的电路描述的system verilog代码,等价描述了压缩树的结构。
综上所述,本申请技术方案可以广泛适用于含有大量乘法和加法的FPGA快速算法中。
示例性地,快速乘法器在很多快速算法的应用中具有重要作用。利用快速乘法器进行实验,更全面地测试了本发明提出的压缩树实现方法。在实验过程中,实施例将乘子的位宽n与乘数的位宽相同,其中n从10到24变化。采用所提出的压缩树和双输入加法器树对Booth算法生成的相同部分积进行求和。
如表2所示,展示了快速乘法的实现结果,其中使用Booth算法和所提出的压缩树的组合构建的乘子用“Booth+prop.ILP表示。ILP和那些使用Booth算法和双输入加法器树构造的组合用“Booth+Adder tree”表示。可以看出,使用所提出的压缩树可以显著减少平均切片数量27.86%,与使用加法树的相比,平均最大时钟频率略有增加(0.14%)。也就是说,在同等的面积限制下,使用本发明一种高层次综合工具快速算法实现方法可以得到更好的速度性能。
表2
Figure BDA0003858877000000101
从上述具体的实施过程,可以总结出,本发明所提供的技术方案相较于现有技术存在以下优点或优势:
方法通过通用并行计数器的级联和绑定,从而在不牺牲面积的前提下提高综合后电路的速度,提高时钟频率,能够实现快速线性规划,并能够广泛地应用在设计FPGA快速算法的应用场景之中。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (10)

1.高层次综合的快速线性规划方法,其特征在于,包括以下步骤:
构建压缩树库,所述压缩树库包括若干个压缩树模型,所述压缩树模型用于描述硬件电路的输入输出以及面积成本;
基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型;
对所述整数线性规划模型求解,根据求解结果生成压缩树网络描述;
根据所述压缩树网络描述,整合得到目标硬件电路描述。
2.根据权利要求1所述的高层次综合的快速线性规划方法,其特征在于,所述构建压缩树库这一步骤,包括:
根据快速进位链中的多操作数加法构建得到加法器点图;
根据所述加法器点图中所述描述的输出点位确定所述压缩树模型的输出,根据所述加法器点图中所述描述的输入点位确定所述压缩树模型的输入;
根据压缩树值、所述压缩树模型的输出位宽以及所述压缩树模型的面积效率确定所述面积成本;所述压缩树值根据所述压缩树模型的输入位数计算得到。
3.根据权利要求2所述的高层次综合的快速线性规划方法,其特征在于,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,包括:
根据第一约束条件对全部压缩树模型进行求和;所述第一约束条件为:
Ps,k,i=Es,k,i+Fs,k,i+Gs,k,i+Hs,k,i+Rs,k,i+Ms,l,i+Ms,m,i+Ms,h,i
其中,压缩树模型包括专用压缩树和非专用压缩树,i∈[0,imax-1],s∈[0,Smax-1];Ps,k,i为s阶段中位于列i的压缩树模型类型k的数量;Es,k,i为s阶段中位于列i非专用压缩树类型k的数量;Fs,k,i为s阶段中位于列i的映射于绑定的专用压缩树类型k的数量;Gs,k,i为s阶段中位于列i的映射于绑定的压缩树模型类型k的数量;Hs,k,i为s阶段中位于列i的用于级联的专用压缩树类型k的数量;Rs,k,i为s阶段中列i的用于级联的全部压缩树模型类型k的数量;Ms,l,i为s阶段中位于列i的行加法器的最低有效组件;Ms,m,i为s阶段中位于列i的行加法器的中间有效组件;Ms,h,i为s阶段中位于列i的行加法器的最高有效组件;imax为压缩树模型最大列数;Smax为压缩树模型最大阶段数。
4.根据权利要求3所述的高层次综合的快速线性规划方法,其特征在于,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,还包括:
在非输出阶段,根据第二约束条件,确定所述压缩树模型的输入;所述第二约束条件为:
Figure FDA0003858876990000021
其中,i∈[0,imax-1],s∈[0,Smax-1];Ke为压缩树模型的类型总数,ik为压缩树模型类型k的输入列数,Ik,i为位于列i的压缩树模型类型k的输入数量,Ns,i为阶段s的位于列i的输入位数。
5.根据权利要求3所述的高层次综合的快速线性规划方法,其特征在于,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,还包括:
根据第三约束条件确定所述压缩树模型的输出位数;所述第三约束条件为:
Figure FDA0003858876990000022
其中,i∈[0,imax-1],s∈[0,Smax-1];Ke为压缩树模型类型总数;ok为压缩树模型类型k的输出列数;Qk,i为位于列i的压缩树模型类型k的输出数量;Ns,i为阶段s的位于列i的输入位数。
6.根据权利要求3所述的高层次综合的快速线性规划方法,其特征在于,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,还包括:
根据第四约束条件,连接所述行加法器;所述第四约束条件为:
Ms,h,i+1Ms,m,i+1=Ms,m,iMs,l,i
其中,i∈[0,imax-1],s∈[0,Smax-1]。
7.根据权利要求3所述的高层次综合的快速线性规划方法,其特征在于,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,还包括:
根据第五约束条件,限制所述整数线性规划模型在输出阶段的位数;所述第五约束条件为:
Figure FDA0003858876990000023
其中,i∈[0,imax],Ns,i为阶段s的位于列i的输入位数;γ为最后的所述加法器决定的整数。
8.根据权利要求3所述的高层次综合的快速线性规划方法,其特征在于,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,还包括:
根据第六约束条件,确定所述压缩树模型的级联关系;所述第六约束条件为:
Figure FDA0003858876990000031
其中,i∈[0,imax],s∈[1,Smax-2],K3表示用于级联的专用压缩树类型的数量,K4用于级联的所有压缩树模型类型的数量;ok为压缩树模型类型k的输出列数。
9.根据权利要求3所述的高层次综合的快速线性规划方法,其特征在于,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,还包括:
根据第七约束条件,在所述整数线性规划模型中确定各级联阶段中的所述压缩树模型;所述第七约束条件为:
Figure FDA0003858876990000032
其中,i∈[0,imax],s∈[1,Smax-2],K3表示用于级联的专用压缩树类型的数量,K4用于级联的所有压缩树模型类型的数量;ok为压缩树模型类型k的输出列数。
10.根据权利要求3所述的高层次综合的快速线性规划方法,其特征在于,所述基于所述压缩树库,生成整数线性规划约束,并根据所述整数线性规划约束,构建整数线性规划模型这一步骤,还包括:
根据第八约束条件,对所述压缩树模型进行资源绑定;所述第八约束条件为:
Figure FDA0003858876990000033
通过最小化硬件资源,确定所述整数线性规划模型的目标函数,所述目标函数为:
Figure FDA0003858876990000034
其中,K1为第一个映射中用于绑定的专用压缩树类型数量;K2为第二个映射用于绑定的所有压缩树模型类型数量;Ke为压缩树模型类型总数;Ak为压缩树模型类型k的等效LUT6的面积。
CN202211170165.4A 2022-09-22 2022-09-22 高层次综合的快速线性规划方法 Pending CN115438614A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211170165.4A CN115438614A (zh) 2022-09-22 2022-09-22 高层次综合的快速线性规划方法
PCT/CN2022/142014 WO2024060446A1 (zh) 2022-09-22 2022-12-26 高层次综合的快速线性规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211170165.4A CN115438614A (zh) 2022-09-22 2022-09-22 高层次综合的快速线性规划方法

Publications (1)

Publication Number Publication Date
CN115438614A true CN115438614A (zh) 2022-12-06

Family

ID=84248821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211170165.4A Pending CN115438614A (zh) 2022-09-22 2022-09-22 高层次综合的快速线性规划方法

Country Status (2)

Country Link
CN (1) CN115438614A (zh)
WO (1) WO2024060446A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024060446A1 (zh) * 2022-09-22 2024-03-28 中山大学 高层次综合的快速线性规划方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201122857A (en) * 2009-12-23 2011-07-01 Univ Nat Chiao Tung Delay optimal compressor tree synthesis for LUT-based FPGAs
CN104063558A (zh) * 2014-07-08 2014-09-24 领佰思自动化科技(上海)有限公司 基于线性规划的大规模集成电路通道布线方法
CN106682258B (zh) * 2016-11-16 2020-04-24 中山大学 一种高层次综合工具中的多操作数加法优化方法及系统
CN115438614A (zh) * 2022-09-22 2022-12-06 中山大学 高层次综合的快速线性规划方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024060446A1 (zh) * 2022-09-22 2024-03-28 中山大学 高层次综合的快速线性规划方法

Also Published As

Publication number Publication date
WO2024060446A1 (zh) 2024-03-28

Similar Documents

Publication Publication Date Title
US9916131B2 (en) Techniques and devices for performing arithmetic
JP2021536076A (ja) 乗算累積回路
Kumm et al. An efficient softcore multiplier architecture for Xilinx FPGAs
Prasad et al. Design of low power and high speed modified carry select adder for 16 bit Vedic Multiplier
CN115438614A (zh) 高层次综合的快速线性规划方法
Laxman et al. FPGA implementation of different multiplier architectures
CN114237550B (zh) 一种基于Wallace树的多输入移位求和累加器
Naregal et al. Design and implementation of high efficiency vedic binary multiplier circuit based on squaring circuits
Landy et al. Revisiting serial arithmetic: A performance and tradeoff analysis for parallel applications on modern FPGAs
Ercegovac et al. Digit-recurrence algorithms for division and square root with limited precision primitives
JP4313467B2 (ja) 小容量メモリを用いた除算方式
CN113791753A (zh) 一种基于fpga的支持快速除法的可编程dsp
Jadhav et al. A novel high speed FPGA architecture for FIR filter design
Mahendra et al. Fpga implementation of high performance precise signed and unsigned multiplier using ternary 6-lut architecture
Stamenković et al. Constant-coefficient FIR filters based on residue number system arithmetic
Mohanty Design and implementation of faster and low power multipliers
CN113515259B (zh) 一种适用于浮点格式的复数的近似取模实现电路及方法
Shah et al. Distributed Arithmetic for the Design of High Speed FIR Filter Using FPGAs
Sunitha et al. ENHANCING FPGA ACCELERATORS: HIGH-PERFORMANCE MULTIPLIERS WITH ADVANCED CARRY CHAINS
Sahoo et al. Multichannel Filters for Wireless Networks: Lookup-Table-Based Efficient Implementation
Lin Optimization for approximate softcore unsigned multipliers on ALtera FPGA's
Teja et al. Implementation of vedic multiplier using modified architecture by routing rearrangement for high-optimization
Bhosale et al. Optimization of Partial Products in Modified Booth Multiplier Check for updates
Ramesh et al. Implementation of Integer Square Root
Drane et al. On the Systematic Creation of Faithfully Rounded Commutative Truncated Booth Multipliers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination