CN113505560B - 一种fpga布线拥塞预测方法及系统 - Google Patents
一种fpga布线拥塞预测方法及系统 Download PDFInfo
- Publication number
- CN113505560B CN113505560B CN202110691125.3A CN202110691125A CN113505560B CN 113505560 B CN113505560 B CN 113505560B CN 202110691125 A CN202110691125 A CN 202110691125A CN 113505560 B CN113505560 B CN 113505560B
- Authority
- CN
- China
- Prior art keywords
- fpga
- wiring
- img
- image
- image file
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000006243 chemical reaction Methods 0.000 claims abstract description 43
- 238000012549 training Methods 0.000 claims description 61
- 238000003062 neural network model Methods 0.000 claims description 40
- 125000004122 cyclic group Chemical group 0.000 claims description 39
- 230000008485 antagonism Effects 0.000 claims description 26
- 238000012795 verification Methods 0.000 claims description 13
- 238000005315 distribution function Methods 0.000 claims description 12
- 238000013461 design Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013486 operation strategy Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种FPGA布线拥塞预测方法及系统,包括:首先将FPGA布线拥塞预测问题建模为图像转换问题;根据所述图像转换问题,提取出所需要的特征信息参数;定义循环一致性生成对抗网络模型对所述图像转换问题进行求解,得到布线拥塞预测的结果。通过本发明所设计的FPGA布线拥塞预测方法及系统,可以在布局阶段根据一系列的中间及结果文件,对布线拥塞的结果进行精准预测,从而降低布线迭代所需耗费的时间,进一步提升FPGA EDA工具的工作效率,为FPGA的健康可持续发展提供有力支撑。
Description
技术领域
本发明涉及一种FPGA布线拥塞预测方法及系统,属于集成电路设计自动化领域。
背景技术
作为一种半定制电路,FPGA由于其所具有的研发周期短、设计灵活、开发成本低等一系列优势,在高性能运算、物联网、航空航天以及人工智能等领域得到了广泛的应用。但随着科技的不断发展,FPGA的器件复杂度以及系统容量都得到了大幅度的提升,同时也为FPGA EDA工具的设计流程提出了全新的要求。
通过EDA设计工具,能够将待实现的电路或系统功能编译为二进制码流文件,使用该二进制码流文件,能够对FPGA内部器件的状态进行配置,从而能够在FPGA芯片上实现所需要的功能。但随着电路规模以及FPGA芯片集成度的不断提高,EDA工具编译FPGA电路所需的时间也越来越长,严重制约了FPGA的快速发展。
布线作为FPGA EDA工具流程中最耗时的步骤之一,如何能够对布线拥塞做出精确的预测,减少布线迭代所需耗费的时间显得尤为重要。
发明内容
本发明的目的在于:克服现有技术的不足,提出一种FPGA布线拥塞预测方法及系统,在布局阶段进行布线拥塞结果地精准预测,解决FPGA布线拥塞结果精准预测地难题,降低布线迭代所需耗费的时间,提升FPGA自动布局布线工具的结果质量以及执行效率。
本发明所采用的技术方案是:
一种FPGA布线拥塞预测方法,步骤如下:
步骤S1,FPGA布线拥塞预测建模:将FPGA布线拥塞预测问题建模为图像转换问题;
步骤S2,提取特征信息参数得到布局后图像文件;
步骤S3,根据布线结果得到布线后图像文件,进一步转换为能够表示FPGA布线拥塞结果的图像文件;
步骤S4,定义循环一致性生成对抗网络模型对图像转换问题进行求解,得到FPGA布线拥塞预测的结果。
进一步地,所述步骤S1中,将FPGA布线拥塞预测问题转化为图像转换问题,具体为:
根据FPGA布局、布线后的结果文件,分别得到FPGA布局后图像文件imgp与FPGA布线后图像文件imgr;所述布局后图像文件与布线后图像文件为多通道图像;
将所述FPGA布线后图像文件imgr转化为热图imgrhm,以所述热图imgrhm表示FPGA布线拥塞的结果;
所述FPGA布局后图像文件imgp与所述表示FPGA布线拥塞结果的热图imgrhm间存在一一映射关系,热图imgrhm的求解转化为利用已知的FPGA布局后图像文件imgp生成表示FPGA布线拥塞结果的热图imgrhm的过程,即完成FPGA布线拥塞预测问题的建模。
进一步地,所述步骤S2中,提取特征信息参数得到布局图像文件,具体包括:
所述特征信息参数包括网表间连接关系、布局后引脚密度和宏模块;
根据所述特征信息参数,生成每个所述特征信息参数所对应的特征图像,所述特征图像具体包括网表间连接关系图像、布局后引脚密度图像和宏模块图像;
根据所述特征图像,生成布局后图像文件imgp,具体包括:
将所述网表间连接关系图像、所述布局后引脚密度图像和所述宏模块图像堆叠得到布局后图像文件imgp。
进一步地,所述步骤S3中,根据布线结果得到布线后图像文件,进一步转换为能够表示FPGA布线拥塞结果的热图文件,具体包括:
获取布线后的结果文件;
将所述布线后结果文件转换为布线后图像文件imgr;
将所述布线后图像文件imgr进一步转化为热图文件imgrhm以表示FPGA布线拥塞的结果。
进一步地,所述步骤S4中利用循环一致性生成对抗网络对图像转换问题进行求解,得到FPGA布线拥塞预测的结果,具体包括:
步骤S401:定义所述循环一致性生成对抗网络的损失函数为:
其中,表示所述循环一致性生成对抗网络的正向损失函数,具体表示为:
其中,表示循环一致性生成对抗网络的正向鉴别函数,/>表示循环一致性生成对抗网络的正向生成函数;/>表示布局后图像文件imgp样本的集合,表示样本/>的分布函数;E表示数学期望;/>表示热图文件imgrhm样本的集合,/>表示样本/>的分布函数;
表示所述循环一致性生成对抗网络中的反向损失函数,具体表示为:
其中,表示所述循环一致性生成对抗网络的反向生成函数,/>表示所述循环一致性生成对抗网络的反向鉴别函数;
表示所述循环一致性生成对抗网络的一致性损失,具体表示为:
表示所述循环一致性生成对抗网络中的标准损失函数,具体表示为:
式(1)中λ与γ表示权重指示因子;λ与γ均为正数;
步骤S402:根据上述定义,循环一致性生成对抗网络的目标函数表示为:
步骤S403:对于生成函数与/>构建第一神经网络模型进行训练,所述第一神经网络模型具体包含m1个卷积模块、一个由n1个残差模块组成的密集型残差网络以及m1个反卷积模块;m1、n1均为正整数;
步骤S404:对于鉴别函数和/>构建第二神经网络模型进行训练,所述第二神经网络模型包含m2个卷积模块;m2为正整数;
步骤S405:将所述布局后生成的图像文件imgp与能够表示FPGA布线拥塞结果的热图文件imgrhm组成总体样本集合;
a、将所述总体样本集合划分为训练样本集合与验证样本集合两部分;
b、根据所述训练样本集合对所述第一神经网络模型与第二神经网络模型进行训练,在目标函数曲线收敛时完成训练,得到初始化训练模型;
c、利用所述验证样本集合对所述初始化训练模型进行校准,得到最终的训练模型;
步骤S406:在所述得到最终训练模型中输入布局后生成的图像文件imgp,得到布线拥塞的预测结果。
进一步地,本发明还提出一种FPGA布线拥塞预测系统,包括:
FPGA核心设计模块,将FPGA布线拥塞预测问题建模为图像转换问题,完成FPGA布线拥塞预测建模;
信息预处理模块,用于提取所需要的特征信息参数,得到所述布局后图像文件与布线后图像文件;
循环一致性生成对抗网络模块:定义循环一致性生成对抗网络模型对图像转换问题进行求解,得到FPGA布线拥塞预测的结果。
进一步地,该系统还包括存储模块、显示模块和信息传递模块,存储模块用于存储中间文件以及布线拥塞预测的结果文件;显示模块用于对布线拥塞预测的结果进行显示;信息传递模块用于在各个模块间进行信息的传递。
进一步地,将FPGA布线拥塞预测问题转化为图像转换问题,具体为:
根据FPGA布局、布线后的结果文件,分别得到FPGA布局后图像文件imgp与FPGA布线后图像文件imgr;所述布局后图像文件与布线后图像文件为多通道图像;
将所述FPGA布线后图像文件imgr转化为热图imgrhm,以所述热图imgrhm表示FPGA布线拥塞的结果;
所述FPGA布局后图像文件imgp与所述表示FPGA布线拥塞结果的热图imgrhm间存在一一映射关系,FPGA布线拥塞结果的热图imgrhm的求解转化为利用已知的FPGA布局后图像文件imgp生成FPGA布线拥塞结果的热图imgrhm的过程,即完成FPGA布线拥塞预测问题的建模。
进一步地,提取特征信息参数得到布局图像文件,具体包括:
所述特征信息参数包括网表间连接关系、布局后引脚密度和宏模块;
根据所述特征信息参数,生成每个所述特征信息参数所对应的特征图像,所述特征图像具体包括网表间连接关系图像、布局后引脚密度图像和宏模块图像;
根据所述特征图像,生成布局后图像文件imgp,具体包括:
将所述网表间连接关系图像、所述布局后引脚密度图像和所述宏模块图像堆叠得到布局后图像文件imgp;
根据布线结果得到布线后图像文件,进一步转换为能够表示FPGA布线拥塞结果的图像文件具体包括:
获取布线后的结果文件;
将所述布线后结果文件转换为布线后图像文件imgr;
将所述布线后图像文件imgr进一步转化为热图文件imgrhm以表示FPGA布线拥塞的结果。
进一步地,定义循环一致性生成对抗网络模型对图像转换问题进行求解,得到FPGA布线拥塞预测的结果,具体包括:
步骤S401:定义所述循环一致性生成对抗网络的损失函数为:
其中,表示所述循环一致性生成对抗网络的正向损失函数,具体表示为:
其中,表示所述循环一致性生成对抗网络的正向鉴别函数,/>表示所述循环一致性生成对抗网络的正向生成函数;/>表示布局后图像文件imgp样本的集合,/>表示样本/>的分布函数;E表示数学期望;/>表示热图文件imgrhm样本的集合,/>表示样本/>的分布函数;
表示所述循环一致性生成对抗网络中的反向损失函数,具体表示为:
其中,表示所述循环一致性生成对抗网络的反向生成函数,/>表示所述循环一致性生成对抗网络的反向鉴别函数;
表示所述循环一致性生成对抗网络的一致性损失,具体表示为:
表示所述循环一致性生成对抗网络中的标准损失函数,具体表示为:
式(1)中λ与γ表示权重指示因子;λ与γ均为正数;
步骤S402:根据上述定义,循环一致性生成对抗网络的目标函数表示为:
步骤S403:对于生成函数与/>构建第一神经网络模型进行训练,所述第一神经网络模型具体包含m1个卷积模块、一个由n1个残差模块组成的密集型残差网络以及m1个反卷积模块;m1、n1均为正整数;
步骤S404:对于鉴别函数和/>构建第二神经网络模型进行训练,所述第二神经网络模型包含m2个卷积模块;m2为正整数;
步骤S405:将所述布局后生成的图像文件imgp与能够表示FPGA布线拥塞结果的热图文件imgrhm组成样本集合;
将所述样本集合划分为训练样本集合与验证样本集合两部分;
根据所述训练样本集合对所述第一神经网络模型与第二神经网络模型进行训练,在所述目标函数曲线收敛时完成训练,得到初始化训练模型;
利用所述验证样本集合对所述初始化训练模型进行校准,得到最终的训练模型;
步骤S406:在所述得到最终训练模型中输入布局后生成的图像文件imgp,得到布线拥塞的预测结果。
与现有技术相比,本发明的有益效果:
(1)本发明通过设计一种FPGA布线拥塞预测方法及系统,使得可以根据布局阶段产生的中间及结果文件,对布线拥塞的结果进行精准预测,对降低布线迭代所需耗费的时间、进一步提升FPGA EDA工具的性能参数具有重要意义,能够为FPGA的健康可持续发展提供有力支撑。
(2)不同于常见的图像转换问题,本发明聚焦于FPGA布局布线过程中图像整体风格的变化,通过提取出有效的特征信息参数,能够准确地反映出图像转换前后特性的变化情况;通过定义循环一致性生成对抗网络模型,能够在无监督的情形下快速实现对上述问题的求解。
附图说明
图1是本发明一种FPGA布线拥塞预测方法的流程示意图;
图2是本发明一种布局后图像文件生成方式示意图;
图3是本发明循环一致性生成对抗网络的结构示意图;
图4是本发明FPGA布线拥塞系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种FPGA布线拥塞预测方法,流程如图1所示。
具体包括:
步骤S1,将FPGA布线拥塞预测问题建模为图像转换问题;
步骤S2,提取特征信息参数得到布局后图像文件;
步骤S3,根据布线结果得到布线后图像文件,进一步转换为能够表示FPGA布线拥塞结果的图像文件;
步骤S4,定义循环一致性生成对抗网络模型像转换问题进行求解,得到FPGA布线拥塞预测的结果。
步骤S1:具体地,本实施例根据FPGA布局、布线后的结果文件,分别可以得到FPGA布局后图像文件imgp与FPGA布线后图像文件imgr;
所述布局后图像文件与布线后图像文件均为多通道图像;
将所述FPGA布线后图像文件imgr转化为热图imgrhm,以所述热图imgrhm表示FPGA布线拥塞的结果;
所述FPGA布局后图像文件imgp与所述表示FPGA布线拥塞结果的热图imgrhm间存在一一映射关系,FPGA布线拥塞结果的热图imgrhm的求解转化为利用已知的FPGA布局后图像文件imgp生成FPGA布线拥塞结果的热图imgrhm的过程。
进一步地,为了生成所需要的布局后图像文件imgp,需要提取出所需要的特征信息参数,即所述步骤S2中,提取特征信息参数得到布局后图像文件,具体地,使用自动布局布线工具执行完整的布局布线流程,并保存每一阶段的中间结果信息,根据保存的中间结果信息,完成特征信息参数的提取;
具体地,所述特征信息参数包括网表间连接关系、布局后引脚密度和宏模块;
在FPGA自动布线工具执行布线操作时,会以网表间的连接关系为指导,根据线网的拥塞情形,自动回避拥塞区域,避免出现布线资源稀缺的问题,因此本实施例将网表间的连接关系作为特征信息参数。此外,在FPGA自动布局工具执行完布局操作后,能够计算出FPGA芯片各区域内的引脚密度,芯片内引脚密度大的区域,线网会相对较密集,所需的布线资源也会成比例的增多,更容易出现布线拥塞的情形,因此在本实施例中将布局后引脚密度作为特征信息参数。FPGA自动布线工具执行布线操作后,根据布线后分析的结论能够得出,宏模块的边界区域以及两个宏模块相邻的区域间很容易出现布线拥塞的情形,依据上述结论,本实施例同样将宏模块作为特征信息参数。
根据所述特征信息参数,生成每个所述特征信息参数所对应的特征图像,所述特征图像具体包括网表间连接关系图像、布局后引脚密度图像和宏模块图像;
根据所述网表间连接关系图像、布局后引脚密度图像和宏模块图像,生成布局后图像文件imgp,具体包括:
将所述网表间连接关系图像、所述布局后引脚密度图像和所述宏模块图像堆叠得到布局图像文件imgp,具体如图2所示。
在生成布局后图像文件imgp后,还需要得到能够表示FPGA布线拥塞结果的图像文件imgrhm,即所述步骤S3,根据布线结果得到布线后图像文件,进一步转换为能够表示FPGA布线拥塞结果的图像文件。
具体地,首先获取布线后的结果文件;
将所述布线后结果文件转换为布线后图像文件imgr;
将所述布线后图像文件imgr进一步转化为热图文件imgrhm以表示FPGA布线拥塞的结果。
需要说明的是,为了对所述图像转换问题进行求解,需要构建循环一致性生成对抗网络模型,完成对所述图像转换问题的求解,示意图如图3所示。循环一致性生成对抗网络的特点在于包含正反两个生成对抗网络进行循环内,以此来对模型的输出结果进行修正,能够预防域中图像的特征都被映射到/>域中的同一张图像上。由上述描述可得:循环一致性生成对抗网络中分别包括两个鉴别函数以及两个生成函数。
进一步地,所述步骤S4,按以下步骤进行:
步骤S401:定义所述循环一致性生成对抗网络的损失函数为:
其中,表示所述循环一致性生成对抗网络的正向损失函数,具体表示为:
其中,表示所述循环一致性生成对抗网络的正向鉴别函数,/>表示所述循环一致性生成对抗网络的正向生成函数;/>表示布局后图像文件imgp样本的集合,/>表示样本/>的分布函数;E表示数学期望;/>表示热图文件imgrhm样本的集合,/>表示样本/>的分布函数;
表示所述循环一致性生成对抗网络中的反向损失函数,具体表示为:
其中,表示所述循环一致性生成对抗网络的反向生成函数,/>表示所述循环一致性生成对抗网络的反向鉴别函数;
表示所述循环一致性生成对抗网络的一致性损失,具体表示为:
表示所述循环一致性生成对抗网络中的标准损失函数,具体表示为:
式(1)中λ与γ表示权重指示因子;λ与γ均为正数;
步骤S402:根据上述定义,循环一致性生成对抗网络的目标函数表示为:
步骤S403:对于生成函数与/>构建第一神经网络模型进行训练,所述第一神经网络模型具有哑铃型的对称结构,具体地:
所述第一神经网络模型包含m1个卷积模块、1个由n1个残差模块组成的密集型残差网络以及m1个反卷积模块;m1、n1均为正整数;
本实施例中,该第一神经网络模型具体形式为:具备5个卷积模块、1个由9个残差模块组成的密集型残差网络以及5个反卷积模块,即m1=5,n1=9。
步骤S404:对于鉴别函数和/>构建第二神经网络模型进行训练,所述第二神经网络模型包含m2个卷积模块;m2为正整数;
本实施例中,该第二神经网络模型具体形式为:是一个具备5个卷积模块的卷积神经网络,即m2=5。
步骤S405:将所述布局后生成的图像文件imgp与能够表示FPGA布线拥塞结果的热图文件imgrhm组成样本集合;
进一步地,将所述样本集合划分为训练样本集合与验证样本集合两部分;
具体地,训练样本集合中包含有b1个所述布局后图像文件imgp与c1个所述能够表示FPGA布线拥塞结果的热图文件imgrhm;
验证样本集合中包含有b2个所述布局后图像文件imgp与c2个所述能够表示FPGA布线拥塞结果的热图文件imgrhm;
需要说明的是,上述b1、b2、c1与c2参数需满足如下条件:
b1+b2=N (7)
c1+c2=M (8)
其中,N表示样本集合中所述布局后生成的图像文件imgp的数量,M表示样本集合中所述热图文件imgrhm的数量;
根据所述训练样本集合对对所述第一神经网络模型与第二神经网络模型进行训练,在所述目标函数曲线收敛时完成训练,得到初始化训练模型;
进一步地,利用所述验证样本集合对所述初始化训练模型进行校准,得到最终的训练模型;
步骤S406:在所述得到的最终训练模型中输入布局后生成的图像文件imgp,得到布线拥塞的预测结果。
实施例二
本发明还提供了一种FPGA布线拥塞预测系统,如图4所示,包括:
FPGA核心设计模块,将FPGA布线拥塞预测问题建模为图像转换问题,完成FPGA布线拥塞预测建模;
需要说明的是,所述布局布线工具即在该模块中执行。
信息预处理模块,用于提取所需要的特征信息参数,得到所述布局后图像文件与布线后图像文件;
需要说明的是,步骤S2、S3即在该模块中执行。
循环一致性生成对抗网络模块:定义循环一致性生成对抗网络模型像转换问题进行求解,得到FPGA布线拥塞预测的结果。
需要说明的是,步骤S4即在该模块中执行。
在本发明的一个实施例中,还应包括存储模块,用于存储一系列中间及结果文件以及布线拥塞预测的结果文件。
在本发明的一个实施例中,还应包括显示模块,用于对布线拥塞预测的结果进行显示。
在本发明的一个实施例中,还应包括信息传递模块,用于在各个模块间进行信息的传递。
具体地,FPGA核心设计模块中将FPGA布线拥塞预测问题转化为图像转换问题,具体为:
根据FPGA布局、布线后的结果文件,分别得到FPGA布局后图像文件imgp与FPGA布线后图像文件imgr;所述布局后图像文件与布线后图像文件为多通道图像;
将所述FPGA布线后图像文件imgr转化为热图imgrhm,以所述热图imgrhm表示FPGA布线拥塞的结果;
所述FPGA布局后图像文件imgp与所述表示FPGA布线拥塞结果的热图imgrhm间存在一一映射关系,FPGA布线拥塞结果的热图imgrhm的求解转化为利用已知的FPGA布局后图像文件imgp生成FPGA布线拥塞结果的热图imgrhm的过程,即完成FPGA布线拥塞预测问题的建模。
具体地,信息预处理模块中:提取特征信息参数得到布局图像文件,包括:
所述特征信息参数包括网表间连接关系、布局后引脚密度和宏模块;
根据所述特征信息参数,生成每个所述特征信息参数所对应的特征图像,所述特征图像具体包括网表间连接关系图像、布局后引脚密度图像和宏模块图像;
根据所述特征图像,生成布局后图像文件imgp,具体包括:
将所述网表间连接关系图像、所述布局后引脚密度图像和所述宏模块图像堆叠得到布局后图像文件imgp;
根据布线结果得到布线后图像文件,进一步转换为能够表示FPGA布线拥塞结果的图像文件,具体包括:
获取布线后的结果文件;
将所述布线后结果文件转换为布线后图像文件imgr;
将所述布线后图像文件imgr进一步转化为热图文件imgrhm以表示FPGA布线拥塞的结果。
具体地,循环一致性生成对抗网络模块:定义循环一致性生成对抗网络模型像转换问题进行求解,得到FPGA布线拥塞预测的结果,包括:
步骤S401:定义所述循环一致性生成对抗网络的损失函数为:
其中,表示所述循环一致性生成对抗网络的正向损失函数,具体表示为:
其中,表示所述循环一致性生成对抗网络的正向鉴别函数,/>表示所述循环一致性生成对抗网络的正向生成函数;/>表示布局后图像文件imgp样本的集合,/>表示样本/>的分布函数;E表示数学期望;/>表示热图文件imgrhm样本的集合,/>表示样本/>的分布函数;
表示所述循环一致性生成对抗网络中的反向损失函数,具体表示为:
其中,表示所述循环一致性生成对抗网络的反向生成函数,/>表示所述循环一致性生成对抗网络的反向鉴别函数;
表示所述循环一致性生成对抗网络的一致性损失,具体表示为:
表示所述循环一致性生成对抗网络中的标准损失函数,具体表示为:
式(1)中λ与γ表示权重指示因子;λ与γ均为正数;
步骤S402:根据上述定义,循环一致性生成对抗网络的目标函数表示为:
步骤S403:对于生成函数与/>构建第一神经网络模型进行训练,所述第一神经网络模型具有哑铃型的对称结构,具体地:
所述第一神经网络模型包含m1个卷积模块、一个由n1个残差模块组成的密集型残差网络以及m1个反卷积模块;m1、n1均为正整数;
步骤S404:对于鉴别函数和/>构建第二神经网络模型进行训练,所述第二神经网络模型包含m2个卷积模块;m2为正整数;
步骤S405:将所述布局后生成的图像文件imgp与能够表示FPGA布线拥塞结果的热图文件imgrhm组成样本集合;
进一步地,将所述样本集合划分为训练样本集合与验证样本集合两部分;
进一步地,根据所述训练样本集合对所述第一神经网络模型与第二神经网络模型进行训练,在所述目标函数曲线收敛时完成训练,得到初始化训练模型;
进一步地,利用所述验证样本集合对所述初始化训练模型进行校准,得到最终的训练模型;
步骤S406:在所述得到最终训练模型中输入布局后生成的图像文件imgp,得到布线拥塞的预测结果。
通过上述实施例,本发明能够根据布局阶段得到的一系列参数,精准地预测布线阶段的拥塞信息,依据得到的布线拥塞信息,自适应地调整FPGA布局布线方法的运行策略,指导优化FPGA布局布线的流程,能够将FPGA布局布线工具的运行效率提升10%以上。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种FPGA布线拥塞预测方法,其特征在于步骤如下:
步骤S1,FPGA布线拥塞预测建模:将FPGA布线拥塞预测问题建模为图像转换问题;
步骤S2,提取特征信息参数得到布局后图像文件;
步骤S3,根据布线结果得到布线后图像文件,进一步转换为能够表示FPGA布线拥塞结果的图像文件;
步骤S4,定义循环一致性生成对抗网络模型对图像转换问题进行求解,得到FPGA布线拥塞预测的结果,具体为:
步骤S401:定义所述循环一致性生成对抗网络的损失函数为:
其中,表示所述循环一致性生成对抗网络的正向损失函数,具体表示为:
其中,表示循环一致性生成对抗网络的正向鉴别函数,/>表示循环一致性生成对抗网络的正向生成函数;/>表示布局后图像文件imgp样本的集合,/>表示样本/>的分布函数;E表示数学期望;
表示热图文件imgrhm样本的集合,/>表示样本/>的分布函数;
表示所述循环一致性生成对抗网络中的反向损失函数,具体表示为:
其中,表示所述循环一致性生成对抗网络的反向生成函数,/>表示所述循环一致性生成对抗网络的反向鉴别函数;
表示所述循环一致性生成对抗网络的一致性损失,具体表示为:
表示所述循环一致性生成对抗网络中的标准损失函数,具体表示为:
式(1)中λ与γ表示权重指示因子;λ与γ均为正数;
步骤S402:根据上述定义,循环一致性生成对抗网络的目标函数表示为:
步骤S403:对于生成函数与/>构建第一神经网络模型进行训练,所述第一神经网络模型具体包含m1个卷积模块、一个由n1个残差模块组成的密集型残差网络以及m1个反卷积模块;m1、n1均为正整数;
步骤S404:对于鉴别函数和/>构建第二神经网络模型进行训练,所述第二神经网络模型包含m2个卷积模块;m2为正整数;
步骤S405:将所述布局后生成的图像文件imgp与能够表示FPGA布线拥塞结果的热图文件imgrhm组成总体样本集合;
a、将所述总体样本集合划分为训练样本集合与验证样本集合两部分;
b、根据所述训练样本集合对所述第一神经网络模型与第二神经网络模型进行训练,在目标函数曲线收敛时完成训练,得到初始化训练模型;
c、利用所述验证样本集合对所述初始化训练模型进行校准,得到最终的训练模型;
步骤S406:在所述得到最终训练模型中输入布局后生成的图像文件imgp,得到布线拥塞的预测结果。
2.根据权利要求1所述的一种FPGA布线拥塞预测方法,其特征在于,所述步骤S1中,将FPGA布线拥塞预测问题转化为图像转换问题,具体为:
根据FPGA布局、布线后的结果文件,分别得到FPGA布局后图像文件imgp与FPGA布线后图像文件imgr;所述布局后图像文件与布线后图像文件为多通道图像;
将所述FPGA布线后图像文件imgr转化为热图imgrhm,以所述热图imgrhm表示FPGA布线拥塞的结果;
所述FPGA布局后图像文件imgp与所述表示FPGA布线拥塞结果的热图imgrhm间存在一一映射关系,热图imgrhm的求解转化为利用已知的FPGA布局后图像文件imgp生成表示FPGA布线拥塞结果的热图imgrhm的过程,即完成FPGA布线拥塞预测问题的建模。
3.根据权利要求1所述的一种FPGA布线拥塞预测方法,其特征在于,所述步骤S2中,提取特征信息参数得到布局图像文件,具体包括:
所述特征信息参数包括网表间连接关系、布局后引脚密度和宏模块;
根据所述特征信息参数,生成每个所述特征信息参数所对应的特征图像,所述特征图像具体包括网表间连接关系图像、布局后引脚密度图像和宏模块图像;
根据所述特征图像,生成布局后图像文件imgp,具体包括:
将所述网表间连接关系图像、所述布局后引脚密度图像和所述宏模块图像堆叠得到布局后图像文件imgp。
4.根据权利要求1所述的一种FPGA布线拥塞预测方法,其特征在于,所述步骤S3中,根据布线结果得到布线后图像文件,进一步转换为能够表示FPGA布线拥塞结果的热图文件,具体包括:
获取布线后的结果文件;
将所述布线后结果文件转换为布线后图像文件imgr;
将所述布线后图像文件imgr进一步转化为热图文件imgrhm以表示FPGA布线拥塞的结果。
5.一种FPGA布线拥塞预测系统,其特征在于,包括:
FPGA核心设计模块,将FPGA布线拥塞预测问题建模为图像转换问题,完成FPGA布线拥塞预测建模;
信息预处理模块,用于提取所需要的特征信息参数,得到布局后图像文件与布线后图像文件;
循环一致性生成对抗网络模块:定义循环一致性生成对抗网络模型对图像转换问题进行求解,得到FPGA布线拥塞预测的结果,具体包括:
步骤S401:定义所述循环一致性生成对抗网络的损失函数为:
其中,表示所述循环一致性生成对抗网络的正向损失函数,具体表示为:
其中,表示所述循环一致性生成对抗网络的正向鉴别函数,/>表示所述循环一致性生成对抗网络的正向生成函数;/>表示布局后图像文件imgp样本的集合,表示样本/>的分布函数;E表示数学期望;/>表示热图文件imgrhm样本的集合,/>表示样本/>的分布函数;
表示所述循环一致性生成对抗网络中的反向损失函数,具体表示为:
其中,表示所述循环一致性生成对抗网络的反向生成函数,/>表示所述循环一致性生成对抗网络的反向鉴别函数;
表示所述循环一致性生成对抗网络的一致性损失,具体表示为:
表示所述循环一致性生成对抗网络中的标准损失函数,具体表示为:
式(1)中λ与γ表示权重指示因子;λ与γ均为正数;
步骤S402:根据上述定义,循环一致性生成对抗网络的目标函数表示为:
步骤S403:对于生成函数与/>构建第一神经网络模型进行训练,所述第一神经网络模型具体包含m1个卷积模块、一个由n1个残差模块组成的密集型残差网络以及m1个反卷积模块;m1、n1均为正整数;
步骤S404:对于鉴别函数和/>构建第二神经网络模型进行训练,所述第二神经网络模型包含m2个卷积模块;m2为正整数;
步骤S405:将所述布局后生成的图像文件imgp与能够表示FPGA布线拥塞结果的热图文件imgrhm组成样本集合;
将所述样本集合划分为训练样本集合与验证样本集合两部分;
根据所述训练样本集合对所述第一神经网络模型与第二神经网络模型进行训练,在所述目标函数曲线收敛时完成训练,得到初始化训练模型;
利用所述验证样本集合对所述初始化训练模型进行校准,得到最终的训练模型;
步骤S406:在所述得到最终训练模型中输入布局后生成的图像文件imgp,得到布线拥塞的预测结果。
6.根据权利要求5所述的一种FPGA布线拥塞预测系统,其特征在于,还包括存储模块、显示模块和信息传递模块,存储模块用于存储中间文件以及布线拥塞预测的结果文件;显示模块用于对布线拥塞预测的结果进行显示;信息传递模块用于在各个模块间进行信息的传递。
7.根据权利要求5所述的一种FPGA布线拥塞预测系统,其特征在于:将FPGA布线拥塞预测问题转化为图像转换问题,具体为:
根据FPGA布局、布线后的结果文件,分别得到FPGA布局后图像文件imgp与FPGA布线后图像文件imgr;所述布局后图像文件与布线后图像文件为多通道图像;
将所述FPGA布线后图像文件imgr转化为热图imgrhm,以所述热图imgrhm表示FPGA布线拥塞的结果;
所述FPGA布局后图像文件imgp与所述表示FPGA布线拥塞结果的热图imgrhm间存在一一映射关系,FPGA布线拥塞结果的热图imgrhm的求解转化为利用已知的FPGA布局后图像文件imgp生成FPGA布线拥塞结果的热图imgrhm的过程,即完成FPGA布线拥塞预测问题的建模。
8.根据权利要求5所述的一种FPGA布线拥塞预测系统,其特征在于:提取特征信息参数得到布局图像文件,具体包括:
所述特征信息参数包括网表间连接关系、布局后引脚密度和宏模块;
根据所述特征信息参数,生成每个所述特征信息参数所对应的特征图像,所述特征图像具体包括网表间连接关系图像、布局后引脚密度图像和宏模块图像;
根据所述特征图像,生成布局后图像文件imgp,具体包括:
将所述网表间连接关系图像、所述布局后引脚密度图像和所述宏模块图像堆叠得到布局后图像文件imgp;
根据布线结果得到布线后图像文件,进一步转换为能够表示FPGA布线拥塞结果的图像文件具体包括:
获取布线后的结果文件;
将所述布线后结果文件转换为布线后图像文件imgr;
将所述布线后图像文件imgr进一步转化为热图文件imgrhm以表示FPGA布线拥塞的结果。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691125.3A CN113505560B (zh) | 2021-06-22 | 2021-06-22 | 一种fpga布线拥塞预测方法及系统 |
US18/284,585 US20240193342A1 (en) | 2021-06-22 | 2021-08-13 | Field-Programmable Gate Array (FPGA) Routing Congestion Prediction Method and System |
PCT/CN2021/112384 WO2022267200A1 (zh) | 2021-06-22 | 2021-08-13 | 一种fpga布线拥塞预测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691125.3A CN113505560B (zh) | 2021-06-22 | 2021-06-22 | 一种fpga布线拥塞预测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113505560A CN113505560A (zh) | 2021-10-15 |
CN113505560B true CN113505560B (zh) | 2023-10-03 |
Family
ID=78010213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110691125.3A Active CN113505560B (zh) | 2021-06-22 | 2021-06-22 | 一种fpga布线拥塞预测方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240193342A1 (zh) |
CN (1) | CN113505560B (zh) |
WO (1) | WO2022267200A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116738911B (zh) * | 2023-07-10 | 2024-04-30 | 苏州异格技术有限公司 | 布线拥塞预测方法、装置及计算机设备 |
CN117787171B (zh) * | 2023-12-25 | 2024-07-02 | 苏州异格技术有限公司 | 基于多判别器的cgan图像转换的fpga拥塞预测方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112233115A (zh) * | 2020-12-11 | 2021-01-15 | 西安国微半导体有限公司 | 基于深度学习的布局后布线违例预测方法及可读存储介质 |
CN112733485A (zh) * | 2021-04-06 | 2021-04-30 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于快速查找表线长模型的拥塞度预估模型构建方法 |
US10997352B1 (en) * | 2019-05-17 | 2021-05-04 | Cadence Design Systems, Inc. | Routing congestion based on layer-assigned net and placement blockage |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112651208A (zh) * | 2020-12-30 | 2021-04-13 | 杭州加速科技有限公司 | 一种fpga芯片内各模块之间的布线拥塞优化方法 |
-
2021
- 2021-06-22 CN CN202110691125.3A patent/CN113505560B/zh active Active
- 2021-08-13 WO PCT/CN2021/112384 patent/WO2022267200A1/zh active Application Filing
- 2021-08-13 US US18/284,585 patent/US20240193342A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10997352B1 (en) * | 2019-05-17 | 2021-05-04 | Cadence Design Systems, Inc. | Routing congestion based on layer-assigned net and placement blockage |
CN112233115A (zh) * | 2020-12-11 | 2021-01-15 | 西安国微半导体有限公司 | 基于深度学习的布局后布线违例预测方法及可读存储介质 |
CN112733485A (zh) * | 2021-04-06 | 2021-04-30 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于快速查找表线长模型的拥塞度预估模型构建方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022267200A1 (zh) | 2022-12-29 |
CN113505560A (zh) | 2021-10-15 |
US20240193342A1 (en) | 2024-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018171715A1 (zh) | 适用神经网络处理器的自动化设计方法及系统 | |
CN108228972B (zh) | 确定用于可重配置逻辑器件的至少一个电路的布置的方法 | |
EP4123515A1 (en) | Data processing method and data processing device | |
JP2023075156A (ja) | ニューラルネットワークを使用した集積回路フロアプランの生成 | |
CN113505560B (zh) | 一种fpga布线拥塞预测方法及系统 | |
CN106201651A (zh) | 神经形态芯片的模拟器 | |
CN111459877A (zh) | 基于FPGA加速的Winograd YOLOv2目标检测模型方法 | |
CN114154412A (zh) | 基于深度强化学习的优化芯片布局系统及方法 | |
CN105786860A (zh) | 一种数据建模中的数据处理方法及装置 | |
CN105718245B (zh) | 可重构计算循环映射优化方法 | |
CN110442940A (zh) | 一种高效的船舶多管路并行智能布局设计方法 | |
CN112163601A (zh) | 图像分类方法、系统、计算机设备及存储介质 | |
US11714992B1 (en) | Neural network processing based on subgraph recognition | |
CN115828831A (zh) | 基于深度强化学习的多芯粒芯片算子放置策略生成方法 | |
CN116151324A (zh) | 基于图神经网络的rc互连延时预测方法 | |
CN113343427A (zh) | 一种基于卷积神经网络的结构拓扑构型预测方法 | |
US10846449B1 (en) | Conversion of block model-based circuit designs into circuit implementations | |
CN117854643B (zh) | 一种基于图形神经网络的mems膜仿真方法及系统 | |
CN109117564B (zh) | 一种pds三维模型转换relap5模型的系统和方法 | |
CN112257368A (zh) | 时钟布局方法、装置、eda工具及计算机可读存储介质 | |
CN110728683B (zh) | 一种基于密集连接的图像语义分割方法 | |
CN109583006A (zh) | 一种基于循环切割和重排的现场可编程门阵列卷积层的动态优化方法 | |
CN115310392A (zh) | 一种基于传递综合信息流实现的芯片设计方法 | |
CN115270686A (zh) | 一种基于图神经网络的芯片布局方法 | |
CN105701591A (zh) | 一种基于神经网络的电网业务分类方法 |
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 |