CN106682294A - 一种动态可重构fpga的布局方法 - Google Patents

一种动态可重构fpga的布局方法 Download PDF

Info

Publication number
CN106682294A
CN106682294A CN201611162418.8A CN201611162418A CN106682294A CN 106682294 A CN106682294 A CN 106682294A CN 201611162418 A CN201611162418 A CN 201611162418A CN 106682294 A CN106682294 A CN 106682294A
Authority
CN
China
Prior art keywords
layout
fpga
resource
subregion
represent
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
Application number
CN201611162418.8A
Other languages
English (en)
Other versions
CN106682294B (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.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong 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 Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN201611162418.8A priority Critical patent/CN106682294B/zh
Publication of CN106682294A publication Critical patent/CN106682294A/zh
Application granted granted Critical
Publication of CN106682294B publication Critical patent/CN106682294B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Landscapes

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

Abstract

本发明公开了一种动态可重构FPGA的布局方法,根据各个待布局可重构区域所需资源类型与各类资源数量需求,结合FPGA芯片内各类资源位置与数量分布情况,以及待布局可重构区域间布线约束,采取非矩形或矩形为建模形状,定义可重构区域模型表示方法。本发明针对FPGA多种可重构区域布局过程中将模型使用矩形形状进行建模出现的因为资源竞争而引起的布局失败问题,提出了一种非矩形形状与矩形形状相结合进行建模的动态可重构FPGA的布局方法,遵循各个待布局可重构区域模型的客观形状特点,采用矩形与非矩形相结合的方式进行建模描述,并设计采用基于混合整数线性优化方法的布局过程,从而降低了布局失败率,提高了FPGA资源利用率。

Description

一种动态可重构FPGA的布局方法
【技术领域】
本发明属于电子技术领域,具体涉及一种动态可重构FPGA的布局方法。
【背景技术】
随着近年来普适计算和物联网行业的兴起,嵌入式系统的应用得到了不断的发展并迅速占领着传统IT行业的市场份额。在航空航天、高性能计算、无线通信以及智慧城市等领域,基于可重构计算(Reconfigurable Computing,RC)技术的嵌入式系统具有广泛且重要的应用价值。RC是继通用计算、专用集成电路(Application Specific IntegratedCircuit,ASIC)后的第三种计算模式,通过结合前两者的优点,RC一定程度上同时保证计算速度与灵活性,实现了硬件资源的重复使用。
主流可重构嵌入式系统由现场可编程门阵列(Field Programmable Gate Array,FPGA)构成,采用基于FPGA的可重构嵌入式系统的优势在于生产商对系统进行升级时不需要报废原有硬件设备,也不需要购置新的硬件设备,只需将可重构嵌入式系统中的FPGA芯片重新编程就可实现新的功能。
目前主流先进的FPGA芯片具有动态可重构的能力。相比传统FPGA静态可重构系统所有逻辑功能必须一次性写入可重构芯片,系统运行时不允许修改的不足,动态可重构系统将可重构芯片内部分为静态可重构区域和动态可重构区域,在系统运行时不影响静态可重构区域功能正常运行的前提下,可以在芯片(In Chip)改变动态可重构区域逻辑功能,实现不同应用间的热切换。充分利用动态可重构FPGA可以解决很多复杂多变的应用问题,比如:美国国家航空航天局卫星通信加密卡就采用FPGA动态可重构特性,通过定期更改通信数据加密算法的方法增强数据安全性。
动态可重构FPGA系统配置步骤主要有:设计输入、综合、布局与布线、配置下载等过程,其中布局过程是影响系统性能的关键因素之一,影响着系统的运行效率。布局是指通过管理FPGA芯片上可重构资源的数量和位置信息,根据每个待布局的静态、动态可重构区域所需资源的种类和数量,综合考虑可重构区域间布线约束,并且在满足成功布局的前提下,尽可能低的占用各种有限的FPGA资源。一个好的布局策略不仅可以降低布局失败率,而且可以减少资源占用率、减少布线资源浪费进而降低FPGA芯片的能耗。
由于动态可重构FPGA的布局是一个典型的数学优化问题,且具有高度复杂性,因此很难用简单的数学模型进行描述。虽然,已有一些方法如:最优解法、基于贪心算法、模拟退火算法或者混合线性优化算法等优化方法进行布局,也取得了大量的成果,但是这些传统方法均以矩形为可重构区域的形状进行建模,由于矩形形状有可能并非遵循模型的客观形状,从而不能充分利用可重构资源,造成资源浪费、降低可布局任务数量,影响布局成功率。
【发明内容】
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种可重构区域非矩形模型表示方法;设计基于该模型的布局过程,解决资源占用率过高的问题。
本发明采用以下技术方案:
一种动态可重构FPGA的布局方法,根据各个待布局可重构区域所需资源类型与各类资源数量需求,结合FPGA芯片内各类资源位置与数量分布情况,以及待布局可重构区域间布线约束,采取非矩形或矩形为建模形状,定义可重构区域模型表示方法。
进一步的,所述表示方法具体为:令待布局区域集合T={T1,T2,T3,...,Tn},每个待布局区域分为两个部分Tk={part0,part1},每个部分parti={x,y,w,h},其中x表示该部分最左侧横轴坐标值,y表示该部分最左侧纵轴坐标值,w为宽度,h为高度,对上述特征进行约束,将待布局区域模型定义为非矩形或矩形模型,具体约束为:
yp0=yp1+hp1.....................................约束1
xp0=xp1||xp0+wp0=xp1+wp1..........约束2
其中,yp0表示某一待布局区域Tk(1≤k≤n)中part0部分最左侧纵轴坐标值,yp1表示part1部分的最左侧纵轴坐标值,hp1表示其高度;同理,xp0,xp1,wp0,wp1分别表示某一待布局区域Tk中part0,part1部分的最左侧横轴坐标值和宽度;约束1确保每一个待布局区域中part0,part1两部分在垂直方向上连续,约束2确保每一个待布局区域在水平方向上的投影距离等于part0,part1两部分宽度较大值,也确保了待布局区域非矩形模型不会过于复杂。
进一步的,根据所述非矩形模型表示方法设计基于非矩形模型的布局过程,包括以下步骤:
S1、将FPGA芯片以最小可编程单位为单元,采用二维整数坐标形式描述;
S2、对FPGA芯片进行分区L={l1,l2,...,lk|li=(x,y,w,h,n)},其中x表示第i个分区的起始位置横坐标,y表示第i个分区的起始位置纵坐标,w表示第i个分区的宽度,h表示高度,n表示第i个分区包含资源类型,li的值表示第i个分区包含各种类型资源的数量;
S3、对布局所需参数进行定义;
S4、根据上述各项定义与约束,采用混合整数线性优化方法进行数学优化。
进一步的,所述步骤S2中,分区满足下述标准:采用从左上到右下的方向进行遍历,每一个分区内只包含一种类型资源,每一个分区在横、纵方向没有间隔、重叠或覆盖。
进一步的,所述步骤S3中,所需参数具体为:资源类型N={CLB,BRAM,DSP,...etc.},其中,CLB为可编程逻辑单元,BRAM为块随机存储单元,DSP为数字信号处理单元。
进一步的,所述步骤S4中,建立目标函数如下:
其中,parti∩lk表示各个待布局区域每一个部分在FPGA分区上的分布情况,Rt,n表示每一个待布局区域t需要第n类资源的数量,(parti∩lk)*lk表示各个待布局区域实际占用各类资源数量。
与现有技术相比,本发明至少具有以下有益效果:
本发明针对FPGA多种可重构区域布局过程中将模型使用矩形形状进行建模出现的因为资源竞争而引起的布局失败问题,提出了一种非矩形形状与矩形形状相结合进行建模的动态可重构FPGA的布局方法,遵循各个待布局可重构区域模型的客观形状特点,采用矩形与非矩形相结合的方式进行建模描述,并设计采用基于混合整数线性优化方法的布局过程,从而降低了布局失败率,提高了FPGA资源利用率。
进一步的,将每个可重构区域分为两个部分,通过特定约束将其定义为非矩形或矩形形状,遵循了其客观形状特点,节省了FPGA各类资源。
进一步的,设计了以FPGA最小可编程单位为单元的二维整数坐标表现形式,并根据位置与资源类型将FPGA进行划分。
进一步的,设计了采用基于混合整数线性优化方法的布局过程,从而降低了布局失败率,提高了FPGA资源利用率。进一步的,通过非矩形模型的引入,在设计基于可重构FPGA的嵌入式系统时可以减少FPGA芯片数量进而节省工程开支,运行速度快。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
图1为本发明每个part的特征表示法示意图;
图2为本发明实行约束后的第一种非矩形统一模型示意图;
图3为本发明实行约束后的第二种非矩形统一模型示意图;
图4为本发明实行约束后的第三种非矩形统一模型示意图;
图5为本发明实行约束后的第四种非矩形统一模型示意图;
图6为本发明实行约束后的第一种矩形统一模型示意图。
【具体实施方式】
本发明公开了一种动态可重构FPGA的布局方法,包括以下两步:
1、定义可重构区域非矩形模型表示方法:根据各个待布局可重构区域所需资源类型与各类资源数量需求,结合FPGA芯片内各类资源位置与数量分布情况,综合考虑待布局可重构区域间布线约束,采取矩形或非矩形为建模形状,寻找最优布局方案。
具体表示方法:令待布局区域集合T={T1,T2,T3,...,Tn},每个待布局区域分为两个部分Tk={part0,part1},每个部分parti={x,y,w,h}特征表示,其中x表示最左侧水平(横轴)坐标值,y表示最左侧垂直(纵轴)坐标值,w为宽度,h为高度,
具体表示如图1所示。为满足非矩形模型定义,上述特征进行约束:
yp0=yp1+hp1.....................................约束1
xp0=xp1||xp0+wp0=xp1+wp1..........约束2
其中,yp0表示某一待布局区域Tk(1≤k≤n)中part0部分的最左侧纵轴坐标值,yp1表示part1部分的最左侧纵轴坐标值,hp1表示其高度;同理,xp0,xp1,wp0,wp1分别表示待布局区域Tk中part0,part1部分的最左侧横轴坐标值和宽度;约束1确保每一个待布局区域中part0,part1两部分在垂直(纵轴)方向上连续,约束2确保每一个待布局区域在水平(横轴)方向上的投影距离等于part0,part1两部分宽度较大值,也确保了待布局区域非矩形模型不会过于复杂。
通过该约束将待布局区域模型定义为图2至图6所示的五种形式,其中前四种模型为非矩形形状模型,第五种模型为矩形模型形状模型,建模时根据待布局区域所需资源种类与数量,在遵循客观形状的基础上,通过定义约束,实现了矩形、非矩形模型的统一管理。
图中各边长度由具体应用而定,这里只展示模型的形状特征。
2、设计基于非矩形模型的布局过程:
2-1、将FPGA芯片以最小可编程单位为单元,采用二维整数坐标形式进行描述;
2-2、对FPGA芯片进行分区L={l1,l2,...,lk|li=(x,y,w,h,n)},其中x表示第i个分区的起始位置横坐标,y表示第i个分区起始位置纵坐标,w表示第i个分区宽度,h表示第i个分区的高度,n表示第i个分区包含的资源类型,li的值表示第i个分区包含各种类型资源的数量,分区满足下述标准:
a、采用从左上到右下的方向进行遍历;
b、确保一个分区内只包含一种类型资源;
c、确保分区在横、纵方向的连贯性,不存在间隔;
d、确保分区间没有重叠或覆盖。
2-3对布局所需参数进行定义:
a、资源类型N={CLB,BRAM,DSP,...etc.},其中,CLB为可编程逻辑单元(Configurable Logic Block),BRAM为块随机存储单元(Block Random Access Memory),DSP为数字信号处理单元(Digital Signal Processing);
b、每个待布局区域所需资源类型与数量Rt,n表示每一个待布局区域t需要第n类资源的数量。
2-4根据上述各项定义与约束,采用混合整数线性优化方法进行数学优化,设立目标函数:
其中,其中,parti∩lk表示各个待布局区域每一个部分在FPGA分区上的分布情况,Rt,n表示每一个待布局区域t需要第n类资源的数量,(parti∩lk)*lk表示各个待布局区域实际占用各类资源数量。
该式表示各个待布局区域实际占用各类资源数量减去各个待布局区域所需各类资源真实数量,使其差值最小。目的在于确保满足各个待布局区域所需资源种类与数量的前提下,通过遵循客观模型形状的非矩形建模方式,实现尽可能少的占用系统资源的布局算法。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

Claims (6)

1.一种动态可重构FPGA的布局方法,其特征在于,根据各个待布局可重构区域所需资源类型与各类资源数量需求,结合FPGA芯片内各类资源位置与数量分布情况,以及待布局可重构区域间布线约束,采取非矩形或矩形为建模形状,定义可重构区域模型表示方法。
2.根据权利要求1所述的一种动态可重构FPGA的布局方法,其特征在于,所述表示方法具体为:令待布局区域集合T={T1,T2,T3,...,Tn},每个待布局区域分为两个部分Tk={part0,part1},每个部分parti={x,y,w,h},其中x表示该部分最左侧横轴坐标值,y表示该部分最左侧纵轴坐标值,w为宽度,h为高度,对上述特征进行约束,将待布局区域模型定义为非矩形或矩形模型,具体约束为:
∀ p ∈ part i , ∀ part i ∈ T :
yp0=yp1+hp1.....................................约束1
xp0=xp1||xp0+wp0=xp1+wp1..........约束2
其中,yp0表示某一待布局区域Tk(1≤k≤n)中part0部分最左侧纵轴坐标值,yp1表示part1部分的最左侧纵轴坐标值,hp1表示其高度;同理,xp0,xp1,wp0,wp1分别表示某一待布局区域Tk中part0,part1部分的最左侧横轴坐标值和宽度;约束1确保每一个待布局区域中part0,part1两部分在垂直方向上连续,约束2确保每一个待布局区域在水平方向上的投影距离等于part0,part1两部分宽度较大值,也确保了待布局区域非矩形模型不会过于复杂。
3.根据权利要求1所述的一种动态可重构FPGA的布局方法,其特征在于:根据所述非矩形模型表示方法设计基于非矩形模型的布局过程,包括以下步骤:
S1、将FPGA芯片以最小可编程单位为单元,采用二维整数坐标形式描述;
S2、对FPGA芯片进行分区L={l1,l2,...,lk|li=(x,y,w,h,n)},其中x表示第i个分区的起始位置横坐标,y表示第i个分区的起始位置纵坐标,w表示第i个分区的宽度,h表示高度,n表示第i个分区包含资源类型,li的值表示第i个分区包含各种类型资源的数量;
S3、对布局所需参数进行定义;
S4、根据上述各项定义与约束,采用混合整数线性优化方法进行数学优化。
4.根据权利要求3所述的一种动态可重构FPGA的布局方法,其特征在于,所述步骤S2中,分区满足下述标准:采用从左上到右下的方向进行遍历,每一个分区内只包含一种类型资源,每一个分区在横、纵方向没有间隔、重叠或覆盖。
5.根据权利要求3所述的一种动态可重构FPGA的布局方法,其特征在于,所述步骤S3中,所需参数具体为:资源类型N={CLB,BRAM,DSP,...etc.},其中,CLB为可编程逻辑单元,BRAM为块随机存储单元,DSP为数字信号处理单元。
6.根据权利要求3所述的一种动态可重构FPGA的布局方法,其特征在于:所述步骤S4中,建立目标函数如下:
min { Σ t ∈ T , n ∈ N ( Σ part i ∈ t , l k ∈ L ( ( part i ∩ l k ) * l k ) - R t , n ) }
其中,parti∩lk表示各个待布局区域每一个部分在FPGA分区上的分布情况,Rt,n表示每一个待布局区域t需要第n类资源的数量,(parti∩lk)*lk表示各个待布局区域实际占用各类资源数量。
CN201611162418.8A 2016-12-15 2016-12-15 一种动态可重构fpga的布局方法 Active CN106682294B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611162418.8A CN106682294B (zh) 2016-12-15 2016-12-15 一种动态可重构fpga的布局方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611162418.8A CN106682294B (zh) 2016-12-15 2016-12-15 一种动态可重构fpga的布局方法

Publications (2)

Publication Number Publication Date
CN106682294A true CN106682294A (zh) 2017-05-17
CN106682294B CN106682294B (zh) 2019-12-24

Family

ID=58869115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611162418.8A Active CN106682294B (zh) 2016-12-15 2016-12-15 一种动态可重构fpga的布局方法

Country Status (1)

Country Link
CN (1) CN106682294B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108170634A (zh) * 2017-12-26 2018-06-15 北京航空航天大学 一种异构多源数据重构瞬态可靠处理方法
CN110728098A (zh) * 2018-06-29 2020-01-24 中车株洲电力机车研究所有限公司 Fpga重配置分区优化方法及系统
CN111274016A (zh) * 2020-01-20 2020-06-12 中国人民解放军国防科技大学 基于模块融合的动态部分可重构系统应用划分与调度方法
CN113239652A (zh) * 2021-05-31 2021-08-10 福州大学 一种基于异质型fpga全局布局的坐标转换方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7673272B1 (en) * 2007-02-16 2010-03-02 Xilinx, Inc. Method and apparatus for generating an area constraint for a module in a programmable logic device
CN102262612A (zh) * 2011-07-28 2011-11-30 西安交通大学 一种降低可重构硬件任务布局冲突的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7673272B1 (en) * 2007-02-16 2010-03-02 Xilinx, Inc. Method and apparatus for generating an area constraint for a module in a programmable logic device
CN102262612A (zh) * 2011-07-28 2011-11-30 西安交通大学 一种降低可重构硬件任务布局冲突的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHAOHUI WANG, WEIGUO WU, SHIQIANG NIE, DEPEI QIAN: "《BFT: a placement algorithm for non-rectangle task model in reconfigurable computing system》", 《IET COMPUTERS&DIGITAL TECHNIQUES》 *
HERBERT WALDER AND MARCO PLATZNER: "《Non-preemptive Multitasking on FPGAs: Task Placement and Footprint Transform》", 《ERSA "02》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108170634A (zh) * 2017-12-26 2018-06-15 北京航空航天大学 一种异构多源数据重构瞬态可靠处理方法
CN110728098A (zh) * 2018-06-29 2020-01-24 中车株洲电力机车研究所有限公司 Fpga重配置分区优化方法及系统
CN110728098B (zh) * 2018-06-29 2023-12-29 中车株洲电力机车研究所有限公司 Fpga重配置分区优化方法及系统
CN111274016A (zh) * 2020-01-20 2020-06-12 中国人民解放军国防科技大学 基于模块融合的动态部分可重构系统应用划分与调度方法
CN111274016B (zh) * 2020-01-20 2022-09-09 中国人民解放军国防科技大学 基于模块融合的动态部分可重构系统应用划分与调度方法
CN113239652A (zh) * 2021-05-31 2021-08-10 福州大学 一种基于异质型fpga全局布局的坐标转换方法
CN113239652B (zh) * 2021-05-31 2022-07-15 福州大学 一种基于异质型fpga全局布局的坐标转换方法

Also Published As

Publication number Publication date
CN106682294B (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
CN106682294A (zh) 一种动态可重构fpga的布局方法
US8719754B1 (en) System and method to generate re-useable layout components from schematic components in an IC design with hierarchical parameters
Chen et al. NTUplace3: An analytical placer for large-scale mixed-size designs with preplaced blocks and density constraints
US8584052B2 (en) Cell layout for multiple patterning technology
JP2003528468A (ja) スタンダードブロックを用いた集積回路アーキテクチャ
CN103699608A (zh) 页面布局方法及装置
US9779198B2 (en) Individually coloring separated cell blocks in layout of integrated circuits
US10878157B2 (en) Variant cell height integrated circuit design
CN104063559A (zh) 大规模集成电路分布计算的布局合法化方法及其系统
CN102855360A (zh) 一种纳米工艺金属层版图的优化设计方法
CN103886150A (zh) 一种冗余图形的填充方法
US10055529B1 (en) Methods, systems, and computer program product for implementing a floorplan with virtual hierarchies and figure groups for an electronic design
CN106449628A (zh) 半导体布局结构及其设计方法
CN107169228A (zh) Bim模型数据交换方法、装置、终端及计算机可读存储介质
CN103971586A (zh) 电子地图生成方法及装置
CN106339532B (zh) 基础单元、标准单元、标准单元库、后端全定制设计方法、芯片
CN103810018A (zh) 一种组件化、参数化仿真模型的设计方法
CN108829907A (zh) 基于eda封装库创建钢网库的方法及系统、存储介质及终端
JP5388323B2 (ja) 計算機
Mak et al. Minimum implant area-aware placement and threshold voltage refinement
US10402530B1 (en) Method, system, and computer program product for implementing placement using row templates for an electronic design
CN101369294A (zh) SoC布局的平面布图规划方法
CN116562218B (zh) 一种基于强化学习实现矩形宏单元的布图规划方法和系统
CN103020356A (zh) 一种非封闭图形的三角剖分算法
CN107256281A (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
GR01 Patent grant
GR01 Patent grant