CN113221493A - 一种基于异质型fpga布局的时钟合法化方法 - Google Patents
一种基于异质型fpga布局的时钟合法化方法 Download PDFInfo
- Publication number
- CN113221493A CN113221493A CN202110600906.7A CN202110600906A CN113221493A CN 113221493 A CN113221493 A CN 113221493A CN 202110600906 A CN202110600906 A CN 202110600906A CN 113221493 A CN113221493 A CN 113221493A
- Authority
- CN
- China
- Prior art keywords
- clock
- net
- area
- module
- constraint
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000008602 contraction Effects 0.000 claims abstract description 13
- 238000013178 mathematical model Methods 0.000 claims abstract description 9
- 238000006073 displacement reaction Methods 0.000 claims description 9
- 238000009792 diffusion process Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000003491 array Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/04—Clock gating
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
本发明涉及一种基于异质型FPGA布局的时钟合法化方法,包括如下步骤:(1)建立时钟约束的数学模型;(2)基于建立的数学模型,分时钟线网收缩与时钟线网扩张两步将时钟约束合法化。该方法有利于对时钟进行合法化,避免布局过程中时钟线网违反时钟约束。
Description
技术领域
本发明属于超大规模集成电路(VLSI)物理设计自动化技术领域,具体涉及一种基于异质型FPGA布局的时钟合法化方法。
背景技术
异质型现场可编程门阵列(FPGA)是当前流行的FPGA芯片,这是因为它可以实现多种功能,具有更高的性能,能满足各种各样的需求。相对地,它的设计复杂度和规模也不断增加,为异质型FPGA布局带来极大的挑战。
FPGA布局的优化目标通常为线长,同时会考虑可布通性、时序和功耗等。在目前的FPGA设计中,可能有数以百计的全局时钟。由于当前FPGA芯片的时钟布线资源有限,需要我们在布局阶段考虑时钟线网的位置避免在布线阶段时钟线网布线失败。
FPGA芯片被划分为多个时钟区域,每个时钟区域只能有有限数量的时钟线网通过,这是因为每个时钟区域的时钟布线轨道数量有限。由于时钟线网的时钟负载在布局过程中放置在FPGA芯片的各个位置,时钟线网占据多个时钟区域的稀松平常的事情。对于FPGA芯片来说,当时钟线网的数量过多时,时钟线网布线的拥塞问题变得异常明显,在布局阶段考虑时钟线网的分布变的尤为重要。
发明内容
本发明的目的在于提供一种基于异质型FPGA布局的时钟合法化方法,该方法有利于对时钟进行合法化,避免布局过程中时钟线网违反时钟约束。
为实现上述目的,本发明采用的技术方案是:一种基于异质型FPGA布局的时钟合法化方法,包括如下步骤:
(1)建立时钟约束的数学模型;
(2)基于建立的数学模型,分时钟线网收缩与时钟线网扩张两步将时钟约束合法化。
进一步地,所述步骤(1)的实现方法为:
首先针对FPGA时钟约束,进行如下表示:用模块vi的中心坐标(xi,yi)来表示其位置,设Ck为时钟k所连接块的索引集,即{vi|i∈Ck};设R为时钟区域的集合,j∈R,设表示时钟区域j左右边界的x坐标;表示时钟区域j上下边界的y坐标;当时钟负载的边界框与该时钟区域重叠时,时钟位于该时钟区域,通过H(k,j)、V(k,j)来判断时钟k在时钟区域j水平和垂直方向的使用情况,表达式如下:
如若H(k,j)的值大于0,则表示时钟K在水平方向上位于时钟区域j;同理,如若V(k,j)的值大于0,则表示时钟K在垂直方向上位于时钟区域j;则根据H(k,j)和V(k,j)的值判断时钟k是否位于时钟区域j中,公式如下:
因此,将FPGA的时钟约束用如下公式表示:
即每个时钟区域至多被Nc个时钟线网的边界框所覆盖。
进一步地,所述步骤(2)中,时钟线网收缩阶段合法化时钟区域的时钟数量,时钟线网扩张阶段通过扩大时钟线网的跨度解决时钟区域出现模块数量过多导致资源溢出的问题。
进一步地,在时钟线网收缩阶段中,通过减少违反时钟区域的时钟数量来合法化;首先找到违反时钟约束的时钟区域,并找到这个区域里每个模块所在的线网,以找到每个模块的可移动范围;即模块所在线网的边界框的交集为模块的可移动范围;对每个线网的模块从东南西北四个方向进行移动,以避免占用到违反时钟约束的时钟区域;在这个过程会有多种方案,通过如下公式来选择最优的方案:
其中,分子为线网所有模块的位移和,ΔNumclk表示时钟区域所减少的时钟数量;选择平均位移最小的模块进行移动,重复上述操作,直到所有时钟区域均没有时钟约束违反为止。
进一步地,时钟线网扩张阶段在时钟线网收缩阶段之后进行,用于保证每个时钟区域的密度在合理的范围内,防止站点数量小于模块的数量;时钟线网扩张阶段的操作与时钟线网收缩阶段类似,首先找到密度最高的时钟区域,然后从东南西北四个方向寻找扩散的可能,优先选择位移最小的方案;这里用时钟区域所在的模块面积与时钟区域面积的比值来估计密度;对于可能导致时钟约束违反的方案提前排除,以保证无时钟约束违反。
相较于现有技术,本发明具有以下有益效果:本发明在布局过程中建立时钟约束的数学模型,以最小化线长为目标,通过时钟线网收缩与时钟线网扩张两个步骤实现时钟约束的合法化,解决了全局布局过程中时钟线网违反时钟约束的问题,避免了时钟线网布线失败。
附图说明
图1是本发明实施例的方法实现流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细说明。
如图1所示,本实施例提供了一种基于异质型FPGA布局的时钟合法化方法,包括如下步骤:
(1)建立时钟约束的数学模型。
步骤(1)的具体实现方法为:
首先针对FPGA时钟约束,进行如下表示:用模块vi的中心坐标(xi,yi)来表示其位置,设Ck为时钟k所连接块的索引集,即{vi|i∈Ck}。设R为时钟区域的集合,j∈R,设表示时钟区域j左右边界的x坐标。表示时钟区域j上下边界的y坐标。当时钟负载的边界框与该时钟区域重叠时,时钟位于该时钟区域,通过H(k,j)、V(k,j)来判断时钟k在时钟区域j水平和垂直方向的使用情况,表达式如下:
如若H(k,j)的值大于0,则表示时钟K在水平方向上位于时钟区域j。同理,如若V(k,j)的值大于0,则表示时钟K在垂直方向上位于时钟区域j。则根据H(k,j)和V(k,j)的值判断时钟k是否位于时钟区域j中,公式如下:
因此,将FPGA的时钟约束用如下公式表示:
换而言之,每个时钟区域至多被Nc个时钟线网的边界框所覆盖。
(2)基于建立的数学模型,分时钟线网收缩与时钟线网扩张两步将时钟约束合法化。
步骤(2)中,时钟线网收缩阶段合法化时钟区域的时钟数量,时钟线网扩张阶段通过扩大时钟线网的跨度解决时钟区域出现模块数量过多导致资源溢出的问题。
在时钟线网收缩阶段中,通过减少违反时钟区域的时钟数量来合法化。首先找到违反时钟约束的时钟区域,并找到这个区域里每个模块所在的线网,以找到每个模块的可移动范围。换句话说,模块所在线网的边界框的交集为模块的可移动范围。对每个线网的模块从东南西北四个方向进行移动,以避免占用到违反时钟约束的时钟区域。在这个过程可能会有多种方案,本发明通过如下公式来选择最优的方案:
其中,分子为线网所有模块的位移和,ΔNumclk表示时钟区域所减少的时钟数量。选择平均位移最小的模块进行移动,重复上述操作,直到所有时钟区域均没有时钟约束违反为止。
时钟线网扩张阶段在时钟线网收缩阶段之后进行,其主要目的是为了保证每个时钟区域的密度在合理的范围内,防止站点数量小于模块的数量。时钟线网扩张阶段的操作与时钟线网收缩阶段类似,首先找到密度最高的时钟区域,然后从东南西北四个方向寻找扩散的可能,优先选择位移最小的方案。这里用时钟区域所在的模块面积与时钟区域面积的比值来估计密度。对于可能导致时钟约束违反的方案提前排除,以保证无时钟约束违反。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (5)
1.一种基于异质型FPGA布局的时钟合法化方法,其特征在于,包括如下步骤:
(1)建立时钟约束的数学模型;
(2)基于建立的数学模型,分时钟线网收缩与时钟线网扩张两步将时钟约束合法化。
2.根据权利要求1所述的一种基于异质型FPGA布局的时钟合法化方法,其特征在于,所述步骤(1)的实现方法为:
首先针对FPGA时钟约束,进行如下表示:用模块vi的中心坐标(xi,yi)来表示其位置,设Ck为时钟k所连接块的索引集,即{vi|i∈Ck};设R为时钟区域的集合,j∈R,设表示时钟区域j左右边界的x坐标;表示时钟区域j上下边界的y坐标;当时钟负载的边界框与该时钟区域重叠时,时钟位于该时钟区域,通过H(k,j)、V(k,j)来判断时钟k在时钟区域j水平和垂直方向的使用情况,表达式如下:
如若H(k,j)的值大于0,则表示时钟K在水平方向上位于时钟区域j;同理,如若V(k,j)的值大于0,则表示时钟K在垂直方向上位于时钟区域j;则根据H(k,j)和V(k,j)的值判断时钟k是否位于时钟区域j中,公式如下:
因此,将FPGA的时钟约束用如下公式表示:
即每个时钟区域至多被Nc个时钟线网的边界框所覆盖。
3.根据权利要求2所述的一种基于异质型FPGA布局的时钟合法化方法,其特征在于,所述步骤(2)中,时钟线网收缩阶段合法化时钟区域的时钟数量,时钟线网扩张阶段通过扩大时钟线网的跨度解决时钟区域出现模块数量过多导致资源溢出的问题。
5.根据权利要求3所述的一种基于异质型FPGA布局的时钟合法化方法,其特征在于,时钟线网扩张阶段在时钟线网收缩阶段之后进行,用于保证每个时钟区域的密度在合理的范围内,防止站点数量小于模块的数量;时钟线网扩张阶段的操作与时钟线网收缩阶段类似,首先找到密度最高的时钟区域,然后从东南西北四个方向寻找扩散的可能,优先选择位移最小的方案;这里用时钟区域所在的模块面积与时钟区域面积的比值来估计密度;对于可能导致时钟约束违反的方案提前排除,以保证无时钟约束违反。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110600906.7A CN113221493B (zh) | 2021-05-31 | 2021-05-31 | 一种基于异质型fpga布局的时钟合法化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110600906.7A CN113221493B (zh) | 2021-05-31 | 2021-05-31 | 一种基于异质型fpga布局的时钟合法化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113221493A true CN113221493A (zh) | 2021-08-06 |
CN113221493B CN113221493B (zh) | 2022-07-15 |
Family
ID=77082139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110600906.7A Expired - Fee Related CN113221493B (zh) | 2021-05-31 | 2021-05-31 | 一种基于异质型fpga布局的时钟合法化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113221493B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7353485B1 (en) * | 2005-08-10 | 2008-04-01 | Xilinx, Inc. | Method of flexible clock placement for integrated circuit designs using integer linear programming |
CN102768506A (zh) * | 2012-07-18 | 2012-11-07 | 复旦大学 | 带时序约束的fpga时序驱动布局方法 |
CN107967372A (zh) * | 2016-10-20 | 2018-04-27 | 上海复旦微电子集团股份有限公司 | 一种fpga总体布局合法化方法 |
US10339241B1 (en) * | 2016-05-13 | 2019-07-02 | Altera Corporation | Methods for incremental circuit design legalization during physical synthesis |
CN112257368A (zh) * | 2019-07-02 | 2021-01-22 | 上海复旦微电子集团股份有限公司 | 时钟布局方法、装置、eda工具及计算机可读存储介质 |
-
2021
- 2021-05-31 CN CN202110600906.7A patent/CN113221493B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7353485B1 (en) * | 2005-08-10 | 2008-04-01 | Xilinx, Inc. | Method of flexible clock placement for integrated circuit designs using integer linear programming |
CN102768506A (zh) * | 2012-07-18 | 2012-11-07 | 复旦大学 | 带时序约束的fpga时序驱动布局方法 |
US10339241B1 (en) * | 2016-05-13 | 2019-07-02 | Altera Corporation | Methods for incremental circuit design legalization during physical synthesis |
CN107967372A (zh) * | 2016-10-20 | 2018-04-27 | 上海复旦微电子集团股份有限公司 | 一种fpga总体布局合法化方法 |
CN112257368A (zh) * | 2019-07-02 | 2021-01-22 | 上海复旦微电子集团股份有限公司 | 时钟布局方法、装置、eda工具及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
JIANLI CHEN ET.AL: "Clock-Aware Placement for Large-Scale", 《IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS》 * |
LIN ZHIFENG ET.AL: "Late Breaking Results: An Analytical Timing-Driven Placer for Heterogeneous FPGAs", 《DESIGN AUTOMATION CONFERENCE DAC》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113221493B (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Adya et al. | Unification of partitioning, placement and floorplanning | |
Li et al. | Routability-driven placement and white space allocation | |
US6480991B1 (en) | Timing-driven global placement based on geometry-aware timing budgets | |
Huang et al. | Partitioning-based standard-cell global placement with an exact objective | |
Roy et al. | Min-cut floorplacement | |
CN110795908A (zh) | 偏差驱动的总线感知总体布线方法 | |
US20030229862A1 (en) | Patching technique for correction of minimum area and jog design rule violations | |
US20090189641A1 (en) | Integrated circuit device and layout design method therefor | |
CN110232213B (zh) | 基于FinFET结构的高速标准单元库版图设计方法 | |
CN102637217B (zh) | 基于云计算平台的大规模集成电路布线系统 | |
Cho | Wiring space and length estimation in two-dimensional arrays | |
US7178122B2 (en) | Semiconductor integrated circuit, method of designing semiconductor integrated circuit, and device for designing the same | |
CN113627120B (zh) | 超导集成电路布局优化方法和装置、存储介质和终端 | |
CN112685991A (zh) | 一种满足约束的布线方法 | |
CN117151003B (zh) | 一种基于时钟域划分的fpga布局方法及装置 | |
CN113221493B (zh) | 一种基于异质型fpga布局的时钟合法化方法 | |
US10936784B2 (en) | Planning method for power metal lines | |
US10303202B1 (en) | Method and apparatus for performing clock allocation for a system implemented on a programmable device | |
Mehta et al. | On the use of flexible, rectilinear blocks to obtain minimum-area floorplans in mixed block and cell designs | |
Soni et al. | Congestion Estimation Using Various Floorplan Techniques in 28nm Soc Design | |
JP3433025B2 (ja) | モジュール配置方法 | |
CN117556760B (zh) | 一种宏单元和可编程逻辑块分阶段优化的fpga全局布局方法 | |
Xiang et al. | An ECO algorithm for eliminating crosstalk violations | |
Pentapati et al. | Tier partitioning and flip-flop relocation methods for clock trees in monolithic 3D ICs | |
Madhuri et al. | Performance Analysis on Skew Optimized Clock Tree Synthesis |
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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Chen Jianli Inventor after: Yang Wei Inventor after: Lin Zhifeng Inventor before: Chen Jianli Inventor before: Yang Wei Inventor before: Lin Zhifeng |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220715 |