WO2021169303A1 - 一种优化时分复用技术的多阶段fpga布线方法 - Google Patents

一种优化时分复用技术的多阶段fpga布线方法 Download PDF

Info

Publication number
WO2021169303A1
WO2021169303A1 PCT/CN2020/119328 CN2020119328W WO2021169303A1 WO 2021169303 A1 WO2021169303 A1 WO 2021169303A1 CN 2020119328 W CN2020119328 W CN 2020119328W WO 2021169303 A1 WO2021169303 A1 WO 2021169303A1
Authority
WO
WIPO (PCT)
Prior art keywords
fpga
connection pair
current
group
wiring
Prior art date
Application number
PCT/CN2020/119328
Other languages
English (en)
French (fr)
Inventor
郭文忠
庄震
刘耿耿
黄兴
陈国龙
Original Assignee
福州大学
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 福州大学 filed Critical 福州大学
Priority to US17/776,246 priority Critical patent/US20220398373A1/en
Publication of WO2021169303A1 publication Critical patent/WO2021169303A1/zh

Links

Images

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/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • G06F30/347Physical level, e.g. placement or routing
    • 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/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Definitions

  • the present invention adopts the time division multiplexing ratio distribution method, which can effectively optimize the signal delay optimization between FPGA chips;
  • FIG. 5 is an overall flowchart of key SCP optimization in an embodiment of the present invention.
  • the present invention provides a multi-stage FPGA wiring method for optimizing time division multiplexing technology, including the following steps:
  • the wiring topology generation includes five steps; the first step preprocesses the wire nets to sort all the wire nets, and the second step to the five steps cyclically perform the entire wire net set Processing, each loop connects the FPGA of one wire net until all wire nets determine the wiring topology.
  • the second step based on the FPGA connection pair collection and FPGA collection in the input data, establish the wiring diagram of the current network, mark the FPGA that needs to be connected, and mark the cost of each FPGA connection pair.
  • the cost of each FPGA connection pair is initialized to 1 before the first loop, and it is updated every time the wiring of a net is completed.
  • the update method is shown in the fifth step.
  • the fourth step Record the wiring topology of the current network.
  • this embodiment provides a weight ratio calculation method; for each edge e j,k , the weight ratio calculation method is as follows:
  • the second step calculate the weight ratio pct j,k of each edge e j,k using the current FPGA connection pair according to formula (6).
  • the sixth step update the remain to record the error in the calculation of the fifth step.
  • the update formula for remain is as follows:
  • the first step of TR reduction select the standard TR (statictr).
  • the conditions selected in this embodiment are: if the difference between the second largest wire net group TR and the largest wire net group TR is greater than a threshold, the standard value is the second largest wire net group TR; if the difference is not greater than the threshold, then the standard value It is the difference between the maximum net group TR and the threshold.
  • the selection of the threshold can be set according to the actual situation. It should be noted that the selection of the threshold determines the degree of optimization in each iteration.
  • the third step of TR reduction For all edges of all nets in the current net group, calculate the parameter curLimit of each edge and update the totalLimit. curLimit represents the value by which TR can be reduced for each edge. For each edge e j,k , the calculation method is as follows:
  • curLimit j,k mngtr j -mngtr o (11)
  • the fourth step of TR reduction Before this step is executed, first determine whether totalLimit is 0. If totalLimit is 0, skip the subsequent processing steps for the network group; otherwise, continue to perform this step. This step calculates the value totalReduce by which the TR of the current network group actually needs to be reduced. The calculation method is shown in Figure 6.
  • the second step of edge legalization Calculate the sum totalpct of the reciprocal TRs of all the edges of the current FPGA connection and determine whether the totalpct is less than or equal to 1. If totalpct is less than or equal to 1, the FPGA connection pair meets the TR constraint, and then skips the processing of the current FPGA connection pair; otherwise, the FPGA connection pair does not meet the TR constraint, and subsequent legalization processing is required, and the following is continued step.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

一种优化时分复用技术的多阶段FPGA布线方法,包括以下步骤:步骤S1:采集FPGA集合、FPGA连接对集合、线网集合和线网组集合;步骤S2:根据FPGA集合、FPGA连接对集合、线网集合和线网组集合,在未分配TR的情况下获取线网的布线拓扑;步骤S3:根据每个线网组的时延情况的不同,为每个线网的每条边分配对应的TR;步骤S4:循环进行TR缩减和边合法化,迭代优化TR值大于预设值的线网组,直到满足迭代终止的条件时,得到最优布线方案。该方法可以优化多FPGA原型系统的片间信号延迟和可布线性问题。

Description

一种优化时分复用技术的多阶段FPGA布线方法 技术领域
本发明属于集成电路计算机辅助设计技术领域,具体涉及一种优化时分复用技术的多阶段FPGA布线方法。
背景技术
逻辑验证是先进纳米制程下一种重要的步骤。在片上系统的设计过程中,据估计专用集成电路(ASIC)设计60%到80%的时间花费在验证过程中。软件仿真和硬件仿真是两种常见的逻辑验证方法,但是,软件仿真需要花费大量的时间和代价对每个逻辑门进行模拟,硬件仿真的实施代价较大。随着集成电路制程的不断发展,芯片的规模越来越大,上述两种逻辑验证方法的缺点越来越明显。
技术问题
近年来,现场可编程逻辑门阵列(FPGA)被广泛地应用于多种领域,包括机器学习、云计算和原型系统。FPGA原型系统使得逻辑验证比传统的方法更加便宜快捷。因此,FPGA原型系统已经被广泛地使用于工业界。尽管FPGA的芯片规模在不断增长,但是整个原型系统依然难以放到一个FPGA中。因此,FPGA原型系统通常由多个FPGA组成,多个FPGA相互连接构成了整个多FPGA原型系统。
为了通过多FPGA原型系统实现一个芯片设计的逻辑验证,一个完整的电路首先被划分为多个子电路,并且每个子电路被放置在一个FPGA中。由于FPGA引脚的数量通常超过了FPGA片间信号的数量,所以需要使用时分复用技术在一个系统时钟周期(SCP)内同时传输多个片间信号。这样能够提高整个系统的可布线性,但是片间信号的延迟被增大。时分复用技术的优化问题是多FPGA原型系统设计中的一个重要问题。
技术解决方案
有鉴于此,本发明的目的在于提供一种优化时分复用技术的多阶段FPGA布线方法,用以解决时分复用技术的优化问题。
为实现上述目的,本发明采用如下技术方案:
一种优化时分复用技术的多阶段FPGA布线方法,包括以下步骤:
步骤S1:采集FPGA集合、FPGA连接对集合、线网集合和线网组集合;
步骤S2:根据FPGA集合、FPGA连接对集合、线网集合和线网组集合,在未分配TR的情况下获取线网的布线拓扑;
步骤S3:根据每个线网组的时延情况的不同,为每个线网的每条边分配对应的TR;
步骤S4:循环进行TR缩减和边合法化,迭代优化TR值大于预设值的线网组,直到满足迭代终止的条件时,得到最优布线方案。
进一步的,所述步骤S2具体为:
步骤S21:对线网进行预处理,将所有线网基于预设标准进行排序;
步骤S22:基于输入数据中的FPGA连接对集合和FPGA集合建立当前线网的布线图,标记出需要连接的FPGA,并标记出每个FPGA连接对的代价;
步骤S23:基于建立的当前线网的布线图,采用近似斯坦纳树算法完成当前线网的布线,构造一棵斯坦纳树连接需要连接的FPGA;
步骤S24:记录当前线网的布线拓扑;
步骤S25:更新每个FPGA连接对的代价,即被当前线网选中的用来连接FPGA的FPGA连接对的代价加1;
步骤S26:循环步骤S22-S25直至完成所有线网连接,得到线网的布线拓扑。
进一步的,所述预设标准具体为:所有线网组按照线网的数量从大到小排序;对于每个线网组,所有线网按照FPGA的数量从大到小排序。
进一步的,所述步骤S3具体为:
步骤S31:预处理每个线网组,计算出为每条边分配TR需要的每个线网组ng j,m的边的数量ngec j,m
步骤S32:计算出使用了当前FPGA连接对的每条边e j,k的权重比pct j,k
步骤S33:根据步骤S32计算的权重比,将所有边按照权重比从小到大排序;
步骤S34:初始化参数remain为0;
步骤S35:计算当前边的TR;
步骤S36:更新remain;
步骤S37:记录当前边的TR;
步骤S38:循环步骤S35-S37,直至处理完所有边;
步骤S39:循环步骤S32-步骤S38,直至处理完所有连接对,完成TR分配。
进一步的,所述步骤S32具体为:
对于每条边e j,k,权重比计算方法如下:
Figure PCTCN2020119328-appb-000001
ngmec j,k={x|x=max(ngec j,1,L,ngec j,β)}
其中,ng j,m是ngl j中第m个线网组,ngec j,m是线网组ng j,m的边的数量,ngmec j,k是边e j,k的最大的线网组边数,β是ngl j中线网组的数量,pct j,k即为权重比。
进一步的,所述步骤S35具体为:每条边etr j,k的TR的实际计算方法如下:
Figure PCTCN2020119328-appb-000002
进一步的,所述步骤S36具体为:remain的更新公式如下所示:
remain=pct j,k+remain-1/etr j,k
进一步的,所述TR缩减具体为:
(1)选出标准TR statictr
(2)在该步骤执行之前,先判断当前线网组的TRngtr i是否小于等于标准TR statictr;若TRngtr i小于等于TR statictr,则跳过当前线网组的处理;反之,继续执行该步骤,其中该步骤初始化参数totalLimit为0,totalLimit表示当前线网组的TR可被缩减的数值;
(3)对于当前线网组中所有线网的所有边,计算每条边的参数curLimit并更新totalLimit,其中curLimit表示每条边TR可被缩减的数值;
(4)在该步骤执行前,先判断totalLimit是否为0。若totalLimit为0,则跳过对该线网组的后续处理步骤;反之,则计算出当前线网组的TR实际需要被缩减的数值totalReduce;
(5)减少每条边的TR并更新包含该边的线网组的TR;
(6)循环(2)-(5),直至处理完所有线网组。
进一步的,所述边合法化,具体为:
(1)在合法化每个FPGA连接对之前先计算出当前最大线网组TR ngmtr
(2)计算当前FPGA连接对所有边的TR倒数之和totalpct并判断totalpct是否小于等于1;若totalpct小于等于1,则该FPGA连接对满足TR约束,然后跳过对当前FPGA连接对的处理;反之,则该FPGA连接对不满足TR约束,需要进行后续的合法化处理,继续执行下面的步骤;
(3)在不增加最大线网组TR ngmtr的前提下增加各边的TR,并更新当前FPGA连接对的totalpct;若totalpct小于等于1,则该FPGA连接对满足TR约束,然后跳过对当前FPGA连接对的处理;反之,则该FPGA连接对不满足TR约束,需要进行后续的合法化处理,继续执行下面的步骤;
(4)每条边的TR累加2直到该边的TR倒数在机器精度的范围内增加;
(5)更新当前FPGA连接对的totalpct;若totalpct小于等于1,则该FPGA连接对满足TR约束,然后跳过对当前FPGA连接对的处理;反之,则该FPGA连接对不满足TR约束,返回(4)直到该FPGA连接对满足TR约束,即totalpct小于等于1;
(6)循环(2)-(5),直至处理完所有连接对。
有益效果
本发明与现有技术相比具有以下有益效果:
1.本发明采用时分复用比值分配方法,可以有效的优化FPGA片间信号延迟优化;
2.本发明采用了系统时钟周期优化方法,可以有效的优化严重的片间信号延迟。
3.本发明构建的初始布线框架,能够用于有效解决FPGA原型系统的可布线性问题。
附图说明
图1是本发明一实施例中时分复用技术示意图
图2是本发明布线方法总体流程图
图3是本发明一实施例中布线拓扑生成流程图
图4是本发明一实施例中TR分配流程图
图5是本发明一实施例中关键SCP优化总体流程图
图6是本发明一实施例中TR缩减流程图
图7是本发明一实施例中边合法化流程图。
本发明的最佳实施方式
下面结合附图及实施例对本发明做进一步说明。
请参照图2,本发明提供一种优化时分复用技术的多阶段FPGA布线方法,包括以下步骤:
步骤S1:采集FPGA集合、FPGA连接对集合、线网集合和线网组集合;
步骤S2:根据FPGA集合、FPGA连接对集合、线网集合和线网组集合,在未分配TR的情况下获取线网的布线拓扑;
步骤S3:根据每个线网组的时延情况的不同,为每个线网的每条边分配对应的TR;
步骤S4:循环进行TR缩减和边合法化,迭代优化TR值大于预设值的线网组,直到满足迭代终止的条件时,得到最优布线方案。
在本实施例中,时分复用技术如图1所示,在每条金属线中,每个SCP只能传输一个信号。通过使用时分复用技术,可以让多个信号在一个SCP的时间内分时传输。图1给出了在两个FPGA之间使用时分复用技术的一个简单示意图。其中,大方框表示FPGA,方框中的矩形表示两个FPGA中需要连接在一起的组件。组件间的粗线段表示两个组件之间唯一的金属线。在图1中,不同的线段分别表示三个不同的信号。通过使用时分复用技术,三个信号可以使用一个金属线在一个SCP内分时传输。SCP的使用情况如图中的波形所示,不同的线段代表不同的信号。
在本实施中,片间FPGA布线问题模型具体为:给定一个线网集合N由双FPGA线网或多FPGA线网组成。给定一个线网组集合NG,每个线网组ng i∈NG。给定一个FPGA连接对集合P,每个FPGA连接对p k连接两个FPGA。给定一个FPGA集合F,每两个FPGA之间至多有一个FPGA连接对。每个线网n j可能属于不同的线网组,该线网组子集有
Figure PCTCN2020119328-appb-000003
片间FPGA布线问题的基本要求是将每个线网的所有FPGA通过FPGA连接对连接在一起。除此之外,还需要对每个线网n j使用的每个FPGA连接对p k产生的边e j,k赋值TR。根据现实问题的要求,TR需要满足下述要求:
Figure PCTCN2020119328-appb-000004
etr j,k∈{x|x=2×y,y∈N *,2≤x≤4294967296}  (2)
其中,etr j,k是边e j,k的TR值,el k是使用了FPGA连接对p k的边的集合。出于复用硬连线的实施要求,TR必须是偶数。
系统时钟周期是从源点到汇点的抵达时间。当一个线网使用了一个FPGA连接对,对该连接对赋予的TR即为该边的系统时钟周期。最大系统时钟周期是对系统延迟具有重要影响的一个衡量标准。由于线网组的存在,具有最大系统时钟周期的线网组决定了整个系统的延迟。同时,因为TR反映了系统时钟周期的大小,因此本发明的优化目标为最小化线网组最大TR。
每个线网n j和每个线网组ng i的TR定义如下:
Figure PCTCN2020119328-appb-000005
Figure PCTCN2020119328-appb-000006
其中,el j是属于线网n j的边的集合,nl i是属于线网组ng i的线网的集合,ntr j是线网n j的TR,ngtr i是线网组ng i的TR。
故,本发明的优化目标定义如下:
Minimize:ngmtr={x|x=max(ngtr 1,L,ngtr α)} (5)
其中,α是所有线网组的数量,ngmtr是线网组最大TR。
在本实施例中,如图3所示,布线拓扑生成,包括五个步骤;第一个步骤预处理线网对所有线网排序,第二个步骤到五个步骤循环对整个线网集合进行处理,每次循环连接一个线网的FPGA直到所有线网确定布线拓扑。
第一个步骤:在对每个线网布线之前,所有线网基于两种标准进行排序。首先,所有线网组按照线网的数量从大到小排序,因为线网数量较多的线网组容易产生严重的延迟问题。其次,对于每个线网组,所有线网按照FPGA的数量从大到小排序,因为FPGA数量较多的线网布线较难。最后,所有线网按照顺序提取出来。
第二个步骤:基于输入数据中的FPGA连接对集合和FPGA集合建立当前线网的布线图,标记出需要连接的FPGA,并标记出每个FPGA连接对的代价。每个FPGA连接对的代价在第一次循环之前被初始化为1,每完成一个线网的布线后更新一次,更新方式如第五个步骤所示。
第三个步骤:基于建立的当前线网的布线图,使用一种快速的近似斯坦纳树算法(K.Mehlhorn,“A faster approximation algorithm for the Steiner problem in graphs,”Information Processing Letters,vol.27,no.3,pp.125-128,1988.)完成当 前线网的布线,构造一棵斯坦纳树连接需要连接的FPGA。需要注意的是,任何斯坦纳树算法都可以应用于该发明设计的布线器中,增加了布线器的灵活性。
第四个步骤:记录当前线网的布线拓扑。
第五个步骤:更新每个FPGA连接对的代价,即被当前线网选中的用来连接FPGA的FPGA连接对的代价加1。
在本实施例中,设计一种有效的TR分配方法,对每个线网的每条边合理地分配TR。该TR分配方法的流程图如图4所示,共包括7个步骤。第二个步骤到第七个步骤循环处理整个FPGA连接对集合,每次循环为使用了当前FPGA连接对的边分配TR直到所有FPGA连接对都被处理完。第五个步骤到第七个步骤循环处理使用了当前FPGA连接对的边集合,每次循环为当前的边分配TR直到所有边都被处理完。
为了给每个线网分配合适的TR,需要对每个FPGA连接对考虑TR约束条件。根据优化目标,每条边时延的严重程度与其所属的线网组有关。除此之外,时延的严重程度也与线网组的边的数量有关。综上所述,本实施例给出了一种权重比计算方法;对于每条边e j,k,权重比计算方法如下:
Figure PCTCN2020119328-appb-000007
ngmec j,k={x|x=max(ngec j,1,L,ngec j,β)} (7)
其中,ng j,m是ngl j中第m个线网组,ngec j,m是线网组ng j,m的边的数量,ngmec j,k是边e j,k的最大的线网组边数,β是ngl j中线网组的数量,pct j,k即为权重比。基于该权重比,该边的TR计算方法如下:
Figure PCTCN2020119328-appb-000008
第一个步骤:预处理每个线网组,计算出为每条边分配TR需要的每个线网组ng j,m的边的数量ngec j,m
第二个步骤:按照公式(6)计算出使用了当前FPGA连接对的每条边e j,k的权重比pct j,k
第三个步骤:将使用了当前FPGA连接对的所有边按照权重比从小到大排序。
第四个步骤:初始化参数remain为0。由于机器的精度有限,在计算TR的过程中需要考虑由此造成的误差。remain是每次循环之前的计算所产生的总误差。
第五个步骤:计算当前边的TR。由于机器的精度有限,因此,每条边etr j,k的TR的实际计算方法如下:
Figure PCTCN2020119328-appb-000009
第六个步骤:更新remain以记录第五个步骤的计算中存在的误差。remain的更新公式如下所示:
remain=pct j,k+remain-1/etr j,k (10)
第七个步骤:记录当前边的TR。
在本实施例中,在TR分配阶段,每条边被分配了初始TR。由于时延的估计标准是线网组的边数且这种估计方法并不与实际情况完全一致,所以TR需要被进一步优化。优化最大线网组TR方法流程图如图5所示,该流程包含连个步骤,依次是TR缩减步骤和边合法化步骤。该流程的两个步骤循环执行直到满足结束条件。本实施例中给出了三个终止条件:迭代次数不能超过10次;运行时间不能超过1000秒;需要优化的线网组的数量不能超过总数的一半。需要注意的是,终止条件可以根据用户实际需要做出任意调整。
关键SCP优化第一个步骤的流程,即TR缩减步骤的流程,如图6所示。该流程包含五个步骤,第二个步骤到第五个步骤循环处理整个线网组集合,每次循环缩减当前线网组的TR直到所有线网组处理完毕。
TR缩减第一个步骤:选出标准TR(statictr)。本实施例中选择的条件有:如果次大线网组TR与最大线网组TR的差值大于一个阈值,则标准值为次大线网组TR;如果差值不大于阈值,则标准值为最大线网组TR与阈值的差值。阈值的选取可以根据实际情况进行设定。需要注意的是,阈值的选取确定了每次迭代优化的程度。
TR缩减第二个步骤:在该步骤执行之前,先判断当前线网组的TR(ngtr i)是否小于等于标准TR(statictr)。若ngtr i小于等于statictr,则跳过当前线网组的处理;反之,继续执行该步骤。该步骤初始化参数totalLimit为0。totalLimit表示当前线网组的TR可被缩减的数值。
TR缩减第三个步骤:对于当前线网组中所有线网的所有边,计算每条边的参数curLimit并更新totalLimit。curLimit表示每条边TR可被缩减的数值。对于每条边e j,k,其计算方法如下:
curLimit j,k=mngtr j-mngtr o  (11)
其中,mng j是ngl j中具有最大TR的线网组,mngtr j是mng j的TR,mngtr o是与e j,k使用相同FPGA连接对的边e o,k的线网组mng o的TR,etr o,k的值在该连接对中大于etr j,k且与etr j,k的差值最小。
TR缩减第四个步骤:在该步骤执行前,先判断totalLimit是否为0。若totalLimit为0,则跳过对该线网组的后续处理步骤;反之,则继续执行该步骤。该步骤计算出当前线网组的TR实际需要被缩减的数值totalReduce,计算方法如图6所示。
TR缩减第五个步骤:减少每条边的TR并更新包含该边的线网组的TR。每条边的TR更新公式如下所示:
etr j,k=etr j,k-curLimit j,k×totalReduce/totalLimit  (12)
关键SCP优化第二个步骤的流程,即边合法化步骤的流程,如图7所示。该流程用以保证TR缩减流程的结果能满足TR约束条件。不同于TR缩减流程,该流程的处理过程针对每个FPGA连接对,而不是每个线网组。边合法化流程共包括五个步骤。第二个步骤到第五个步骤循环处理整个FPGA连接对集合,每次循环将当前FPGA连接对合法化直到所有FPGA连接对处理完毕。
边合法化第一个步骤:在合法化每个FPGA连接对之前先计算出当前最大线网组TR(ngmtr)。
边合法化第二个步骤:计算当前FPGA连接对所有边的TR倒数之和totalpct并判断totalpct是否小于等于1。若totalpct小于等于1,则该FPGA连接对满足TR约束,然后跳过对当前FPGA连接对的处理;反之,则该FPGA连接对不满足TR约束,需要进行后续的合法化处理,继续执行下面的步骤。
边合法化第三个步骤:在不增加最大线网组TR的前提下增加各边的TR,并更新当前FPGA连接对的totalpct。若totalpct小于等于1,则该FPGA连接对满足TR约束,然后跳过对当前FPGA连接对的处理;反之,则该FPGA连接对不满足TR约束,需要进行后续的合法化处理,继续执行下面的步骤。
边合法化第四个步骤:每条边的TR累加2直到该边的TR倒数在机器精度的范围内增加。
边合法化第五个步骤:更新当前FPGA连接对的totalpct。若totalpct小于等于1,则该FPGA连接对满足TR约束,然后跳过对当前FPGA连接对的处理;反之,则该FPGA连接对不满足TR约束,返回边合法化第五个步骤直到该FPGA连接对满足TR约束,即totalpct小于等于1。
在本实施例中,根据本发明方法构建相应的一种优化时分复用技术的多阶段FPGA布线器。优选的,为了进一步提高布线器的运行效率,布线器的两个步骤可进行多线程并行。第一个步骤是布线拓扑生成。由于每个线网之间存在一定的独立性,图3所示流程第二个步骤到第五个步骤的循环可以进行多线程并行。但是,该流程的第五个步骤需要在竞争资源时加锁避免发生错误。第二个步骤是TR分配。图4所示流程第二个步骤到第七个步骤的循环可以进行多 线程并行。基于该布线器的方法,每个FPGA连接对的处理是相互独立的,因此,每个FPGA连接对的处理是可以完全并行而不用加锁的。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (9)

  1. 一种优化时分复用技术的多阶段FPGA布线方法,其特征在于,包括以下步骤:
    步骤S1:采集FPGA集合、FPGA连接对集合、线网集合和线网组集合;
    步骤S2:根据FPGA集合、FPGA连接对集合、线网集合和线网组集合,在未分配TR的情况下获取线网的布线拓扑;
    步骤S3:根据每个线网组的时延情况的不同,为每个线网的每条边分配对应的TR;
    步骤S4:循环进行TR缩减和边合法化,迭代优化TR值大于预设值的线网组,直到满足迭代终止的条件时,得到最优布线方案。
  2. 根据权利要求1所述的一种优化时分复用技术的多阶段FPGA布线方法,其特征在于,所述步骤S2具体为:
    步骤S21:对线网进行预处理,将所有线网基于预设标准进行排序;
    步骤S22:基于输入数据中的FPGA连接对集合和FPGA集合建立当前线网的布线图,标记出需要连接的FPGA,并标记出每个FPGA连接对的代价;
    步骤S23:基于建立的当前线网的布线图,采用近似斯坦纳树算法完成当前线网的布线,构造一棵斯坦纳树连接需要连接的FPGA;
    步骤S24:记录当前线网的布线拓扑;
    步骤S25:更新每个FPGA连接对的代价,即被当前线网选中的用来连接FPGA的FPGA连接对的代价加1;
    步骤S26:循环步骤S22-S25直至完成所有线网连接,得到线网的布线拓扑。
  3. 根据权利要求2所述的一种优化时分复用技术的多阶段FPGA布线方法,其特征在于,所述预设标准具体为:所有线网组按照线网的数量从大到小排序;对于每个线网组,所有线网按照FPGA的数量从大到小排序。
  4. 根据权利要求1所述的一种优化时分复用技术的多阶段FPGA布线方法,其特征在于,所述步骤S3具体为:
    步骤S31:预处理每个线网组,计算出为每条边分配TR需要的每个线网组ng j,m的边的数量ngec j,m
    步骤S32:计算出使用了当前FPGA连接对的每条边e j,k的权重比pct j,k
    步骤S33:根据步骤S32计算的权重比,将所有边按照权重比从小到大排序;
    步骤S34:初始化参数remain为0;
    步骤S35:计算当前边的TR;
    步骤S36:更新remain;
    步骤S37:记录当前边的TR;
    步骤S38:循环步骤S35-S37,直至处理完所有边;
    步骤S39:循环步骤S32-步骤S38,直至处理完所有连接对,完成TR分配。
  5. 根据权利要求4所述的一种优化时分复用技术的多阶段FPGA布线方法,其特征在于,所述步骤S32具体为:
    对于每条边e j,k,权重比计算方法如下:
    Figure PCTCN2020119328-appb-100001
    ngmec j,k={x|x=max(ngec j,1,L,ngec j,β)}
    其中,ng j,m是ngl j中第m个线网组,ngec j,m是线网组ng j,m的边的数量,ngmec j,k是边e j,k的最大的线网组边数,β是ngl j中线网组的数量,pct j,k即为权重比。
  6. 根据权利要求4所述的一种优化时分复用技术的多阶段FPGA布线方法,其特征在于,所述步骤S35具体为:每条边etr j,k的TR的实际计算方法如下:
    Figure PCTCN2020119328-appb-100002
  7. 根据权利要求4所述的一种优化时分复用技术的多阶段FPGA布线方法,其特征在于,所述步骤S36具体为:remain的更新公式如下所示:
    remain=pct j,k+remain-1/etr j,k
  8. 根据权利要求1所述的一种优化时分复用技术的多阶段FPGA布线方法,其特征在于,所述TR缩减具体为:
    (1)选出标准TR statictr
    (2)在该步骤执行之前,先判断当前线网组的
    Figure PCTCN2020119328-appb-100003
    是否小于等于标准TR statictr;若
    Figure PCTCN2020119328-appb-100004
    小于等于TR statictr,则跳过当前线网组的处理;反之,继续执行该步骤,其中该步骤初始化参数totalLimit为0,totalLimit表示当前线网组的TR可被缩减的数值;
    (3)对于当前线网组中所有线网的所有边,计算每条边的参数curLimit并更新totalLimit,其中curLimit表示每条边TR可被缩减的数值;
    (4)在该步骤执行前,先判断totalLimit是否为0。若totalLimit为0,则跳过对该线网组的后续处理步骤;反之,则计算出当前线网组的TR实际需要被缩减的数值totalReduce;
    (5)减少每条边的TR并更新包含该边的线网组的TR;
    (6)循环(2)-(5),直至处理完所有线网组。
  9. 根据权利要求1所述的一种优化时分复用技术的多阶段FPGA布线方法,其特征在于,所述边合法化,具体为:
    (1)在合法化每个FPGA连接对之前先计算出当前最大线网组TR ngmtr
    (2)计算当前FPGA连接对所有边的TR倒数之和totalpct并判断totalpct是否小于等于1;若totalpct小于等于1,则该FPGA连接对满足TR约束,然后跳过对当前FPGA连接对的处理;反之,则该FPGA连接对不满足TR约束,需要进行后续的合法化处理,继续执行下面的步骤;
    (3)在不增加最大线网组TR ngmtr的前提下增加各边的TR,并更新当前FPGA连接对的totalpct;若totalpct小于等于1,则该FPGA连接对满足TR约束,然后跳过对当前FPGA连接对的处理;反之,则该FPGA连接对不满足TR约束,需要进行后续的合法化处理,继续执行下面的步骤;
    (4)每条边的TR累加2直到该边的TR倒数在机器精度的范围内增加;
    (5)更新当前FPGA连接对的totalpct;若totalpct小于等于1,则该FPGA连接对满足TR约束,然后跳过对当前FPGA连接对的处理;反之,则该FPGA连接对不满足TR约束,返回(4)直到该FPGA连接对满足TR约束,即totalpct小于等于1;
    (6)循环(2)-(5),直至处理完所有连接对。
PCT/CN2020/119328 2020-02-28 2020-09-30 一种优化时分复用技术的多阶段fpga布线方法 WO2021169303A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/776,246 US20220398373A1 (en) 2020-02-28 2020-09-30 Multi-stage fpga routing method for optimizing time division multiplexing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010126180.3 2020-02-28
CN202010126180.3A CN111310409B (zh) 2020-02-28 2020-02-28 一种优化时分复用技术的多阶段fpga布线方法

Publications (1)

Publication Number Publication Date
WO2021169303A1 true WO2021169303A1 (zh) 2021-09-02

Family

ID=71149369

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/119328 WO2021169303A1 (zh) 2020-02-28 2020-09-30 一种优化时分复用技术的多阶段fpga布线方法

Country Status (3)

Country Link
US (1) US20220398373A1 (zh)
CN (1) CN111310409B (zh)
WO (1) WO2021169303A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113723711A (zh) * 2021-09-29 2021-11-30 东南大学 一种全局布线中针对单元移动的位置预测方法
CN114880978A (zh) * 2022-05-07 2022-08-09 福州大学 基于时分复用技术的系统级fpga布线与优化方法
CN115496030A (zh) * 2022-11-15 2022-12-20 北京大学 可处理电学和几何约束的模拟电路布线自动化方法及系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111310409B (zh) * 2020-02-28 2022-04-08 福州大学 一种优化时分复用技术的多阶段fpga布线方法
CN112364590B (zh) * 2020-10-28 2022-08-09 福州大学 一种实用的逻辑验证架构级fpga布线器的构建方法
CN114595652B (zh) * 2022-05-10 2022-08-12 湖南泛联新安信息科技有限公司 一种用于硬件仿真平台的主频评估方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092060A (zh) * 2013-02-08 2013-05-08 西安电子科技大学 基于fpga的时间间隔测量系统与测量方法
CN106682306A (zh) * 2016-12-26 2017-05-17 西安电子科技大学 一种快速fpga布线方法
US20190057174A1 (en) * 2017-08-18 2019-02-21 Fujitsu Limited Timing error analysis method and information processing apparatus
CN109710981A (zh) * 2018-02-27 2019-05-03 上海安路信息科技有限公司 Fpga的布线方法及系统
CN110472340A (zh) * 2019-08-16 2019-11-19 中科亿海微电子科技(苏州)有限公司 一种布线结构的建模方法和装置
CN111310409A (zh) * 2020-02-28 2020-06-19 福州大学 一种优化时分复用技术的多阶段fpga布线方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007254B1 (en) * 2003-01-17 2006-02-28 Synplicity, Inc. Method and apparatus for the design and analysis of digital circuits with time division multiplexing
FR3009092B1 (fr) * 2013-07-26 2015-08-07 Flexras Technologies Procede automatise d'analyse d'une carte portant plusieurs composants de type fpga
CN103902774B (zh) * 2014-03-31 2017-01-25 福州大学 X结构下超大规模集成电路总体布线方法
CN106919769B (zh) * 2017-03-15 2020-04-10 冷明 一种基于多层次方法和赋权超图的层次式fpga布局布线方法
EP3625710A4 (en) * 2017-05-17 2021-06-02 Synopsys, Inc. PROCEDURE FOR COMPRESSING AN EMULATION TIMELINE IN THE PRESENCE OF DYNAMIC RE-PROGRAMMING OF WATCHES
GB2569274B (en) * 2017-10-20 2020-07-15 Graphcore Ltd Synchronization amongst processor tiles
CN108319762B (zh) * 2018-01-08 2021-07-06 无锡中微亿芯有限公司 一种基于时钟区域支持分段式可编程时钟网络结构
US11163530B2 (en) * 2018-01-12 2021-11-02 Intel Corporation Programmable-logic-directed multiplier mapping

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092060A (zh) * 2013-02-08 2013-05-08 西安电子科技大学 基于fpga的时间间隔测量系统与测量方法
CN106682306A (zh) * 2016-12-26 2017-05-17 西安电子科技大学 一种快速fpga布线方法
US20190057174A1 (en) * 2017-08-18 2019-02-21 Fujitsu Limited Timing error analysis method and information processing apparatus
CN109710981A (zh) * 2018-02-27 2019-05-03 上海安路信息科技有限公司 Fpga的布线方法及系统
CN110472340A (zh) * 2019-08-16 2019-11-19 中科亿海微电子科技(苏州)有限公司 一种布线结构的建模方法和装置
CN111310409A (zh) * 2020-02-28 2020-06-19 福州大学 一种优化时分复用技术的多阶段fpga布线方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113723711A (zh) * 2021-09-29 2021-11-30 东南大学 一种全局布线中针对单元移动的位置预测方法
CN113723711B (zh) * 2021-09-29 2022-10-28 东南大学 一种全局布线中针对单元移动的位置预测方法
CN114880978A (zh) * 2022-05-07 2022-08-09 福州大学 基于时分复用技术的系统级fpga布线与优化方法
CN115496030A (zh) * 2022-11-15 2022-12-20 北京大学 可处理电学和几何约束的模拟电路布线自动化方法及系统
CN115496030B (zh) * 2022-11-15 2023-01-24 北京大学 可处理电学和几何约束的模拟电路布线自动化方法及系统

Also Published As

Publication number Publication date
CN111310409B (zh) 2022-04-08
CN111310409A (zh) 2020-06-19
US20220398373A1 (en) 2022-12-15

Similar Documents

Publication Publication Date Title
WO2021169303A1 (zh) 一种优化时分复用技术的多阶段fpga布线方法
WO2022088395A1 (zh) 一种实用的逻辑验证架构级fpga布线器的构建方法
US6480991B1 (en) Timing-driven global placement based on geometry-aware timing budgets
Sahu et al. Application mapping onto mesh-based network-on-chip using discrete particle swarm optimization
CN106919769B (zh) 一种基于多层次方法和赋权超图的层次式fpga布局布线方法
CN111291525B (zh) 考虑总线和非总线线网的层分配方法
CN105205205B (zh) 基于网表位置信息最优划分的fpga粗粒度并行布线方法
CN1881224A (zh) 估计电路时钟树的抖动并合成抖动意识和偏差意识时钟树
Yeh et al. A probabilistic multicommodity-flow solution to circuit clustering problems
CN105574541A (zh) 一种基于紧密度排序的网络社区发现方法
CN115081587A (zh) 类脑计算机中脉冲神经网络在硬件上的运行部署方法
CN107528731B (zh) 应用于ns3并行仿真的网络分割优化算法
Zou et al. Time-division multiplexing based system-level FPGA routing for logic verification
US7984415B1 (en) Merging of equivalent logic blocks in a circuit design
Lai et al. An accurate and efficient performance analysis approach based on queuing model for network on chip
Shrestha et al. Graph representation learning for parasitic impedance prediction of the interconnect
Koh et al. Pre-layout clock tree estimation and optimization using artificial neural network
CN104360936B (zh) 一种基于触发操作的Barrier操作性能分析方法
Reshadi et al. Elixir: a new bandwidth-constrained mapping for networks-on-chip
Narayanasamy et al. Custom NoC topology generation using discrete antlion trapping mechanism
Seo et al. Synthesis for power-aware clock spines
Kumar et al. A support vector regression-based approach to predict the performance of 2d & 3d on-chip communication architectures
CN112100652A (zh) 一种基于马尔科夫链的跨地理分布轨迹聚类方法
Subbaraj et al. Parallel genetic algorithm for VLSI standard cell placement
Li et al. A fast and energy efficient branch and bound algorithm for NoC task mapping

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20922120

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20922120

Country of ref document: EP

Kind code of ref document: A1