CN111159967A - 一种基于网页排名算法的fpga电路布局与资源分配方法 - Google Patents
一种基于网页排名算法的fpga电路布局与资源分配方法 Download PDFInfo
- Publication number
- CN111159967A CN111159967A CN201911380463.4A CN201911380463A CN111159967A CN 111159967 A CN111159967 A CN 111159967A CN 201911380463 A CN201911380463 A CN 201911380463A CN 111159967 A CN111159967 A CN 111159967A
- Authority
- CN
- China
- Prior art keywords
- circuit
- basic unit
- key value
- basic
- fpga
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000013468 resource allocation Methods 0.000 title claims abstract description 16
- 238000005457 optimization Methods 0.000 claims abstract description 15
- 239000011159 matrix material Substances 0.000 claims abstract description 12
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 12
- 238000011161 development Methods 0.000 abstract description 6
- 238000004458 analytical method Methods 0.000 abstract description 5
- 238000010845 search algorithm Methods 0.000 abstract description 2
- 239000002699 waste material Substances 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 3
- 238000012938 design process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供了一种基于网页排名算法的FPGA电路布局与资源分配方法,包括如下步骤:1)构建FPGA电路中基本单元影响因子稀疏矩阵M:2)通过迭代优化,获得关键值向量:3)根据关键值向量,对基本单元进行划分,进行布局约束文件的编写。相对于现有技术,本发明具有以下优势:本发明对大规模FPGA进行细粒度电路资源分配,优化整个系统布局,可以有效减少布线资源的浪费;本发明合理布局高扇出关键路径上的重要电路单元,减少由于布线与资源分配不合理导致的电路延时增加,提高系统的时序性能;利用网页搜素算法进行电路分析建模,提高FPGA电路设计开发速度,减少由于电路实现难度造成的开发周期迭代。
Description
技术领域
本发明属于可编程电路设计技术领域,尤其是涉及一种基于网页排名算法的FPGA电路布局与资源分配方法。
背景技术
FPGA(Field-Programmable Gate Array)电路作为集成电路技术领域中的一种半定制电路,可以快速且灵活的构建电路系统,填补了定制电路开发周期长,应用场景固化的不足。通常而言,FPGA电路一般由IO单元、可编程逻辑单元、存储单元、全局时钟单元以及IP控制器等资源构成。通过对以上各种单元的级联与组合,可以实现电路可编程定制功能。
随着目前系统复杂度的提升,单片FPGA电路内部资源越来越无法满足设计需求。为了满足大规模FPGA电路设计需求,业内推出了多片FPGA电路系统平台,并利用片间高速IO并行接口互联,实现多片FPGA间数据通信。用户在设计过程中,多片FPGA系统平台的开发软件,会将所有系统资源虚拟统一为一块FPGA,并根据用户对电路功能的设计分配实现资源。
多片FPGA电路在设计过程中,需要设计者根据自身设计电路功能与数据通路特点,进行子模块级电路划分。由于即使是多FPGA电路系统,其内部的各项逻辑资源也是有限的,需要设计者根据电路实际情况进行片间的资源分配。基本的电路分配原则是将互联数据通路庞大、重要度较高的电路使用高速单元较多的核心FPGA电路实现;对重要度较低或数据通路简单的电路使用一般的FPGA电路实现。
目前的多片FPGA分配方法是设计人员根据自身对电路理解,进行人为的功能模块级电路分配划分。这样的分配方式由于属于粗粒度的电路分配,无法做到对电路资源分配的最合理划分,甚至FPGA电路会由于布线资源不足或时序不满足等问题,导致综合实现失败。
因此如果需要最优化的FPGA电路划分,就需要进行细粒度电路基本单元级别的电路布局与资源分配。但目前的FPGA电路的设计规模普遍达到的千万电路门级以上的规模,采用传统的人为划分的方式是无法实现的。综上所述,如果要实现大规模电路级别的FPGA电路布局与资源分配优化,就需要一套明确的电路分配方法来解决以上问题。
发明内容
有鉴于此,本发明旨在提出一种基于网页排名算法的FPGA电路布局与资源分配方法,以对大规模FPGA进行细粒度电路资源分配,优化整个系统布局。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于网页排名算法的FPGA电路布局与资源分配方法,包括如下步骤:
1)构建FPGA电路中基本单元影响因子稀疏矩阵M:
11)根据各基本单元之间的连接关系,针对每个基本单元,获得该基本单元被驱动的基本单元个数和基本单元编号;
12)针对每个基本单元,根据该基本单元所对应的被驱动个数,将驱动影响因子总和100%除以被驱动个数,将计算结果作为驱动影响因子分配给当前的基本单元;
13)构建一个N×N的驱动影响因子稀疏矩阵M,第n1行第n2列对应的元素值填写为第n1个基本单元驱动第n2个基本单元的驱动影响因子;其中,N为电路基本单元总数;n1和n2的取值范围属于[1,N];
2)通过迭代优化,获得关键值向量:
21)设关键值向量为P=[P(1),P(2),…,P(N)],其中,P(n)代表第n个基本单元的关键值;n的取值范围为[1,N];关键值向量的初值为[1/N,1/N,…,1/N];
22)根据如下公式对关键值向量进行迭代优化:
获得基本单元a本次迭代优化后的关键值Pk(a);其中,M(a,b)为基本单元驱动影响因子稀疏矩阵M中第b行第a列的驱动影响因子值,k表示迭代次数;α表示触发器不被复位的概率,取值在0至1之间;Pk-1(b)表示本次迭代之前基本单元b的关键值;P0(b)表示基本单元b的初始关键值;
令a取遍1到N,获得本次迭代优化后所有基本单元的关键值,并形成新的基本单元的关键值向量,替代原基本单元的关键值向量;完成一次迭代优化后,k自加1;
23)按照22)的方法进行多次迭代,直至所有基本单元的关键值收敛,则停止迭代,获得最终的关键值向量;
3)根据关键值向量,对基本单元进行划分,进行布局约束文件的编写:
在[0,1]的范围内,设定阈值T,将关键值向量中各元素数值大于阈值T的元素挑选出,即重要基本单元;在结合重要基本单元的排序值,进行布局约束文件的编写。
进一步的,在步骤3)中编写布局约束文件的原则是:将重要值排名前面的一定百分比的电路基本单元,分配到FPGA电路总高速资源最多的核心位置,将这些以外的基本单元按照一定的百分比梯度,逐一分配FPGA电路资源。
相对于现有技术,本发明具有以下优势:
(1)本发明对大规模FPGA进行细粒度电路资源分配,优化整个系统布局,可以有效减少布线资源的浪费;
(2)本发明合理布局高扇出关键路径上的重要电路单元,减少由于布线与资源分配不合理导致的电路延时增加,提高系统的时序性能;
(3)利用网页搜素算法进行电路分析建模,提高FPGA电路设计开发速度,减少由于电路实现难度造成的开发周期迭代。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例基于网页排名算法的FPGA电路布局与资源分配方法的流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
本发明利用网页排名算法(后文简称PageRank算法)对FPGA实现过程中的网表文件进行重要度分析排名,再根据算法处理结果进行电路布局与资源分配的约束编写,最后使用实现工具导入约束文件完成FPGA电路的最终电路文件生成。
网页排名算法(PageRank),是Google公司提出的一种针对网络搜索应用的排名算法。原理是通过网络环境中超量的网页超链接关系来确定一个网站页面的重要度等级。而FPGA电路结构与网络的拓展结构相似,FPGA电路内部各基本单元也通过内部连线构成电路网络。同时,而FPGA内部的重要单元也与网络应用里关键页面的特点类似,都是整个网络中数据扇出最多的节点。
有鉴于此,通过PageRank算法对FPGA电路进行优先级分析并建模,并根据各电路单元驱动影响因子稀疏矩阵和以及对应的分配概率两个参数,进行多次迭代以获得FPGA内部的总要单元。最终根据算法输出的重要单元表,编写FPGA电路布局实现约束文件。
FPGA内部的电路单元包括输入接口、输出接口、LUT器件、Flipflop触发器、专用IP以及内部存储。如图1所示,本发明基于网页排名算法的FPGA电路布局与资源分配方法,步骤如下:
步骤1、构建FPGA电路中基本单元影响因子稀疏矩阵M:
1、根据各基本单元之间的连接关系,针对每个基本单元,获得该基本单元被驱动的基本单元个数和基本单元编号;
2、针对每个基本单元,根据该基本单元所对应的被驱动个数,将驱动影响因子总和100%除以被驱动个数,将计算结果作为驱动影响因子分配给当前的基本单元;
3、构建一个N×N的驱动影响因子稀疏矩阵M,第n1行第n2列对应的元素值填写为第n1个基本单元驱动第n2个基本单元的驱动影响因子;其中,N为电路基本单元总数;n1和n2的取值范围属于[1,N];
步骤2、通过迭代优化,获得关键值向量:
1、关键值向量为P=[P(1),P(2),…,P(N)],其中,P(n)代表第n个基本单元的关键值;n的取值范围为[1,N];关键值向量的初值为[1/N,1/N,…,1/N];
2、根据如下公式对关键值向量进行迭代优化:
获得基本单元a本次迭代优化后的关键值Pk(a);其中,M(a,b)为基本单元驱动影响因子稀疏矩阵M中第b行第a列的驱动影响因子值,k表示迭代次数;α表示触发器不被复位的概率,取值在0至1之间;Pk-1(b)表示本次迭代之前基本单元b的关键值;P0(b)表示基本单元b的初始关键值;
令a取遍1到N,获得本次迭代优化后所有基本单元的关键值,并形成新的基本单元的关键值向量,替代原基本单元的关键值向量;完成一次迭代优化后,k自加1;
3、按照2的方法进行多次迭代,直至所有基本单元的关键值收敛,则停止迭代,获得最终的关键值向量;
步骤3、根据关键值向量,对基本单元进行划分,进行布局约束文件的编写:
在[0,1]的范围内,设定阈值T,将关键值向量中各元素数值大于阈值T的元素挑选出,其所对应的基本单元作为待加固目标C,即重要基本单元;完成总要单元的分析统计后,设计人员根据重要单元的排序值,进行布局约束文件的编写,编写的原则是将重要值排名前25%的电路基本单元,分配到FPGA电路总高速资源最多的核心位置,将这些以外的基本单元按照25%的梯度,逐一分配FPGA电路资源。其中,重要值排名百分比分配可以根据设计中,电路资源占用情况进行调整。如果整体设计占用资源较少,可以将分配梯度百分比进一步提高。
本发明方案利用网络技术中成熟算法,解决FPGA电路开发中的资源分配与布局划问题,提高设计可靠度,缩短研发周期;将FPGA电路各基本单元驱动连接数量,建模为PageRank算法输入的影响因子矩阵,并利用算法迭代得出FPGA电路内各基本单元的重要值排名。根据PageRank算法的电路单元重要值排名,进行布局与资源划分约束设计,导入约束文件到综合实现工具中,实现FPGA电路最终优化。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种基于网页排名算法的FPGA电路布局与资源分配方法,其特征在于包括如下步骤:
1)构建FPGA电路中基本单元影响因子稀疏矩阵M:
11)根据各基本单元之间的连接关系,针对每个基本单元,获得该基本单元被驱动的基本单元个数和基本单元编号;
12)针对每个基本单元,根据该基本单元所对应的被驱动个数,将驱动影响因子总和100%除以被驱动个数,将计算结果作为驱动影响因子分配给当前的基本单元;
13)构建一个N×N的驱动影响因子稀疏矩阵M,第n1行第n2列对应的元素值填写为第n1个基本单元驱动第n2个基本单元的驱动影响因子;其中,N为电路基本单元总数;n1和n2的取值范围属于[1,N];
2)通过迭代优化,获得关键值向量:
21)设关键值向量为P=[P(1),P(2),…,P(N)],其中,P(n)代表第n个基本单元的关键值;n的取值范围为[1,N];关键值向量的初值为[1/N,1/N,…,1/N];
22)根据如下公式对关键值向量进行迭代优化:
获得基本单元a本次迭代优化后的关键值Pk(a);其中,M(a,b)为基本单元驱动影响因子稀疏矩阵M中第b行第a列的驱动影响因子值,k表示迭代次数;α表示触发器不被复位的概率,取值在0至1之间;Pk-1(b)表示本次迭代之前基本单元b的关键值;P0(b)表示基本单元b的初始关键值;
令a取遍1到N,获得本次迭代优化后所有基本单元的关键值,并形成新的基本单元的关键值向量,替代原基本单元的关键值向量;完成一次迭代优化后,k自加1;
23)按照22)的方法进行多次迭代,直至所有基本单元的关键值收敛,则停止迭代,获得最终的关键值向量;
3)根据关键值向量,对基本单元进行划分,进行布局约束文件的编写:
在[0,1]的范围内,设定阈值T,将关键值向量中各元素数值大于阈值T的元素挑选出,即重要基本单元;在结合重要基本单元的排序值,进行布局约束文件的编写。
2.根据权利要求1所述的方法,其特征在于:在步骤3)中编写布局约束文件的原则是:将重要值排名前面的一定百分比的电路基本单元,分配到FPGA电路总高速资源最多的核心位置,将这些以外的基本单元按照一定的百分比梯度,逐一分配FPGA电路资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911380463.4A CN111159967A (zh) | 2019-12-27 | 2019-12-27 | 一种基于网页排名算法的fpga电路布局与资源分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911380463.4A CN111159967A (zh) | 2019-12-27 | 2019-12-27 | 一种基于网页排名算法的fpga电路布局与资源分配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111159967A true CN111159967A (zh) | 2020-05-15 |
Family
ID=70558672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911380463.4A Pending CN111159967A (zh) | 2019-12-27 | 2019-12-27 | 一种基于网页排名算法的fpga电路布局与资源分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159967A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111709205A (zh) * | 2020-05-29 | 2020-09-25 | 成都华微电子科技有限公司 | Fpga布线方法 |
CN115017860A (zh) * | 2022-06-21 | 2022-09-06 | 正心元科技(杭州)有限公司 | 布局布线同步的增量布局优化方法、装置及计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1421014A (zh) * | 2000-02-28 | 2003-05-28 | 卡登斯设计系统公司 | 选择并获取用于电路及芯片设计的电子元件的自动化方法及系统 |
US20070244884A1 (en) * | 2006-04-18 | 2007-10-18 | Baolin Yang | Method for ranking webpages via circuit simulation |
CN102890729A (zh) * | 2011-07-18 | 2013-01-23 | 中国科学院微电子研究所 | 一种对高扇出的可编程门列阵进行布局布线的方法 |
CN102915369A (zh) * | 2012-11-01 | 2013-02-06 | 吉林大学 | 基于超链接来源分析的网页排名方法 |
CN104572579A (zh) * | 2013-10-10 | 2015-04-29 | 京微雅格(北京)科技有限公司 | 基于fpga解析型布局求解器的多选择区域动态划分方法 |
-
2019
- 2019-12-27 CN CN201911380463.4A patent/CN111159967A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1421014A (zh) * | 2000-02-28 | 2003-05-28 | 卡登斯设计系统公司 | 选择并获取用于电路及芯片设计的电子元件的自动化方法及系统 |
US20070244884A1 (en) * | 2006-04-18 | 2007-10-18 | Baolin Yang | Method for ranking webpages via circuit simulation |
CN102890729A (zh) * | 2011-07-18 | 2013-01-23 | 中国科学院微电子研究所 | 一种对高扇出的可编程门列阵进行布局布线的方法 |
CN102915369A (zh) * | 2012-11-01 | 2013-02-06 | 吉林大学 | 基于超链接来源分析的网页排名方法 |
CN104572579A (zh) * | 2013-10-10 | 2015-04-29 | 京微雅格(北京)科技有限公司 | 基于fpga解析型布局求解器的多选择区域动态划分方法 |
Non-Patent Citations (1)
Title |
---|
徐嘉伟;来金梅;童家榕;: "一种新的快速FPGA布局算法" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111709205A (zh) * | 2020-05-29 | 2020-09-25 | 成都华微电子科技有限公司 | Fpga布线方法 |
CN111709205B (zh) * | 2020-05-29 | 2023-05-16 | 成都华微电子科技股份有限公司 | Fpga布线方法 |
CN115017860A (zh) * | 2022-06-21 | 2022-09-06 | 正心元科技(杭州)有限公司 | 布局布线同步的增量布局优化方法、装置及计算机设备 |
CN115017860B (zh) * | 2022-06-21 | 2022-12-13 | 正心元科技(杭州)有限公司 | 布局布线同步的增量布局优化方法、装置及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9852253B2 (en) | Automated layout for integrated circuits with nonstandard cells | |
CN106919769B (zh) | 一种基于多层次方法和赋权超图的层次式fpga布局布线方法 | |
CN101539958B (zh) | 一种标准单元库和集成电路的设计方法和装置 | |
CN113779924B (zh) | 超导集成电路的布线优化方法和装置、存储介质和终端 | |
JPH11353357A (ja) | 再コンフュギュレ―ション可能なハ―ドウェアの評価装置及び評価方法 | |
US10678979B2 (en) | Method and apparatus for implementing a system-level design tool for design planning and architecture exploration | |
JP2002123563A (ja) | コンパイル方法および合成装置ならびに記録媒体 | |
US11055463B1 (en) | Systems and methods for gate array with partial common inputs | |
US10915685B1 (en) | Circuit stage credit based approaches to static timing analysis of integrated circuits | |
US8689170B2 (en) | Changing the location of a buffer bay in a netlist | |
Chen et al. | Simultaneous timing driven clustering and placement for FPGAs | |
CN111159967A (zh) | 一种基于网页排名算法的fpga电路布局与资源分配方法 | |
CN113627120B (zh) | 超导集成电路布局优化方法和装置、存储介质和终端 | |
WO2000072185A2 (en) | Behavioral-synthesis electronic design automation tool and business-to-business application service provider | |
Cong et al. | Multilevel global placement with retiming | |
CN112131813B (zh) | 基于端口交换技术的用于提升布线速度的fpga布线方法 | |
US7006962B1 (en) | Distributed delay prediction of multi-million gate deep sub-micron ASIC designs | |
KR20230109649A (ko) | 폴리-비트 셀들 | |
US9529957B1 (en) | Multithreaded scheduling for placement of circuit designs using connectivity and utilization dependencies | |
Farhadtoosky et al. | Improved layout implementation of Mini-Mips in terms of power, performance and chip footprint | |
Mukherjee et al. | Retiming and clock scheduling to minimize simultaneous switching | |
US11526642B1 (en) | Clock network power estimation for logical designs | |
CN116976248A (zh) | 使用冗余节点的电路设计调整 | |
CN116911218A (zh) | 一种基于fpga的动态可重构系统设计方法 | |
CN114282472A (zh) | 一种fpga的源码分割方法及系统 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200515 |