CN103136386B - Fpga芯片布线方法 - Google Patents

Fpga芯片布线方法 Download PDF

Info

Publication number
CN103136386B
CN103136386B CN201110379987.9A CN201110379987A CN103136386B CN 103136386 B CN103136386 B CN 103136386B CN 201110379987 A CN201110379987 A CN 201110379987A CN 103136386 B CN103136386 B CN 103136386B
Authority
CN
China
Prior art keywords
fpga chip
wiring
gauze
time delay
drain terminal
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.)
Expired - Fee Related
Application number
CN201110379987.9A
Other languages
English (en)
Other versions
CN103136386A (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.)
Beijing Micro Star Technology Co ltd
Original Assignee
Institute of Microelectronics of CAS
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 Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN201110379987.9A priority Critical patent/CN103136386B/zh
Publication of CN103136386A publication Critical patent/CN103136386A/zh
Application granted granted Critical
Publication of CN103136386B publication Critical patent/CN103136386B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种FPGA芯片布线方法。该方法包括:步骤A,读取上一次的FPGA芯片布线结果;步骤B,由上一次的布线结果获取关键路径延时和各源端i到漏端j之间的延时裕量;步骤C,由关键路径延时和各源端i到漏端j间的延时裕量获取每条线网的源端i到其所有漏端j的连接关键度;步骤D,由每条线网的源端i到其所有漏端j的连接关键度获取每条线网的关键度;步骤E,根据线网关键度由大至小的顺序对FPGA芯片中的线网进行排序;步骤F,根据排好的线网顺序,依次对FPGA芯片中的线网进行布线,获取布线结果。本发明FPGA芯片布线方法可以减少关键路径延时。

Description

FPGA芯片布线方法
技术领域
本发明涉及微电子行业集成电路设计领域,特别涉及一种FPGA芯片布线方法。
背景技术
FPGA是可编程逻辑芯片,可以实现各种各样的应用。由于其具有开发周期短和成本低等优点,目前FPGA是市场上广泛使用的可编程器件。在FPGA设计的CAD软件流程中,布线是至关重要的一步。一旦确定了电路中所有逻辑单元块的位置,布线器就可以打通合适的可编程开关以连接电路需要的所有逻辑单元块的输入和输出引脚。绝大多数FPGA的布线器有一套避免拥挤的策略以解决布线资源竞争问题。
在数字电路中,线网的数量是庞大的,这些线网都需要由布线器进行布线。线网的布线顺序对关键路径延时有很大的影响。传统的布线算法中,布线顺序是线网的自然顺序,即线网的序号顺序。
Pathfinder算法是进行FPGA芯片布线的常用算法。图1为现有技术Pathfinder布线算法的流程图。如图1所示,Pathfinder布线算法包括:
步骤S02,读取映射的网表文件和布局结果,获取线网的数目、名称、源端和漏端的位置坐标;
步骤S04,不考虑布线资源的拥挤和重用,以最小延时为目的进行布线;
步骤S06,判断布线资源是否存在拥挤或重用,如果是,执行步骤S10,否则,执行步骤S14;
步骤S08,增加布线资源成本;
步骤S10,在增加布线成本的情况下重新布线,执行步骤S08;
步骤S12,输出布线结果。
由上述流程可以看出,Pathfinder布线算法的基本思想是反复地拆线重布电路中的各条线网,直到所有的拥挤度问题都得到了解决。每次拆线重布电路中的一条线网,就称为一次布线迭代。在第一次布线迭代中,每条连线均以最小延时为目的进行布线,即使会导致布线资源的拥挤或重用。重用布线资源的电路布线是无效的,因此要再执行一次布线迭代以解决拥挤问题。在每次布线迭代之后,都要增加重用布线资源的成本,从而提高解决拥挤问题的可能性。
现有技术中,执行Pathfinder布线算法在上述的步骤S04中,重新布线主要是基于线网的序号进行,往往会影响到关键路径的延时。
发明内容
(一)要解决的技术问题
为解决上述的一个或多个问题,本发明提供了一种FPGA芯片布线方法,以使大量电路的FPGA实现在布线结果的关键路径延时方面得到优化。
(二)技术方案
根据本发明的一个方面,提供了一种FPGA芯片布线方法。该方法包括:步骤A,读取上一次的FPGA芯片布线结果;步骤B,由上一次的布线结果获取关键路径延时Dmax和各源端i到漏端j之间的延时裕量slack(i,j);步骤C,由关键路径延时Dmax和各源端i到漏端j间的延时裕量slack(i,j)获取每条线网的源端i到其所有漏端j的连接关键度Crit(i,j);步骤D,由每条线网的源端i到其所有漏端j的连接关键度Crit(i,j)获取每条线网的关键度Crit(I);步骤E,根据线网关键度由大至小的顺序对FPGA芯片中的线网进行排序;步骤F,根据排好的线网顺序,依次对FPGA芯片中的线网进行布线,获取布线结果。
(三)有益效果
本发明FPGA芯片布线方法具有以下有益效果:
(1)本发明可以准确的衡量每条线网在整个FPGA芯片中的相对关键度;
(2)本发明FPGA芯片布线方法可以减少关键路径延时。
附图说明
图1为现有技术Pathfinder布线算法的流程图;
图2为本发明实施例FPGA芯片布线方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。虽然本文可提供包含特定值的参数的示范,但应了解,参数无需确切等于相应的值,而是可在可接受的误差容限或设计约束内近似于所述值。
图2为本发明实施例FPGA芯片布线方法的流程图。如图2所示,本实施例FPGA芯片布线方法包括:
步骤S202,读取映射结果的网表信息和布局结果。网表信息包括映射之后生成的逻辑单元块的名称和类型,使用到的逻辑单元块的引脚,每一条线网的名称。布局结果包括所有逻辑单元块的位置坐标以及所有源端和漏端的位置坐标。这些信息都是对线网进行布线时需要的;
步骤S204,不考虑布线资源的拥挤和重用,以最小延时为目的进行布线;
需要说明的是,上述步骤S201和S204均为Pathfinder布线算法的通用步骤。步骤S201中获取的网表信息和布局结果信息为下一步的布线提供基础。而步骤S204只是进行布线方法中的一初始化步骤。
步骤S206,判断该布线结果是否解决了FPGA芯片中布线资源拥挤和重用问题,如果是,则执行步骤S220,否则,执行步骤S208;
本实施例中,计算线网的关键度及按照关键度对芯片进行排序的过程可以进行一次或者多次。通常情况下,需要进行多次布线迭代才能获得能够解决布线资源拥挤和重用问题的布线方案。
步骤S208,增加布线成本;
步骤S210,读取上一次的FPGA芯片布线结果,计算关键路径延时Dmax和每条线网的源端i到其所有漏端j的延时裕量slack(i,j);
其中,一条路径的延时裕量就是在不增加电路延时的前提下,允许被添加到这条路径上的延时量。延时裕量为0的路径就是电路的关键路径,如果增加这条路径的延时就会相应的导致电路延时的增加。每次布线迭代之后,就得到了完整的,但是可能无效的布线结果。因此,能从这次布线中确定线网的延时,并且进行完整的时序分析以计算各源端到漏端之间的延时裕量。在下一轮布线迭代中,这些延时裕量就用于控制减少连线延时或避免拥挤度的力度。获取关键路径延时和多个延时裕量的方法可在相应Pathfinder布线算法的教科书中找到,此处不再重述。
步骤S212,计算每条线网的源端i到其所有漏端j的连接关键度Crit(i,j)。从线网I的源端i到漏端j的连接关键度Crit(i,j)为:
Crit ( i , j ) = 1 - slack ( i , j ) D max ,
其中,Dmax是关键路径的延时,slack(i,j)是在不影响电路关键路径前提下的延时裕量。Crit(i,j)越大,说明从源端i到漏端j这条路径越接近关键路径,越应该以最小延时为目的进行布线。
步骤S214,计算线网I的关键度Crit(I)。一个线网有一个源端和多个漏端,定义线网I的关键度Crit(I)为:
Crit ( I ) = Σ j = 1 k Crit ( i , j ) k
其中,k为线网I的漏端的数量。线网的关键度即为该线网的源端到所有漏端的关键度的平均值。线网的关键度越大,说明该线网上的路径越接近关键路径,越应该优先布线。
步骤S216,根据线网关键度的大小对线网进行排序。关键度大的线网排在前面;
步骤S218,根据排好的线网顺序,依次对线网进行布线,执行步骤S206;
即使用Pathfinder布线算法依次对步骤S202读取进来的线网进行布线,关键度大的线网优先进行布线,生成布局布线结果;
步骤S220,生成布局布线结果,并且将布线结果打印在相应的文件中,供配置码流生成工具读取并生成码流文件。
至此,本发明实施例FPGA芯片布线方法介绍完毕。以下用以实际的电路设计过程为例来说明本发明的实现过程和有益效果。
以IWLS标准电路中的x4_orig电路为例,说明高关键度线网优先的布线方法。经过读取映射的网表文件和布局结果之后,得到该电路共有379条线网需要布线,以及这些线网的名称、源端和漏端的位置坐标。该电路共执行8次本发明布线迭代之后布线成功。
以第3次布线迭代为例,可以计算出关键路径延时是103.0ns,以及所有源端到漏端的延时裕量,比如线网c1_c,共有27个漏端,其源端到漏端1的延时裕量是68.6ns,到漏端2的延时裕量是68.5ns,等。据此可以计算出线网c1_c的源端到漏端1的连接关键度是 Crit ( i , j ) = 1 - slack ( i , j ) D max = 1 - 68.6 103.0 = 0.333 , 到漏端2的连接关键度是 Crit ( i , j ) = 1 - slack ( i , j ) D max = 1 - 68.5 103.0 = 0.335 , 以及其他线网所有源端到漏端的连接关键度。得到所有源端到漏端的连接关键度之后,可以计算出每一条线网的关键度,比如线网c1_c,其关键度为 Crit ( I ) = Σ j = 1 k Crit ( i , j ) k = 0.333 + 0.335 + . . . . . . 27 = 0.288 . 得到所有线网的关键度之后,将379条线网按照关键度的大小由大到小排序,依次进行布线。x4_orig电路经过8次布线迭代之后,解决了所有的布线资源拥挤和重用问题,布线成功。
由上述的说明可知,本发明FPGA芯片布线方法具有以下有益效果:
(1)本发明可以准确的衡量每条线网在整个FPGA芯片中的相对关键度;
(2)本发明FPGA芯片布线方法可以减少关键路径延时。
表1为本发明采用高关键度优先顺序与采用自然顺序进行FPGA芯片布线的关键路径延时的对比结果。表1中,从IWLS标准电路中选取了10个电路对高关键度优先顺序布线进行测试,并将其结果与自然顺序布线结果进行对比。测试过程中,FPGA CAD流程中的综合、映射、布局布线都是针对已经完成流片验证的辐射加固SOI工艺的FPGA芯片VS1000的架构。从表1可以看出,高关键度优先的布线顺序的关键路径延时大为减少,平均优化率达到22.3%。
表1  关键路径延时的对比结果。
(3)表2为本发明采用高关键度优先顺序与采用自然顺序进行FPGA芯片布线的布线资源利用率对比结果。如表2所示,与自然顺序布线结果相比,高关键度优先布线顺序并没有影响布线结果的布线资源利用率。
表2  布线资源利用率对比结果
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种FPGA芯片布线方法,其特征在于,包括:
步骤A,读取上一次的FPGA芯片布线结果;
步骤B,由所述上一次的布线结果获取关键路径延时Dmax和各源端i到漏端j之间的延时裕量slack(i,j);
步骤C,由所述关键路径延时Dmax和各源端i到漏端j间的延时裕量slack(i,j),由以下公式获取每条线网的源端i到其所有漏端j的连接关键度Crit(i,j):
Crit ( i , j ) = 1 - slack ( i , j ) D max ;
步骤D,由每条线网的源端i到其所有漏端j的连接关键度Crit(i,j),由以下公式获取每条线网的关键度Crit(I):
其中,k为线网中漏端的数量;
步骤E,根据线网关键度由大至小的顺序对FPGA芯片中的线网进行排序;
步骤F,根据排好的线网顺序,依次对FPGA芯片中的线网进行布线,获取布线结果。
2.根据权利要求1所述的FPGA芯片布线方法,其特征在于,所述由上一次的布线结果获取关键路径延时Dmax和各源端i到漏端j之间的延时裕量slack(i,j)的步骤中,
所述关键路径为延时裕量为0的路径;
所述各源端i到漏端j之间的延时裕量slack(i,j)由所述上一次的布线结果经过时序分析获取。
3.根据权利要求1所述的FPGA芯片布线方法,其特征在于,所述获取布线结果的步骤之后还包括:
步骤G,判断该布线结果是否存在FPGA芯片中布线资源拥挤和重用问题,如果不存在,则输出该布线结果,否则,增加布线资源成本,以所述该布线结果作为步骤A中的所述上一次的FPGA芯片布线结果,重新执行步骤A至步骤F。
4.根据权利要求1至3中任一项所述的FPGA芯片布线方法,其特征在于,所述读取上一次的FPGA芯片的布线结果的步骤之前包括:
以最小延时为目的进行FPGA芯片布线。
5.根据权利要求4所述的FPGA芯片布线方法,其特征在于,所述以最小延时为目的进行FPGA芯片布线之前还包括:
读取映射的网表文件和布局结果;
获取所述FPGA芯片中线网的数目、名称、源端和漏端的位置坐标。
CN201110379987.9A 2011-11-25 2011-11-25 Fpga芯片布线方法 Expired - Fee Related CN103136386B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110379987.9A CN103136386B (zh) 2011-11-25 2011-11-25 Fpga芯片布线方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110379987.9A CN103136386B (zh) 2011-11-25 2011-11-25 Fpga芯片布线方法

Publications (2)

Publication Number Publication Date
CN103136386A CN103136386A (zh) 2013-06-05
CN103136386B true CN103136386B (zh) 2015-05-20

Family

ID=48496210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110379987.9A Expired - Fee Related CN103136386B (zh) 2011-11-25 2011-11-25 Fpga芯片布线方法

Country Status (1)

Country Link
CN (1) CN103136386B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104679529B (zh) * 2013-11-26 2018-01-09 京微雅格(北京)科技有限公司 Fpga芯片时钟线网的布局方法
CN105117513B (zh) * 2015-07-24 2018-08-07 北京空间机电研究所 一种fpga布局布线延时特性测试方法
CN106709119B (zh) * 2015-11-18 2021-05-07 京微雅格(北京)科技有限公司 一种fpga芯片布线方法
CN106777425A (zh) * 2015-11-20 2017-05-31 北京华大九天软件有限公司 一种等宽三段式45度拐弯连接布线方法
CN106445880B (zh) * 2016-09-06 2019-07-30 京微齐力(北京)科技有限公司 一种加速布线方法
CN106682306B (zh) * 2016-12-26 2020-07-07 西安电子科技大学 一种快速fpga布线方法
CN109710981B (zh) * 2018-02-27 2021-02-02 上海安路信息科技有限公司 Fpga的布线方法及系统
CN111709205B (zh) * 2020-05-29 2023-05-16 成都华微电子科技股份有限公司 Fpga布线方法
CN114861579B (zh) * 2022-05-25 2024-07-12 上海安路信息科技股份有限公司 集成电路中时序瓶颈节点分析和时序优化方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1360268A (zh) * 2002-01-15 2002-07-24 清华大学 基于关键网络技术优化时延的标准单元总体布线方法
CN1776693A (zh) * 2005-12-01 2006-05-24 复旦大学 通用现场可编程门阵列布局布线模型

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1360268A (zh) * 2002-01-15 2002-07-24 清华大学 基于关键网络技术优化时延的标准单元总体布线方法
CN1776693A (zh) * 2005-12-01 2006-05-24 复旦大学 通用现场可编程门阵列布局布线模型

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Architecture-Specific Mapping Tool for SOI-Based FPGA;Zhang Qianli,et,al;《Micro Nano Devices, Structure and Computing Systems》;20101206;第159卷;第438-443页 *
一种基于线网关键性判别的FPGA总体布线算法;郑艳;《万方数据企业知识服务平台》;20110818;第1页 *

Also Published As

Publication number Publication date
CN103136386A (zh) 2013-06-05

Similar Documents

Publication Publication Date Title
CN103136386B (zh) Fpga芯片布线方法
CN102768692B (zh) 应用于fpga测试的导航布局布线方法
CN104268078B (zh) 一种基于参数化ip测试用例集合的芯片自动化验证方法
Cota et al. Reusing an on-chip network for the test of core-based systems
CN103678745B (zh) 一种用于fpga的跨平台多层次集成设计系统
CN105956302B (zh) 一种可配置的抗辐射芯片前端网表自动生成方法
CN106682370B (zh) 一种仿真验证系统
CN106156424B (zh) 一种仿真系统
CN104253723B (zh) 基于软硬件协同实现的交换机验证测试的方法及装置
CN103294600B (zh) 基于Perl的EDIF网表级电路的自动可测性设计系统的自动可测性设计方法
KR20140063736A (ko) 최소 스토리지를 활용한 플렉시블 링크 폭들을 갖는 라우터에서 크레딧 흐름 제어 방식
CN107566204B (zh) 激励报文产生控制方法、装置及逻辑检测设备
JP7097587B2 (ja) 部品記号の極性記号検出方法、システム、コンピュータで読取可能な記憶媒体及びデバイス
CN104679628A (zh) 一种现场可编程门阵列的测试方法
CN101042424B (zh) 一种检测专用集成电路的方法及装置
CN109669363A (zh) 一种基于状态行为树的自动化仿真测试优化方法
CN106844900B (zh) 电磁暂态仿真系统的搭设方法
Evans et al. Riif-reliability information interchange format
CN105577432A (zh) 一种基于关联分析的网络丢包概率预测方法
CN102446557A (zh) 一种芯片和一种芯片并行测试的方法
CN116933702A (zh) 一种验证方法、装置、电子设备及可读存储介质
CN109426671A (zh) 一种边界扫描链的生成方法及装置、计算机可读存储介质
CN104424379A (zh) 验证部分良好的电压岛结构
CN107562557A (zh) 基于可满足模理论的故障树的验证、求解系统及其方法
Gharan et al. Flexible simulation and modeling for 2D topology NoC system design

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20170519

Address after: 100029 Beijing city Chaoyang District Beitucheng West Road No. 3

Patentee after: Beijing Zhongke micro Investment Management Co.,Ltd.

Address before: 100029 Beijing city Chaoyang District Beitucheng West Road No. 3

Patentee before: Institute of Microelectronics of the Chinese Academy of Sciences

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170605

Address after: 100097 Beijing city Haidian District landianchang Road No. 2 Jin Yuan times business center C block 2D

Patentee after: Beijing micro Star Technology Co.,Ltd.

Address before: 100029 Beijing city Chaoyang District Beitucheng West Road No. 3

Patentee before: Beijing Zhongke micro Investment Management Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150520

Termination date: 20191125

CF01 Termination of patent right due to non-payment of annual fee