CN114330190B - 基于多电场模型的时钟驱动fpga芯片全局布局方法 - Google Patents

基于多电场模型的时钟驱动fpga芯片全局布局方法 Download PDF

Info

Publication number
CN114330190B
CN114330190B CN202210205894.2A CN202210205894A CN114330190B CN 114330190 B CN114330190 B CN 114330190B CN 202210205894 A CN202210205894 A CN 202210205894A CN 114330190 B CN114330190 B CN 114330190B
Authority
CN
China
Prior art keywords
clock
model
routing
layout
fpga chip
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.)
Active
Application number
CN202210205894.2A
Other languages
English (en)
Other versions
CN114330190A (zh
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.)
Peking University
Original Assignee
Peking 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 Peking University filed Critical Peking University
Priority to CN202210205894.2A priority Critical patent/CN114330190B/zh
Publication of CN114330190A publication Critical patent/CN114330190A/zh
Application granted granted Critical
Publication of CN114330190B publication Critical patent/CN114330190B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公布了一种基于多电场模型的时钟驱动FPGA芯片全局布局方法,分别对多种不同器件类型的密度分布建立电场模型;输入逻辑综合后得到的电路网表和FPGA芯片的布局限制,使得在全局布局阶段生成有利于合法化阶段满足时钟路由限制的布局结果;将带约束非凸优化模型转化为无约束非凸优化模型;采用嵌套优化框架方法统一对约束求解,即实现基于多电场模型的时钟驱动FPGA芯片全局布局。本发明方法还采用适合GPU进行并行运算的算法结构,能够充分利用GPU进行加速计算,从而在全局布局阶段高效地获得较好的满足时钟路由限制的布局结果,提升FPGA芯片全局布局的质量和效果。

Description

基于多电场模型的时钟驱动FPGA芯片全局布局方法
技术领域
本发明属于电子电气设计自动化(Electronic Design Automation,以下简称EDA)技术领域,涉及芯片集成电路物理设计中针对现场可编程门阵列(FieldProgrammable Gate Array,以下简称FPGA)的全局布局技术,具体涉及一种基于多电场模型系统的时钟驱动FPGA全局布局方法。
背景技术
FPGA是一种在硅片上进行预先设计的具有可编程特性的半定制集成电路芯片。在FPGA芯片制造过程中,制造厂商会预先在硅片上设计出可编程门逻辑器件;在客户使用过程时,设计人员可以通过硬件描述语言(Verilog或者VHDL)描述定制化的逻辑电路,然后利用逻辑综合,布局和布线等EDA软件,将定制化的逻辑电路快速刻录到FPGA上进行测试。FPGA能够按照设计人员的需求快速配置为指定的电路结构,让客户能够在芯片开发前期不必依赖流片周期长,一次性工程费用大的专用集成电路(Application SpecificIntegrated Circuit,以下简称ASIC)芯片,因此FPGA被广泛应用在原型验证,工业控制,通信,汽车电子,数据中心和航空航天等领域。
FPGA全局布局技术是指,给定电路网表和目标FPGA芯片的布局限制,计算器件在芯片上的位置,使得通过接下来的合法化,详细布局和布线阶段后得到的布线的线长最短。由于FPGA芯片的异构性质,相比于ASIC芯片,针对FPGA芯片的全局布局算法难度更高。FPGA的异构性质体现在,制造厂商在硅片上预先设计的多种可编程逻辑器件在FPGA芯片上成列分布,且器件的数量、位置分布不均;并且由于局部可编辑逻辑器件的信号线共用问题,在局部区域部分逻辑器件的不能任意组合,这些都大大增加了针对FPGA全局布局算法的难度。
而随着现代FPGA集成度的提高和性能的多元化,FPGA芯片对布局的要求越来越复杂,其中包括在布局阶段对时钟信号路由的考虑。为了减少后期进行时序分析中的时钟偏移(clock skew),在现代高性能FPGA芯片的制造过程中,往往为了时钟信号设计了专门的时钟路由通道(clock routing track),以提高电路的运行频率。但是,时钟路由通道的分布也对布局阶段器件的分布提出了限制。以赛灵思(简称Xilinx)设计的UltraScale VU095芯片为例,其把整个FPGA芯片版图划分为5×8个时钟区域(clock region), 通过每个时钟区域的时钟信号个数最多为24。这个要求在同一个时钟区域内的所有器件的时钟信号种类个数不能超过24个,这对FPGA全局布局算法提出了更高的要求。
现有的传统FPGA全局布局算法存在以下的不足之处:
(一)现有的FPGA布局工具在大规模FPGA布局问题上效果不佳。现有的FPGA布局工具主要使用基于二次规划的全局布局算法,然而随着芯片规模和芯片复杂度的不断增加,在大规模的FGPA布局问题上基于二次规划的FPGA全局布局算法不能取得很好的布局质量。
(二)现有的FPGA全局布局算法较少在全局布局阶段考虑对时钟信号路由的限制。由于在布局阶段缺乏对时钟信号路由的限制,在后期的合法化阶段需要对部分违反时钟信号路由的器件的位置再进行调整,这会影响整个布局结果的质量。
综上所述,现有的传统FPGA全局布局算法在大规模FPGA布局问题上难以取得很好的布局结果,并且由于在全局布局阶段较少考虑对时钟信号路由的限制,在布局后期的合法化阶段中对违反时钟路由信号的器件的调整会影响布局质量。
发明内容
为了克服上述现有技术的不足,本发明提出了一种基于多电场模型的时钟驱动FPGA芯片的全局布局算法。该算法针对FPGA布局的异构性质,对多种不同的器件类型分别建立了电场模型,用于对器件的密度分布进行建模;并且通过时钟路由分配算法和二次罚函数的方法,在全局布局阶段以平滑化的方式引入了时钟路由的限制,使得该算法可以在全局布局阶段产生满足时钟路由限制的布局结果,提升FPGA芯片全局布局的质量和效果。
在本发明中,将FGPA布局问题通过增广拉格朗日方法转化成一个非凸优化问题,并使用内思特罗夫动量法(Nesterov Momentum Method)进行求解。并且,本发明提出的算法采用适合GPU进行并行运算的算法结构,能够充分利用GPU进行加速计算,从而在全局布局阶段高效地获得较好的满足时钟路由限制的布局结果。
本发明的技术方案是:
一种基于多电场模型的时钟驱动FPGA芯片的全局布局方法,分别对多种不同的器件类型建立了电场模型,来对多种器件的密度分布进行高效建模,并通过时钟路由分配算法和二次罚函数的方法在全局布局的优化问题中以平滑化的方式引入时钟路由的限制,使得可以在全局布局阶段生成有利于接下来合法化阶段的满足时钟路由限制的布局结果。
在本发明中,输入包括逻辑综合后得到的电路网表和FPGA芯片的布局限制,其中的布局限制包括时钟路由限制。本发明包括如下步骤:
A.建立优化模型。
利用可微的加权平均线长模型(Weighted Average Wirelength, 以下简称WAWL)模型来作为布线线长的近似;针对多种不同的器件类型,分别建立了不同器件类型的电场模型,用于对不同器件类型的密度分布进行建模;同时,利用时钟路由分配算法,在优化目标中加入光滑化的二次时钟罚函数项,从而把时钟驱动的FPGA布局问题建模成一个带约束非凸优化问题。
B.利用增广拉格朗日方法(AugmentedLagrangian Method)将该带约束非凸优化问题转化为无约束非凸优化问题。对于原优化问题的三个约束,即时钟路由约束,器件可路由性约束和器件密度分布约束,通过利用一个嵌套优化框架来统一求解,该嵌套优化框架如下:
B1.判断是否满足时钟路由约束,并更新时钟乘子。
B2.判断是否存在路由拥塞问题、是否满足器件可路由性约束,并调整器件面积。
B3.判断器件密度分布是否足够小、是否满足器件密度分布约束,并调整密度乘子。
B4.在上述的B1,B2,B3步骤后,无约束优化问题中时钟乘子,器件面积和密度乘子被确定,使用内思特罗夫动量法对优化问题进行求解,直到优化问题完全收敛。
通过上述步骤,即可以生成一个考虑到时钟路由限制的布局结果,并且该算法兼具较好的运行效率和结果质量,能在相对较短的时间内生成较好的考虑到时钟路由限制的布局结果。
与现有技术相比,本发明的有益效果在于:
本发明提供了一种高效的基于多电场系统的时钟驱动FPGA全局布局算法,分别对多种不同的器件类型建立了电场模型来对器件的密度分布进行高效建模,并通过时钟路由分配算法和二次罚函数的方法在全局布局的优化问题中以平滑化的方式引入时钟路由的限制,将FPGA布局问题转化成带约束非凸优化问题,并通过高效增广拉格朗日方法进行求解,从而获得质量较好的考虑到时钟路由限制的FPGA布局结果。
同时,该算法的计算模型多为向量化操作,具有可充分利用GPU进行并行加速的计算结构,因此具有良好的计算效率和布局结果质量。
附图说明
图1为本发明具体实施例中采用的FPGA芯片的片上资源分布的简化示意图;
其中,CLB(Configurable Logic Block)Site为可编程逻辑单元,DSP(DigitalSignal Processing)Site为数字信号处理单元,IO(Input/Output)Site为输入/输出单元,BRAM(Block RAM)Site为块存储单元。
图2为本发明具体实施采用的本发明提出了一种基于多电场模型的时钟驱动FPGA全局布局算法的流程框图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
本发明提供的高效的基于多电场系统的时钟驱动FPGA全局布局算法,输入包括电路网表和FPGA芯片布局限制,输出考虑到时钟路由限制的FPGA全局布局结果。
以下先提供本发明输入的描述。在本发明中,电路网表用
Figure DEST_PATH_IMAGE001
表示,其中
Figure 396152DEST_PATH_IMAGE002
表示器件集合,
Figure DEST_PATH_IMAGE003
表示器件之间的超边集合。注意在FPGA布局问题中,一个超边
Figure 178163DEST_PATH_IMAGE004
可以同时连接多个器件。各器件有自己的类型,在该实施例中,器件可能的类型为查找表(Look-upTable, 以下简称LUT), 触发器(Flip Flop, 以下简称FF), 数字信号处理器件DSP(Digital Signal Processing, 以下简称DSP),输入/输出器件(Input/Output, 以下简称IO)和块存储器件(Block RAM,以下简称BRAM)。如图1,LUT和FF可以放置在芯片上的CLBSite内,DSP,IO和BRAM器件分别可以放置在对应的DSP Site,IO Site和BRAM Site内。一般IO在FPGA芯片上的位置已经给定,故只考虑剩下的器件类型
Figure DEST_PATH_IMAGE005
如图1所示,FPGA芯片上不同的单元类型在芯片上成列分布。并且,在该实施例中,整个FPGA版图被划分成了2×2个时钟区域。对于FF,DSP和BRAM器件而已,它们都有自己所连的时钟信号。在本实施例中,每个时钟区域内的时钟信号类型数不能超过24个。
A.建立优化模型,包括WAWL线长模型、基于多电场系统的密度模型和二次罚函数时钟惩罚项模型。其中,WAWL线长模型用于在布局阶段对线长进行近似计算, 基于多电场系统的密度模型和二次罚函数时钟惩罚项模型是本发明提出的模型方法。
以下分别描述本优化模型中的WAWL线长模型,基于多电场系统的密度模型和二次罚函数时钟惩罚项模型,并给出带约束优化问题的形式。
A1. WAWL线长模型。
本发明具体使用WAWL线长模型来作为全局布局阶段对最终布线线长的近似。不妨假设当前所有器件的横纵坐标向量分别为
Figure 284660DEST_PATH_IMAGE006
Figure 886542DEST_PATH_IMAGE007
,所有线网组成集合
Figure 205528DEST_PATH_IMAGE003
。对于其中一个线网
Figure 310887DEST_PATH_IMAGE004
, 该线网WAWL线长模型中,其在横坐标和纵坐标方向上的线长分别表示为:
Figure 57126DEST_PATH_IMAGE008
Figure 880726DEST_PATH_IMAGE009
其中,
Figure 6332DEST_PATH_IMAGE010
为线网
Figure DEST_PATH_IMAGE011
在横坐标方向上的线长;
Figure 231777DEST_PATH_IMAGE012
为线网
Figure 414497DEST_PATH_IMAGE011
在纵坐标方向上的线长;
Figure DEST_PATH_IMAGE013
为线网
Figure 725393DEST_PATH_IMAGE011
连接的第i个器件的横坐标;
Figure 651760DEST_PATH_IMAGE014
为线网
Figure 997291DEST_PATH_IMAGE011
连接的第i个器件的纵坐标;
Figure 85333DEST_PATH_IMAGE015
为是控制WAWL线长模型的平滑程度的参数。线网
Figure 883524DEST_PATH_IMAGE004
的WAWL线长即为在横纵坐标方向上线长的和:
Figure 348004DEST_PATH_IMAGE016
在最终的优化问题中的线长项
Figure 282462DEST_PATH_IMAGE017
即为所有线网
Figure 806984DEST_PATH_IMAGE004
的WAWL线长总和:
Figure 826893DEST_PATH_IMAGE018
A2. 基于多电场的密度分布模型。对于每种器件类型
Figure 829484DEST_PATH_IMAGE019
,分别建立一个电场模型。以下描述如何对单个器件类型
Figure 618448DEST_PATH_IMAGE020
建立密度分布模型(电场模型)。
Figure DEST_PATH_IMAGE021
表示属于类型
Figure 579451DEST_PATH_IMAGE020
的器件集合;另外定义一个参数
Figure 86656DEST_PATH_IMAGE022
, 表示在除了类型
Figure 627358DEST_PATH_IMAGE020
器件可放的单元以外位置的背景电荷密度,而类型
Figure 801988DEST_PATH_IMAGE020
器件可放的单元内的背景电荷密度为零。以类型
Figure 402733DEST_PATH_IMAGE023
为例, LUT类型器件可以放置在CLB单元中。在LUT类型器件的电场系统中,CLB单元所在的位置背景电荷密度为零,CLB以外的位置背景电荷密度为
Figure 397234DEST_PATH_IMAGE024
另外对于类型
Figure 741628DEST_PATH_IMAGE020
的器件
Figure 505185DEST_PATH_IMAGE025
,将其视为一个均匀带电二维带电体,其所带电荷均匀分布在其所覆盖的位置内。
背景电荷密度和所有类型
Figure 542411DEST_PATH_IMAGE020
器件所带的电荷这两部分加起来可以得到二维电路版图上每一个点的电荷密度
Figure 44715DEST_PATH_IMAGE026
, 其中
Figure 192800DEST_PATH_IMAGE027
是版图上任意一点的位置坐标。利用麦克斯韦方程组,可以得到器件类型
Figure 810863DEST_PATH_IMAGE020
所对应的电场系统中的电荷密度
Figure 284570DEST_PATH_IMAGE028
A3. 二次罚函数时钟惩罚项模型。
首先介绍本发明提出的时钟路由分配算法,然后介绍在优化问题中引入二次罚函数时钟惩罚项。
时钟路由分配算法的目标是根据当前的器件位置,生成器件到可用时钟区域的映射,使得生成的映射不仅要满足时钟路由限制,而且要对线长的扰动最小。时钟路由分配算法的具体步骤如下:
1)在当前所有时钟区域中找到时钟信号数量最拥挤的时钟区域,如果该最拥挤的时钟区域满足时钟路由限制(在Xilinx的UltraScale VU095芯片上限制每个时钟区域内时钟信号的个数不能超过24个),那么退出算法;
2)否则,找出所有出现在该最拥挤的时钟区域的时钟信号,分别计算禁止单个时钟信号出现在该时钟区域的近似代价。对于某时钟信号,该近似代价的计算方式为, 对于时钟区域内连接该时钟信号的器件,将其移出该时钟区域的最近欧式距离(也就是离该时钟区域边界的最近欧式距离)即为禁止该器件出现在时钟区域的代价;对时钟区域内连接该时钟信号的所有器件的代价求和即为禁止该时钟信号出现在时钟区域的近似代价。
3)找到代价最少的禁止单个时钟信号出现在该时钟区域所采用的时钟路由分配映射方式,并把该区域内与该时钟信号相连的所有器件移出,然后回到步骤1)。
给定时钟路由分配算法生成的器件到可用时钟区域的映射,根据此来生成二次罚函数时钟惩罚项。假设对于器件
Figure 253663DEST_PATH_IMAGE029
其可用的时钟区域集合为
Figure 939859DEST_PATH_IMAGE030
,并记
Figure 943587DEST_PATH_IMAGE030
的边界框的左部、右部、底部和顶部边界坐标分别为分别为:
Figure 588195DEST_PATH_IMAGE031
Figure 44584DEST_PATH_IMAGE032
。本发明将器件
Figure 534472DEST_PATH_IMAGE029
的时钟惩罚项
Figure 189444DEST_PATH_IMAGE033
定义为:
Figure 4953DEST_PATH_IMAGE034
,其中
Figure 948638DEST_PATH_IMAGE006
轴方向上的时钟惩罚
Figure 507796DEST_PATH_IMAGE035
的定义如下:
Figure 954957DEST_PATH_IMAGE036
其中
Figure 675789DEST_PATH_IMAGE013
为器件
Figure 841191DEST_PATH_IMAGE037
的横坐标,其中
Figure 941390DEST_PATH_IMAGE014
为器件
Figure 508637DEST_PATH_IMAGE029
的纵坐标。𝑦轴方向上的时钟惩罚
Figure 134791DEST_PATH_IMAGE038
定义类似。优化问题中二次罚函数时钟惩罚项
Figure 53068DEST_PATH_IMAGE039
即为所有器件的时钟惩罚项之和:
Figure 688449DEST_PATH_IMAGE040
据此,可以将FPGA全局布局问题建模成一个带约束非凸优化模型:
Figure DEST_PATH_IMAGE041
B.利用增广拉格朗日方法将该带约束非凸优化问题转化为无约束非凸优化问题。转化后的无约束非凸优化问题的模型表示如下:
Figure 110203DEST_PATH_IMAGE042
其中,
Figure 438416DEST_PATH_IMAGE043
为无约束非凸优化问题的目标函数;
Figure 312831DEST_PATH_IMAGE044
为器件类型
Figure 751903DEST_PATH_IMAGE045
对应的电场模型的电势能;
Figure 28163DEST_PATH_IMAGE046
为器件类型
Figure 261698DEST_PATH_IMAGE045
的增广拉格朗日项,包括
Figure 623410DEST_PATH_IMAGE044
的一阶项和二阶项,其中
Figure 600593DEST_PATH_IMAGE047
为一个引入的参数,用于平衡一阶项和二阶项的大小;
Figure 731360DEST_PATH_IMAGE048
Figure 401376DEST_PATH_IMAGE046
的密度乘子。本发明从拉格朗日松弛方法的角度统一看待问题的时钟路由限制,可路由限制和密度限制,从整个优化过程来看,这三个限制在嵌套的优化迭代中逐渐增强。当优化过程完全收敛时,时钟驱动的全局布局阶段结束。这里引入了时钟乘子
Figure 250383DEST_PATH_IMAGE049
和密度乘子
Figure 31257DEST_PATH_IMAGE050
,当分别增大这两个乘子时,可以分别增强时钟路由限制和密度限制。
关于可路由限制,使用面积调整方法策略。该方法的主要思想是,当检测到器件附近存在布线拥塞的情况时,根据器件附近的拥塞情况适当放大实例的面积, 布线拥塞越严重的实例,其放大倍数也越大。放大后的面积将体现在电势能的计算上,从而增加可路由性。
本发明利用一个嵌套优化框架来统一求解,该嵌套优化框架如下:
B1.判断是否满足时钟路由约束,如不满足时钟路由约束则更新时钟乘子。
如果当前不满足时钟路由限制,则利用时钟路由分配算法更新二次时钟罚函数项,加强时钟路由约束限制,并更新无约束优化问题中的时钟乘子。
B2.判断是否存在路由拥塞问题,如不满足器件可路由性约束则调整器件面积。
本发明使用使用器件密度和RUDY算法来估计路由拥塞程度。如果当前路由拥塞程度超过阈值,则通过调整器件面积,等效地在电场模型中调整器件所带的电荷量,在优化问题中加强对可路由性的限制,从而缓解路由拥塞问题。
B3.判断器件密度分布是否小于给定的阈值,如果当前器件密度大于阈值,则在优化问题中通过加大密度乘子从而加强对密度分布约束的限制,从而引导器件分散开。
B4.在上述的B1,B2,B3步骤后,无约束优化问题中时钟乘子,器件面积和密度乘子被确定,使用内思特罗夫动量法对优化问题进行求解,直到优化问题完全收敛,至此即获得了满足时钟路由限制的全局布局结果。
通过上述步骤,即可以生成一个考虑到时钟路由限制的布局结果,并且该算法兼具较好的运行效率和结果质量,能在相对较短的时间内生成较好的考虑到时钟路由限制的布局结果。
需要注意的是,公布实施例的目的在于进一步帮助理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的范围内,各种替换和修改都是可能的,包括但不限于优化参数的调整,具体的每个时钟区域的时钟信号类型数等。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (10)

1.一种基于多电场模型的时钟驱动FPGA芯片全局布局方法,分别对多种不同器件类型的密度分布建立电场模型;输入逻辑综合后得到的电路网表和FPGA芯片的布局限制,使得在全局布局阶段生成有利于合法化阶段满足时钟路由限制的布局结果;将带约束非凸优化模型转化为无约束非凸优化模型;采用嵌套优化框架方法统一对约束求解,即实现基于多电场模型的时钟驱动FPGA芯片全局布局;包括如下步骤:
A.建立优化模型,包括:
将当前所有器件的横纵坐标向量分别记为
Figure 527145DEST_PATH_IMAGE001
Figure 384243DEST_PATH_IMAGE002
;所有线网组成集合
Figure 609688DEST_PATH_IMAGE003
;其中线网
Figure 526828DEST_PATH_IMAGE004
;优化模型中的线网的线长项记为
Figure 572145DEST_PATH_IMAGE005
A1.计算得到近似布线线长;
A2. 分别对多种不同的器件类型的密度分布建立基于多电场的密度模型;
对于每种器件类型
Figure 232933DEST_PATH_IMAGE006
,分别对单个器件类型
Figure 312885DEST_PATH_IMAGE007
建立电场的密度 分布模型,过程如下:
定义参数
Figure 666506DEST_PATH_IMAGE008
, 表示在除了类型
Figure 199118DEST_PATH_IMAGE009
器件可放的单元以外位置的背景电荷密度;类型
Figure 496605DEST_PATH_IMAGE010
器件 可放的单元内的背景电荷密度为零;
将类型
Figure 431063DEST_PATH_IMAGE009
的器件
Figure 955586DEST_PATH_IMAGE011
表示为一个均匀带电二维带电体,即器件
Figure 975494DEST_PATH_IMAGE012
所带电荷均匀分布在 其所覆盖的位置内;其中,
Figure 243665DEST_PATH_IMAGE013
,表示属于类型
Figure 32629DEST_PATH_IMAGE010
的器件集合;
将背景电荷密度和所有类型
Figure 462473DEST_PATH_IMAGE010
器件所带的电荷相加,即得到二维电路版图上每一个点 的电荷密度
Figure 969678DEST_PATH_IMAGE014
, 其中
Figure 775960DEST_PATH_IMAGE015
为二维电路版图上任意一点的位置坐标;
利用麦克斯韦方程组,可得到器件类型
Figure 685010DEST_PATH_IMAGE010
所对应的电场系统中的电荷密度,表示为:
Figure 551335DEST_PATH_IMAGE016
A3. 建立二次罚函数时钟惩罚项模型,包括:
A31.设计时钟路由分配算法,根据当前器件位置,生成器件到可用时钟区域的映射,使得生成的映射不仅满足时钟路由限制,而且对线长的扰动最小;
A32. 基于采用时钟路由分配算法生成的器件到可用时钟区域的映射,生成二次罚函 数时钟惩罚项
Figure 280257DEST_PATH_IMAGE017
;在优化目标中加入光滑化的二次时钟罚函数项,将时钟驱动的FPGA布 局建模为带约束非凸优化模型;
A4. 将FPGA芯片的全局布局建模为带约束非凸优化模型,表示如下:
Figure 890229DEST_PATH_IMAGE018
所述约束包括时钟路由约束、器件可路由性约束和器件密度分布约束;
B.采用增广拉格朗日方法将带约束非凸优化模型转化为无约束非凸优化模型;采用嵌套优化框架方法统一对约束求解,确定无约束优化模型中的时钟乘子,器件面积和密度乘子;所述嵌套优化框架方法包括:
B1.判断是否满足时钟路由约束,如不满足时钟路由约束则更新时钟乘子;
B2.判断是否存在路由拥塞,如不满足器件可路由性约束则调整器件面积;
B3.判断器件密度分布是否满足器件密度分布约束,如不满足器件密度分布约束则调整密度乘子;具体是:设置阈值,判断器件密度分布是否小于设定的阈值;若当前器件密度大于阈值,通过加大密度乘子从而加强对密度分布约束的限制;
B4.采用内思特罗夫动量法对优化模型进行求解,直到优化模型完全收敛;
通过上述步骤,即实现基于多电场模型的时钟驱动FPGA芯片全局布局,生成考虑到时钟路由限制的FPGA芯片全局布局结果。
2.如权利要求1所述的基于多电场模型的时钟驱动FPGA芯片全局布局方法,其特征是, 步骤A1中,对于线网
Figure 388207DEST_PATH_IMAGE019
,具体是使用WAWL线长模型计算得到全局布局阶段对最终布线 线长的近似。
3.如权利要求1所述的基于多电场模型的时钟驱动FPGA芯片全局布局方法,其特征是, 步骤A2中定义参数
Figure 691012DEST_PATH_IMAGE020
, 对于具体的类型
Figure 907230DEST_PATH_IMAGE021
,所述LUT类型器件可放置在CLB单元中;则 在LUT类型器件的电场系统中,CLB单元所在的位置背景电荷密度为零,CLB以外的位置背景 电荷密度为
Figure 55315DEST_PATH_IMAGE022
4.如权利要求1所述的基于多电场模型的时钟驱动FPGA芯片全局布局方法,其特征是,步骤A31中,所述时钟路由分配算法的步骤包括:
S1. 在当前所有时钟区域中搜索到时钟信号数量最拥挤的时钟区域;如果该最拥挤的时钟区域满足时钟路由限制,则退出,结束操作;否则进入步骤S2;
S2. 搜索到所有出现在该最拥挤的时钟区域的时钟信号,分别计算得到禁止单个时钟信号出现在该时钟区域的近似代价;
S3.采用代价最少的禁止单个时钟信号出现在该时钟区域的映射方式,并把该区域内与该时钟信号相连的所有器件移出;返回到步骤S1。
5.如权利要求4所述的基于多电场模型的时钟驱动FPGA芯片全局布局方法,其特征是,所述时钟路由限制具体是:在Xilinx的UltraScale VU095芯片上限制每个时钟区域内时钟信号的个数不超过24个。
6.如权利要求1所述的基于多电场模型的时钟驱动FPGA芯片全局布局方法,其特征是, 步骤A32中,将器件
Figure 673378DEST_PATH_IMAGE024
可用的时钟区域集合记为
Figure 147084DEST_PATH_IMAGE025
;将器件
Figure 850598DEST_PATH_IMAGE024
的时钟惩罚项
Figure 802374DEST_PATH_IMAGE026
定义为:
Figure 274943DEST_PATH_IMAGE027
其中,
Figure 653972DEST_PATH_IMAGE028
为𝑦轴方向上的时钟惩罚;
Figure 844782DEST_PATH_IMAGE029
Figure 334669DEST_PATH_IMAGE030
轴方向上的时钟惩罚;
定义
Figure 927324DEST_PATH_IMAGE030
轴方向上的时钟惩罚
Figure 477255DEST_PATH_IMAGE029
如下:
Figure 158290DEST_PATH_IMAGE031
二次罚函数时钟惩罚项
Figure 451868DEST_PATH_IMAGE017
为所有器件的时钟惩罚项之和,表示为:
Figure 899030DEST_PATH_IMAGE032
其中,
Figure 619861DEST_PATH_IMAGE033
为器件
Figure 785264DEST_PATH_IMAGE024
的横坐标,
Figure 616953DEST_PATH_IMAGE034
为器件
Figure 184201DEST_PATH_IMAGE024
的纵坐标;
Figure 75934DEST_PATH_IMAGE035
Figure 728632DEST_PATH_IMAGE036
分别为
Figure 364012DEST_PATH_IMAGE037
的边界框 的左部、右部、底部和顶部边界坐标。
7.如权利要求1所述的基于多电场模型的时钟驱动FPGA芯片全局布局方法,其特征是,步骤B中,转化后的无约束非凸优化模型表示如下:
Figure 785767DEST_PATH_IMAGE038
其中,
Figure 848400DEST_PATH_IMAGE039
为无约束非凸优化问题的目标函数;
Figure 722816DEST_PATH_IMAGE040
为器件类型
Figure 896308DEST_PATH_IMAGE041
对应的电场 模型的电势能;
Figure 438148DEST_PATH_IMAGE042
为器件类型
Figure 671683DEST_PATH_IMAGE043
的增广拉格朗日项,包括
Figure 33394DEST_PATH_IMAGE044
的一阶项和二阶项,其中
Figure 10577DEST_PATH_IMAGE045
为一个引入的参数,用于平衡一阶项和二阶项的大小;
Figure 141344DEST_PATH_IMAGE046
Figure 545781DEST_PATH_IMAGE042
的密度乘子;
Figure 660368DEST_PATH_IMAGE047
为时钟乘子。
8.如权利要求1所述的基于多电场模型的时钟驱动FPGA芯片全局布局方法,其特征是,在步骤B1中,如果当前不满足时钟路由限制,利用时钟路由分配算法更新二次时钟罚函数项,加强时钟路由约束限制,并更新无约束优化问题中的时钟乘子;
在步骤B2中,如不满足器件可路由性约束,则使用器件密度和RUDY算法估计路由拥塞程度;若当前路由拥塞程度超过相应的设定阈值,通过调整器件面积,等效地在电场模型中调整器件所带的电荷量,加强对可路由性的限制,从而缓解路由拥塞。
9.如权利要求1所述的基于多电场模型的时钟驱动FPGA芯片全局布局方法,其特征是,步骤B4中,具体是使用内思特罗夫动量法对优化模型进行求解,直到优化问题完全收敛,由此获得满足时钟路由限制的全局布局结果。
10.如权利要求1所述的基于多电场模型的时钟驱动FPGA芯片全局布局方法,其特征是,所述的基于多电场模型的时钟驱动FPGA芯片全局布局方法采用GPU并行运算的算法结构,通过利用GPU进行加速计算。
CN202210205894.2A 2022-03-04 2022-03-04 基于多电场模型的时钟驱动fpga芯片全局布局方法 Active CN114330190B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210205894.2A CN114330190B (zh) 2022-03-04 2022-03-04 基于多电场模型的时钟驱动fpga芯片全局布局方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210205894.2A CN114330190B (zh) 2022-03-04 2022-03-04 基于多电场模型的时钟驱动fpga芯片全局布局方法

Publications (2)

Publication Number Publication Date
CN114330190A CN114330190A (zh) 2022-04-12
CN114330190B true CN114330190B (zh) 2022-05-20

Family

ID=81030337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210205894.2A Active CN114330190B (zh) 2022-03-04 2022-03-04 基于多电场模型的时钟驱动fpga芯片全局布局方法

Country Status (1)

Country Link
CN (1) CN114330190B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10528695B1 (en) * 2018-07-27 2020-01-07 International Business Machines Corporation Integer arithmetic method for wire length minimization in global placement with convolution based density penalty computation
CN113139361A (zh) * 2020-01-19 2021-07-20 上海复旦微电子集团股份有限公司 一种用于2.5d封装fpga的全局布局方法
CN113343632A (zh) * 2021-05-31 2021-09-03 上海立芯软件科技有限公司 一种考虑进位链和位置约束的异质型布局合法化方法
US20210390178A1 (en) * 2018-10-10 2021-12-16 Nippon Telegraph And Telephone Corporation Information processing device and information processing program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10528695B1 (en) * 2018-07-27 2020-01-07 International Business Machines Corporation Integer arithmetic method for wire length minimization in global placement with convolution based density penalty computation
US20210390178A1 (en) * 2018-10-10 2021-12-16 Nippon Telegraph And Telephone Corporation Information processing device and information processing program
CN113139361A (zh) * 2020-01-19 2021-07-20 上海复旦微电子集团股份有限公司 一种用于2.5d封装fpga的全局布局方法
CN113343632A (zh) * 2021-05-31 2021-09-03 上海立芯软件科技有限公司 一种考虑进位链和位置约束的异质型布局合法化方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"elfPlace: Electrostatics-based Placement for Large-Scale Heterogeneous FPGAs";Wuxi Li 等;《IEEE》;20191226;全文 *
"High-Definition Routing Congestion Prediction for Large-Scale FPGAs";Mohamed Baker Alawieh 等;《IEEE》;20200326;全文 *

Also Published As

Publication number Publication date
CN114330190A (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
Singh et al. Efficient circuit clustering for area and power reduction in FPGAs
US8661374B2 (en) Placement aware clock gate cloning and fanout optimization
US10678979B2 (en) Method and apparatus for implementing a system-level design tool for design planning and architecture exploration
Lin et al. Clock-tree aware multibit flip-flop generation during placement for power optimization
Chen et al. LOPASS: A low-power architectural synthesis system for FPGAs with interconnect estimation and optimization
Chen et al. Simultaneous timing driven clustering and placement for FPGAs
Chen et al. Technology mapping and clustering for FPGA architectures with dual supply voltages
Blutman et al. Logic design partitioning for stacked power domains
Wang et al. A survey of FPGA placement algorithm research
CN114330190B (zh) 基于多电场模型的时钟驱动fpga芯片全局布局方法
Wang et al. Cnn-inspired analytical global placement for large-scale heterogeneous fpgas
Kay et al. EWA: Efficient wiring-sizing algorithm for signal nets and clock nets
Shrestha et al. Graph representation learning for parasitic impedance prediction of the interconnect
Cheng et al. DDBDD: Delay-driven BDD synthesis for FPGAs
Pandini et al. Congestion-aware logic synthesis
Zhu et al. Hierarchical analog and mixed-signal circuit placement considering system signal flow
Lin et al. An incremental placement flow for advanced FPGAs with timing awareness
Ayatollahi et al. AMPS: An Automated Mesochronous Pipeline Scheduler and Design Space Explorer for High Performance Digital Circuits
Bouaziz et al. Exploration of clustering algorithms effects on mesh of clusters based FPGA architecture performance
Pentapati et al. Tier partitioning and flip-flop relocation methods for clock trees in monolithic 3D ICs
Zhu et al. High-performance Placement Engine for Modern Large-scale FPGAs With Heterogeneity and Clock Constraints
Ohchi et al. Floorplan-aware high-level synthesis for generalized distributed-register architectures
Rahimi et al. Layout driven synthesis of multiple scan chains
Hsieh et al. Graceful Register Clustering and Rebanking for Power and Timing Balancing
Chuang et al. Pulsed-latch aware placement for timing-integrity optimization

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
GR01 Patent grant
GR01 Patent grant