• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    OpenPARF: 基于深度學(xué)習(xí)工具包的大規(guī)模異構(gòu)FPGA開源布局布線框架

    2023-10-17 01:14:56王嘉睿邸志雄林亦波北京大學(xué)計算機(jī)學(xué)院北京100871
    電子與信息學(xué)報 2023年9期
    關(guān)鍵詞:布線結(jié)點(diǎn)全局

    麥 景 王嘉睿 邸志雄 林亦波(北京大學(xué)計算機(jī)學(xué)院 北京 100871)

    ②(北京大學(xué)集成電路學(xué)院 北京 100871)

    ③(西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院 成都 611756)

    1 引言

    FPGA因其可編程性、高并行性以及低功耗得到了廣泛應(yīng)用[1]。然而,隨著現(xiàn)代FPGA規(guī)模的逐漸增大,F(xiàn)PGA設(shè)計工程師必須依靠FPGA計算機(jī)輔助設(shè)計(Computer Aided Design, CAD)工具來完成FPGA的設(shè)計。FPGA CAD的主要流程包括設(shè)計描述、邏輯綜合、工藝映射、物理實現(xiàn)和比特流生成[2]。其中,物理實現(xiàn)主要包括布局和布線等步驟,決定邏輯單元在FPGA上的位置以及連線之間的延遲。物理實現(xiàn)中的布線部分是FPGA CAD流程中用時最長的部分,占到整個流程的41%~86%[3]。因此,物理實現(xiàn)是決定最終電路性能的關(guān)鍵步驟,其質(zhì)量和效率直接影響FPGA CAD工具的競爭力。

    工業(yè)界主流的FPGA廠商,如Xilinx和Intel,采用自研的Vivado和Quartus FPGA CAD工具。這些工具均與FPGA廠商的硬件架構(gòu)強(qiáng)綁定,難以遷移到其他FPGA架構(gòu)。相較之下,開源FPGA CAD工具因其算法透明,方便2次開發(fā),成為FPGA設(shè)計工程師的另一個選擇。當(dāng)前學(xué)術(shù)界知名的開源FPGA CAD工具 VTR(Verilog-To-Routing)[4]能夠從Verilog網(wǎng)表生成FPGA布局布線的結(jié)果。然而,VTR使用的布局布線算法較為陳舊,仍然在采用基于模擬退火的算法,導(dǎo)致性能和效率無法滿足大規(guī)模FPGA設(shè)計的需求。此外,VTR簡化了布線架構(gòu),沒有考慮FPGA邏輯單元輸入輸出引腳的邏輯不等價性,無法適用于越來越復(fù)雜的FPGA架構(gòu)。

    本文提出一個開源的FPGA布局布線框架Open-PARF (Open-source Placement And Routing Framework)。OpenPARF支持在工業(yè)級FPGA架構(gòu)下讀入電路網(wǎng)表,生成布局布線結(jié)果。該框架基于深度學(xué)習(xí)工具包PyTorch實現(xiàn),通過底層C++/CUDA算子結(jié)合上層Python接口的方式,支持CPU平臺運(yùn)行和GPU加速,兼具Python的靈活性與C++/CUDA的高效性。在布局算法方面,本文采用了一種新型非對稱多靜電場系統(tǒng)和多層拉格朗日松弛方法,以處理FPGA布局問題中的復(fù)雜約束。在布線算法方面,本文面向現(xiàn)代FPGA的復(fù)雜布線架構(gòu),采用兩階段布線算法,支持FPGA邏輯單元各引腳邏輯不等價等靈活場景,可實現(xiàn)邏輯單元級別的布線。本文的主要貢獻(xiàn)總結(jié)如下:

    (1) 提出開源的FPGA布局布線框架Open-PARF。本框架支持在工業(yè)級FPGA架構(gòu)下讀入FPGA網(wǎng)表,并生成布局布線后的FPGA結(jié)果。

    (2) 提出一種基于新型非對稱多靜電場系統(tǒng)的FPGA布局算法,并通過多層拉格朗日松弛方法處理FPGA布局問題中的復(fù)雜約束。

    (3) 提出一種邏輯單元級別的FPGA布線算法,通過對FPGA布線資源的詳細(xì)建模和全局/詳細(xì)兩階段布線,支持邏輯單元引腳邏輯不等價等靈活場景,有效減少布線擁塞。

    (4) 與學(xué)術(shù)界最先進(jìn)的布局布線工具相比,Open-PARF可減少0.4%~12.7%的布線線長,并實現(xiàn)兩倍以上的布局效率提升。

    本文的組織結(jié)構(gòu)如下:第2節(jié)介紹FPGA的布局布線架構(gòu)和挑戰(zhàn);第3節(jié)回顧現(xiàn)有FPGA布局布線算法的優(yōu)劣;第4節(jié)詳細(xì)介紹OpenPARF算法框架;第5節(jié)通過實驗驗證框架的性能和效率;第6節(jié)對本文進(jìn)行總結(jié),并展望未來的研究方向。

    2 研究背景

    2.1 FPGA架構(gòu)簡介

    FPGA是一種可編程邏輯芯片,其邏輯電路結(jié)構(gòu)可以被動態(tài)配置,從而在實現(xiàn)不同的功能或應(yīng)用時提供更大的靈活性和可定制性。不同廠商制造的FPGA芯片架構(gòu)大體相同,局部硬件配置上有少許差異。圖1抽象出了FPGA的布局布線架構(gòu)的統(tǒng)一視角。FPGA布局布線架構(gòu)包括時鐘區(qū)域(Clock Region)、片(Tile)、片上位置(Site)以及基礎(chǔ)邏輯單元(Basic Element of Logic, BEL)。

    (1)BEL。BEL是FPGA架構(gòu)中基本組成單元。BEL可分為邏輯BEL和布線BEL兩種類型。邏輯BEL是表示FPGA邏輯功能的最小單元,如查找表(LookUp Table, LUT)和觸發(fā)器(Flip-Flop, FF)等。布線BEL是一種可編程的布線多選器,用于B E L 之間的連線布線。布線階段將由F P G A CAD工具配置布線BEL。

    (2)Site。Site的組成元素包括:(a) 一組關(guān)聯(lián)的BELs;(b) Site與外部的輸入輸出引腳(Site Pin);(c) Site內(nèi)部的BELs與Site Pins之間的連線。Site的主要類型包括CLB、數(shù)字信號處理單元(Digital Signal Processing, DSP)、塊存儲單元(Block RAM, BRAM)和用于接口的輸入/輸出塊(Input/Output block, IO)等。Site在FPGA版圖上呈2維排布,且同類型的Site成列分布。

    (3)Tile。Tile由Site以及交換框(Switch Box)組成。Switch Box在FPGA上呈陣列分布,是FPGA上最重要的布線中繼點(diǎn)。Swich Box的連線包括Tile內(nèi)部的Site與Switch Box之間連線和不同Tile的Switch Box之間的連線。CLB, DSP, BRAM等Site首先連接到同一個Tile中臨近的Switch Box,再通過橫向和縱向的互聯(lián)軌道連接到另一個Site。這些互聯(lián)軌道不僅可以連接相鄰的Tile,也可以跨Tile連接(跨Tile連接的互聯(lián)軌道稱為倍線)。

    (4)Clock Region。FPGA版圖被切分成若干個時鐘區(qū)域。每個時鐘區(qū)域進(jìn)一步被切分成時鐘半列(Half Column)。時鐘區(qū)域和時鐘半列內(nèi)的Tile共享一組有限的時鐘布線資源,如時鐘信號的種類不能超過一定數(shù)量。

    以上描述闡述了FPGA布局布線的層次結(jié)構(gòu)。在不同Site類型當(dāng)中,CLB數(shù)量最多、分布最廣。CLB可以按照配置邏輯分為SLICEL和SLICEM兩種異構(gòu)類型。以SLICEL為例,圖1右下角展示了Xilinx Ultrascale+系列[5]的簡化內(nèi)部構(gòu)造圖,其包括8個LUT, 16個FF, 2個時鐘信號(CLK0-CLK1),4個時鐘使能信號(CE0-CE3)以及2個置位-復(fù)位信號(SR0-SR1)等。根據(jù)BEL和時鐘控制信號的組合關(guān)系,C L B 進(jìn)一步被劃分成8 組B E L 的組合(Group),每組包括1個LUT以及2個相鄰的FF,組合{0,1,2,3}與組合{4,5,6,7}分別被稱為半CLB。SLICEM在SLICEL的基礎(chǔ)上,增加了額外的邏輯信號,因此除了可被配置為具有邏輯功能的LUT邏輯單元外,還能被配置為具有存儲功能的分布存儲單元(Distributed RAM, DiRAM)和移位寄存器(SHIFT register, SHIFT)。

    圖1右下角以UltraScale VU095為例描述了CLB內(nèi)的信號線。具體而言,(1)半CLB中FF的CLK信號和SR信號相同;(2)半CLB中FF0的CE信號相同,同時半CLB中FF1的CE信號也相同;(3)如果網(wǎng)表內(nèi)有LUT邏輯單元的輸出信號直接連接到FF上,那么LUT邏輯單元和FF打包在同一個組合內(nèi),可以有效減少路由線長。

    2.2 FPGA布局布線挑戰(zhàn)

    FPGA高度異構(gòu)的芯片架構(gòu)極大增加了FPGA布局布線的難度。從上述FPGA的芯片架構(gòu)層次劃分可以總結(jié)出以下FPGA布局布線挑戰(zhàn)。

    邏輯單元打包(Packing)規(guī)則復(fù)雜。打包指的是依次將LUT和FF打包為組合、半CLB和CLB,從而最大化可用的物理資源,減少邏輯單元之間的延遲。邏輯單元打包需要遵守組合內(nèi)、半CLB和CLB內(nèi)的信號線連接約束[6]。例如,能否將LUT和FF打包到一個CLB取決于LUT和FF之間的連接關(guān)系,以及時鐘控制信號與FF的連接關(guān)系。

    資源異構(gòu)性高。FPGA Site具有多種類型,包括CLB, DSP, BRAM和IO等。這些類型在FPGA的版圖上分布不均,在空間上離散,導(dǎo)致在芯片設(shè)計階段期望的邏輯單元空間分布在物理實現(xiàn)時難以保證。例如,深度學(xué)習(xí)加速器中常用的脈動陣列是一個由處理單元組成的2維陣列,每個處理單元一般需要使用DSP資源。然而,由于DSP資源在FPGA上成列分布,在實現(xiàn)時難以對齊設(shè)計的空間需求[7]。

    布局布線資源有限。FPGA的物理實現(xiàn)受限于有限的布局資源容量、布線資源容量和時鐘布線資源容量。局部過高的布局密度不僅會造成邏輯資源緊張,更會導(dǎo)致布線擁塞[6,8]。對于布線算法本身而言,F(xiàn)PGA Switch Box之間存在倍線連接,導(dǎo)致連線在空間上存在跳躍的情況,增加了擁塞評估的難度。有限的時鐘布線資源對FPGA的布局布線提出了離散度更高的優(yōu)化約束條件。時鐘區(qū)域和時鐘半列對都經(jīng)過其中的時鐘信號的數(shù)量和種類有著嚴(yán)格限制[9],極大增加了布局布線的難度。

    3 相關(guān)工作

    為解決上述挑戰(zhàn),在最近幾年關(guān)于FPGA布局算法的研究中,除了通??紤]的線長,可布線性等主要優(yōu)化目標(biāo),在布局階段還加入了時鐘信號布線等優(yōu)化指標(biāo),把后續(xù)流程的優(yōu)化目標(biāo)提前到布局階段,從而減輕后續(xù)優(yōu)化流程的難度。在關(guān)于FPGA布線算法的工作中,提出了加速迭代收斂的布線算法來求解大規(guī)模布線資源圖上的布線問題。隨著布局布線問題規(guī)模的不斷擴(kuò)大,也出現(xiàn)了利用異構(gòu)計算和機(jī)器學(xué)習(xí)[10]來提高FPGA布局布線算法運(yùn)行效率的研究工作,極大加速了FPGA設(shè)計流程的迭代流程和設(shè)計周期。

    3.1 FPGA布局相關(guān)工作簡述

    目前工業(yè)界和學(xué)術(shù)界使用的布局算法主要使用解析式優(yōu)化算法,包括比較成熟的基于力學(xué)模型的2次規(guī)劃方法[11]和非線性優(yōu)化算法[12]?;?次規(guī)劃的算法運(yùn)行迭代次數(shù)更少,求解速度更快;相比于非線性優(yōu)化算法,非線性模型能夠?qū)?yōu)化目標(biāo)函數(shù)進(jìn)行更加平滑的近似,布局結(jié)果質(zhì)量相對較優(yōu),但是也引入了更高的復(fù)雜度。

    在最近幾年提出的非線性優(yōu)化算法中,文獻(xiàn)[13–16]提出了基于靜電場系統(tǒng)的近似全局密度估計函數(shù)和基于Nestrov的非線性梯度優(yōu)化算法,在公開測試數(shù)據(jù)上獲得普遍較好的布局結(jié)果?;陟o電場系統(tǒng)的布局算法把網(wǎng)表中的邏輯單元建模成帶電體,邏輯單元受到彼此之間的斥力作用從而使得邏輯單元密度受到約束;并且目標(biāo)函數(shù)中的密度項對應(yīng)于靜電場系統(tǒng)整體的電勢能,邏輯單元受到電場力影響朝著電勢能減少的方向移動,等價于在對目標(biāo)函數(shù)進(jìn)行優(yōu)化。另外,基于梯度的優(yōu)化算法能通過并行化算法處理百萬級別的網(wǎng)表規(guī)模,可以充分使用CPU多線程或者GPU進(jìn)行并行加速[17–20]。

    布線擁塞驅(qū)動的FPGA布局算法。 隨著設(shè)計復(fù)雜程度的提升,在布局階段單純考慮優(yōu)化線長可能會導(dǎo)致在后續(xù)的布線階段出現(xiàn)布線擁塞的情況。因此部分研究考慮在布局階段加入對可布線性的考慮來減輕后續(xù)布線階段的壓力。文獻(xiàn)[21]和文獻(xiàn)[18]提出在布局階段提前做布線資源使用情況估計,并對處于布線擁塞區(qū)域的邏輯單元進(jìn)行面積膨脹,膨脹后的面積將反映在密度估計函數(shù)上,從而減少該區(qū)域的布線擁塞程度。文獻(xiàn)[22]提出在打包階段和詳細(xì)布局階段使用膨脹后面積來進(jìn)行匹配從而減少擁塞程度。文獻(xiàn)[23]考慮到FPGA相比于專用集成電路 (Application Specific Integrated Circuit, ASIC)布局資源分布不均衡的問題在全局布局的初始階段進(jìn)行考慮到布線資源分布的網(wǎng)表分割,并在布線資源估計時加入引腳數(shù)量作為權(quán)重進(jìn)行估計。除了基于面積膨脹的算法,文獻(xiàn)[24]提出在引腳密度估計中使用基于概率分布的布線擁塞估計算法。對布線擁塞程度進(jìn)行估計一直是FPGA布局問題中的難點(diǎn),一個問題是目前主要的布線擁塞的解決算法以靜態(tài)位置為主,但是在動態(tài)調(diào)整cell位置的過程中可能會引入了新的布線擁塞區(qū)域。

    考慮時鐘布線的FPGA布局算法。由于FPGA特殊的時鐘布線結(jié)構(gòu),近年來也有一些工作把布局算法的優(yōu)化方向放在時鐘布線的優(yōu)化上。當(dāng)前學(xué)術(shù)界主流算法[23–28]主要對每個時鐘信號求出可放置的一組時鐘區(qū)域,然后通過合法化或者以平滑化方式消除關(guān)于粗粒度的時鐘區(qū)域布線限制,然后在合法化和詳細(xì)布局階段完成細(xì)粒度的時鐘半列限制。文獻(xiàn)[26,27]分別提出通過“收縮-擴(kuò)張”算法和最大流匹配算法求出每個時鐘信號可放置的一組構(gòu)成矩形的時鐘區(qū)域,文獻(xiàn)[17,25,29]則提出在獲得每個時鐘信號可放置的時鐘區(qū)域后,通過2次罰函數(shù)法把時鐘布線加入優(yōu)化問題的目標(biāo)函數(shù)中,這種算法能以更加平滑化的方式優(yōu)化時鐘布線并獲得更好的布局質(zhì)量。除此以外,文獻(xiàn)[28]進(jìn)行了更加細(xì)粒度的初始時鐘布線,每個時鐘信號可以放置的時鐘區(qū)域構(gòu)成聯(lián)通的多邊形,因此該算法更加精細(xì)地擴(kuò)大了時鐘布線的可行解空間并能獲得更好的布局質(zhì)量。由于時鐘布線限制的高度離散性,當(dāng)前主要做法為在連續(xù)優(yōu)化過程中加入對時鐘信號可行區(qū)域的合法化過程,這種使用靜態(tài)限制的方法壓縮了可行解空間。

    FPGA布局中的打包算法。打包算法可以分為直接打包、層次打包和非顯式打包3類。直接打包首先根據(jù)邏輯互連確定打包方案,然后依次進(jìn)行布局和合法化,以產(chǎn)生合法布局結(jié)果。然而,直接打包算法[30,31]在算法決策流程中缺乏邏輯單元的空間信息,因此結(jié)果質(zhì)量較差。層次打包算法[11,22,23]首先生成初始布局結(jié)果,然后結(jié)合邏輯單元的初始布局信息完成打包,并接著將打包后的邏輯單元視為整體繼續(xù)進(jìn)行布局。打包具有組合級、半CLB級和CLB級等層次,可以與布局算法交替進(jìn)行。層次打包在最終布局和合法化前可以結(jié)合邏輯互連和位置信息。非顯式打包算法[32]則直接在初始布局結(jié)果上完成打包和合法化,非顯式打包可以減少初始布局結(jié)果和最終布局結(jié)果之間的差異。最近,也有部分工作提出使用圖神經(jīng)網(wǎng)絡(luò)預(yù)測邏輯單元的打包概率[33]。

    目前,基于非線性優(yōu)化算法的布局算法普遍能夠取得較好的布局效果,并且在可布線性、時鐘布線性等下游優(yōu)化任務(wù)以及使用異構(gòu)計算加速優(yōu)化算法上也已取得一定進(jìn)展。然而,仍然存在一些尚待解決的問題。在可布線性優(yōu)化方面,動態(tài)布線擁塞程度仍然是一個難點(diǎn);由于時鐘布線約束的高度離散性,基于連續(xù)優(yōu)化算法的求解空間受到限制,這給求解優(yōu)化問題帶來更大的難度。

    3.2 FPGA布線相關(guān)工作簡述

    目前學(xué)術(shù)界現(xiàn)有的FPGA布線工具主要采用的是協(xié)商式的路徑搜索算法,其中具有代表性的算法為PathFinder算法[34]。對于每個線網(wǎng),該算法會為該線網(wǎng)的每個扇出依次尋找一條從扇入到該扇出的布線路徑。在尋找到一個扇出的布線路徑時,該算法會將該扇出所屬線網(wǎng)的已有布線結(jié)果全部加入一個優(yōu)先隊列中,然后使用Dijkstra算法或A*算法等常用的路徑搜索算法來尋找路徑。在這樣得到的布線結(jié)果中,不同的線網(wǎng)的布線結(jié)果之間可能產(chǎn)生擁塞,因而該算法會對擁塞線網(wǎng)迭代地進(jìn)行拆線(ripup)和重布線(reroute)。在每次迭代開始時,該算法會檢查現(xiàn)有的布線結(jié)果中是否存在擁塞。對于存在擁塞的線網(wǎng),該算法會將其布線結(jié)果刪除,也即相當(dāng)于將已有的布線結(jié)果“拆線”。然后,該算法會提高存在擁塞的布線資源的布線開銷,并對存在擁塞的線網(wǎng)進(jìn)行重布。

    縮小搜索范圍。在拆線-重布過程中,AIR[35]和CRoute[36]都采用了只對具有擁塞的扇出引腳進(jìn)行重布的策略,縮小了布線搜索范圍,從而提高了布線效率。Zha等人[37]提出了一種重定義的布線開銷計算策略,從而減少在特定情況下布線擁塞產(chǎn)生的概率,減少了重布線的次數(shù)。AIR[35]中對于扇出較多的線網(wǎng),會在對一個扇出布線時只將其周圍的布線結(jié)果加入優(yōu)先隊列中以減少搜索范圍。

    并行加速布線。不少研究采用并行計算方法加速布線。文獻(xiàn)[38]使用GPU等異構(gòu)并行計算工具對單個線網(wǎng)進(jìn)行布線。文獻(xiàn)[39]對FPGA版圖進(jìn)行特定的劃分以同時布線多個線網(wǎng)。一般情況下,并行布線會以降低布線結(jié)果質(zhì)量為代價,換取布線時間的減少。

    4 算法描述

    OpenPARF的總體算法框架如圖2所示。該算法以電路網(wǎng)表和FPGA布局布線架構(gòu)信息為輸入,能夠自動輸出完整的布局布線結(jié)果。整個流程包括布局階段和布線階段兩個階段,具備SLICELSLICEM建模、布線擁塞預(yù)測和時鐘布線優(yōu)化的功能。OpenPARF可以支持工業(yè)級FPGA設(shè)計中常用的邏輯單元庫,包括LUT, FF, DSP, BRAM, IO以及具有SLICEL-SLICEM異構(gòu)性質(zhì)的DiRAM和SHIFT??紤]到IO在FPGA芯片上的位置通常已經(jīng)固定,因此在布局階段只需考慮剩下的邏輯單元類型S={LUT, FF, DSP, BRAM, DiRAM, SHIFT}。在接下來的章節(jié)中,將對OpenPARF布局布線框架的主要功能進(jìn)行詳細(xì)介紹。

    圖2 OpenPARF 總體算法框架圖

    4.1 布局階段

    根據(jù)FPGA的布局架構(gòu)和電路網(wǎng)表,本文提出一個基于非對稱多靜電場系統(tǒng)的FPGA布局器。在布局問題中,電路網(wǎng)表可以用超圖H=(V,E)表示,其中V表示所有邏輯單元組成的集合,E表示所有線網(wǎng)組成的集合,所有邏輯單元的橫縱坐標(biāo)用向量x和y表示。首先,布局器通過全局布局步驟同時優(yōu)化非線性目標(biāo)函數(shù)中的線長、非線性密度分布、布線擁塞以及時鐘布線等多個目標(biāo)。然后,合法化步驟生成符合時鐘布線約束和FPGA設(shè)計規(guī)則的合法布局結(jié)果。最后,OpenPARF在詳細(xì)布局階段微調(diào)邏輯單元的位置,以進(jìn)一步優(yōu)化線長。

    4.1.1 基于多層拉格朗日松弛方法的全局布局算法

    OpenPARF類似文獻(xiàn)[17,18]使用了非線性全局布局算法,同時考慮了線長、邏輯單元的分布密度、布線擁塞程度和時鐘可布線性等因素。具體而言,OpenPARF將全局布局問題建模為如式(1)的帶約束優(yōu)化問題

    其中,OpenPARF采用了線長優(yōu)化目標(biāo)W(x;y)來優(yōu)化電路布線結(jié)果。線長優(yōu)化目標(biāo)被定義為所有線網(wǎng)的半周長線長(Half-Parimeter WireLength,HPWL)[40]之和。HPWL提供了路由線長的估計下限,在布局階段被廣泛用于估計路由線長。具體而言,線網(wǎng)的HPWL是由其所有引腳垂直/水平坐標(biāo)的最大值和最小值之差決定的。OpenPARF采用了WA(Weighted Average)模型[40]得到線長優(yōu)化目標(biāo)中的最大值和最小值函數(shù)的近似可導(dǎo)形式。這種近似可導(dǎo)形式的最大值和最小值函數(shù)使得目標(biāo)函數(shù)的導(dǎo)數(shù)可以使用標(biāo)準(zhǔn)的數(shù)值優(yōu)化方法來計算,從而加速了優(yōu)化過程。

    在OpenPARF中,Φt(x;y;At)表示靜電場系統(tǒng)t(t ∈T) 的 電勢能,其定義類似于文獻(xiàn)[17],T集合包括靜電場系統(tǒng)的所有類型。本文使用了非對稱的多電場模型來建模SLICEL-SLICEM的異構(gòu)性(見4.1.2節(jié))。靜電場系統(tǒng)將邏輯單元建模為帶電體,邏輯單元的重疊會導(dǎo)致靜電場的電勢能增加。優(yōu)化目標(biāo)是要盡可能降低電勢能,以減少邏輯單元之間的重疊程度,避免布線過于擁擠。通過最小化靜電場系統(tǒng)的電勢能,可以有效地避免邏輯單元之間的重疊,從而改善電路布線的質(zhì)量。

    Γ(x;y)表示時鐘布線約束懲罰項(見4.1.3節(jié))。當(dāng)沒有違反時鐘布線限制時,懲罰項的值為零。當(dāng)違反時鐘布線限制時,懲罰項的值會增加。優(yōu)化目標(biāo)是盡可能減少懲罰項,將邏輯單元導(dǎo)向合法區(qū)域,并最終消除時鐘布線違規(guī)的情況。

    上述約束條件體現(xiàn)了FPGA布局的物理限制,包括電路板的大小和形狀、標(biāo)準(zhǔn)單元之間的間距、布線擁塞程度和可時鐘路線性等因素。通過對目標(biāo)函數(shù)的優(yōu)化,OpenPARF可以同時考慮這些因素,從而得到更優(yōu)的布線結(jié)果。為了求解上述帶約束優(yōu)化問題,OpenPARF引入了無約束增廣拉格朗日函數(shù)L(x,y;λ,A,η),其具體形式為

    其中,Dt表 示類型t靜電場系統(tǒng)的拉格朗日項,包括其電勢能Φt的 1階項和2階項;ct用 于平衡Φt的1階項和2階項的大?。沪藅表示Dt的拉格朗日密度乘子;η表示拉格朗日時鐘乘子。

    如式(3)和圖2所示,OpenPARF采用多層拉格朗日松弛方法求解拉格朗日函數(shù)的最優(yōu)化問題。該優(yōu)化框架從外向里依次優(yōu)化時鐘布線、布線擁塞、分布密度和線長。從整個優(yōu)化過程來看,這3個約束在嵌套的優(yōu)化迭代中逐漸增強(qiáng)。當(dāng)優(yōu)化過程完全收斂時,全局布局階段結(jié)束。對于時鐘和分布密度約束,OpenPARF引入了對應(yīng)的拉格朗日乘子η和λ,增加它們的值可以分別加強(qiáng)時鐘布線和密度限制

    具體而言,在該多層拉格朗日松弛方法的優(yōu)化框架中,

    (P1)首先,OpenPARF判斷是否滿足時鐘布線約束。如果未滿足時鐘布線約束,則更新時鐘乘子。OpenPARF利用時鐘布線分配算法更新時鐘罰函數(shù)項,同時增大時鐘乘子,增強(qiáng)時鐘布線約束限制,以使其符合布局布線架構(gòu)的要求。

    (P2)其次,OpenPARF判斷是否存在布線擁塞問題。如果存在布線擁塞,則采用類似于文獻(xiàn)[20]的方法緩解路由擁塞。OpenPARF通過邏輯單元密度和RUDY算法[41]估計布線擁塞程度。如果當(dāng)前布線擁塞程度超過閾值,則調(diào)整邏輯單元面積(等效于調(diào)整電場模型中邏輯單元所帶的電荷量),緩解布線擁塞問題,并增強(qiáng)可布線性限制。

    (P3)接著,OpenPARF判斷邏輯單元密度是否小于給定的閾值。如果邏輯單元密度大于閾值,則增大密度乘子,增強(qiáng)對密度分布約束的限制,分散邏輯單元。

    (P4)經(jīng)過上述步驟,時鐘可布線性、路由擁塞和邏輯單元重疊等問題都得到了良好的解決。Open-PARF使用內(nèi)思特羅夫動量法優(yōu)化線長,直到優(yōu)化問題完全收斂。最終,OpenPARF得到滿足時鐘布線約束、路由擁塞程度以及器件分布密度優(yōu)化的全局布局結(jié)果。

    4.1.2 SLICEL-SCLIEM異構(gòu)性非對稱多電場模型

    2.1節(jié)討論了SLCEL中的LUT資源可以被配置為LUT邏輯單元,SLICEM中的LUT資源可以分為LUT, DiRAM和SHIFT邏輯單元。由于SLICEL和SCLIEM具有不同的布局布線規(guī)則,在布局中要同時考慮這兩種Site之間的相互作用。OpenPARF采用了類似于文獻(xiàn)[17]的非對稱多電場模型,在多電場系統(tǒng)中引入了LUTL和LUTM-AL兩組靜電場系統(tǒng)。這兩組靜電場系統(tǒng)的設(shè)置目的是避免DiRAM或SHIFT邏輯單元被映射到SLCEL上,同時允許LUT邏輯單元放置到SLCEL和SLICEM上。

    LUTL靜電場系統(tǒng)模擬SLCEL和SLICEM中提供的邏輯LUT資源,而LUTM-AL模擬SLICEM上提供的與存儲功能相關(guān)且在SLICEL上不存在的邏輯資源。與此對應(yīng),邏輯單元LUT只占用LUTL靜電場系統(tǒng)中的資源,而邏輯單元DiRAM和SHIFT則同時占用LUTL和LUTM-AL靜電場系統(tǒng)中的資源。

    圖3以LUT和SHIFT邏輯單元為例,分析了4個場景下兩者的位置關(guān)系。DiRAM邏輯單元的布局規(guī)則與SHIFT邏輯單元類似。由于SLCEL不包含LUTM-AL的資源,其初始LUTM-AL密度設(shè)置為1,表示它已被占用;LUTL的初始密度設(shè)置為0,表示在SLCEL上LUTL資源還沒有被占用。同樣地,由于SLICEM同時擁有LUTL和LUTM-AL資源,因此它們的初始密度都設(shè)置為0。在場景I和II中,LUT邏輯單元分別放置在SLICEL和SLICEM上,兩個靜電場系統(tǒng)中都沒有發(fā)生密度溢出,這意味著電勢能達(dá)到了最小值。場景III和IV中,SHIFT邏輯單元放置在SLICEL上,LUTM-AL靜電場系統(tǒng)發(fā)生密度溢出,表示靜電場系統(tǒng)的電勢能較高。優(yōu)化器通過最小化勢能來避免發(fā)生這樣的情況。這樣,這兩個靜電場系統(tǒng)可以自然引導(dǎo)LUT和DiRAM/SHIFT邏輯單元放置到合法的Site中。

    圖3 4 種情景下的 LUT 和 SHIFT 的位置關(guān)系下 LUTL 和 LUTM-AL 靜電場系統(tǒng)的電荷密度和電勢能

    4.1.3 2次罰函數(shù)時鐘懲罰項模型

    OpenPARF采用文獻(xiàn)[27]中的算法來生成邏輯單元到可用時鐘區(qū)域的映射。這種方法保證了生成的映射不僅符合時鐘布線限制,還可以降低線長擾動。這些映射被用來確定邏輯單元與可用時鐘區(qū)域之間的關(guān)系。在該映射的基礎(chǔ)上,OpenPARF定義了增廣拉格朗日函數(shù)中的時鐘布線約束懲罰項Γ(x,y),該懲罰項的值等于所有邏輯單元時鐘布線約束懲罰項之和。假設(shè)邏輯單元i可用的時鐘區(qū)域集合為wt, 且wt的邊界框的左部、右部、底部和頂部邊界坐標(biāo)分別為: loxi,h ixi,l oxi和h iyi。邏輯單元i的時鐘布線約束懲罰項等于x軸方向和y軸方向的懲罰項之和

    其中,x軸方向上懲罰項Γ(xi,yi)x為

    xi和yi為 器件i的橫縱坐標(biāo),y軸方向上的時鐘懲罰定義類似。邏輯單元i的時鐘布線約束懲罰項是一個以合法區(qū)域為中心的2次勢阱函數(shù)。當(dāng)邏輯單元在合法區(qū)域中時,懲罰項為零。否則,懲罰項的值會增加,并在梯度更新過程中將邏輯單元導(dǎo)向合法區(qū)域,這樣就可以消除時鐘布線違規(guī)的情況。

    4.1.4 考慮時鐘布線的合法化與詳細(xì)布局

    在全局布局階段后,OpenPARF對全局布局結(jié)果執(zhí)行合法化步驟來獲得一個沒有標(biāo)準(zhǔn)單元重疊、滿足FPGA布局布線架構(gòu)規(guī)則且路由擁塞程度得到優(yōu)化的布局結(jié)果,并在此步驟中盡可能減少對全局布局結(jié)果的擾動。在這個步驟中,OpenPARF類似于文獻(xiàn)[32]進(jìn)行初步合法化,接著采用并行college-student Admission策略更新邏輯單元的組合關(guān)系,最后得到合法的布局結(jié)果。

    最后,在詳細(xì)布局階段,OpenPARF采用基于最大獨(dú)立集的匹配算法[32],在合法化的結(jié)果基礎(chǔ)上微調(diào)邏輯單元的位置,以進(jìn)一步優(yōu)化線長。在這個階段中,布局器會生成遵守FPGA布局布線架構(gòu)規(guī)則和時鐘布線約束的詳細(xì)布局結(jié)果。

    4.2 布線階段

    在布線階段,OpenPARF提出了一個BEL級別的兩階段布線器[39]。布線器以布局階段的結(jié)果和FPGA布線架構(gòu)作為輸入,生成最終的布線結(jié)果。該布線器主要包含全局布線和詳細(xì)布線兩個階段。在全局布線階段,布線器生成跨Tile級別的粗粒度布線結(jié)果,用于指導(dǎo)詳細(xì)布線。在詳細(xì)布線階段,布線器以粗粒度布線結(jié)果作為布線區(qū)域引導(dǎo),生成BEL級別的最終布線結(jié)果。

    在進(jìn)行全局布線和詳細(xì)布線的過程中,布線器借助布線資源圖(Routing Resourse Graph, RRG)建模FPGA的布線架構(gòu)。RRG是一幅有向圖G(V,E)。 其中結(jié)點(diǎn)v∈V表示FPGA中的一個布線資源,并且在全局布線階段和詳細(xì)布線階段分別表示不同粒度的布線資源;有向邊(u,v)∈E表示FPGA中的路由通道,表示邏輯信號可以從布線資源u傳輸?shù)讲季€資源v。

    布線器的核心是基于協(xié)商式的PathFinder算法[34]。算法迭代應(yīng)用A*路徑搜索算法,得到合法的布線結(jié)果。在每次迭代開始時,布線器檢查上一次迭代的布線結(jié)果。對存在擁塞的布線資源,布線器提高其布線開銷,同時拆除占用該布線資源的線網(wǎng)布線結(jié)果。在全局布線階段和詳細(xì)布線階段,Open-PARF采用了不同的開銷評估函數(shù)來評估布線資源的布線開銷。

    4.2.1 全局布線

    在全局布線階段,布線器的目標(biāo)是生成跨Tile級別的粗粒度布線結(jié)果,用于指導(dǎo)詳細(xì)布線。大部分來自學(xué)術(shù)界的FPGA布線器直接生成詳細(xì)布線結(jié)果。相較而言,OpenPARF加入了全局布線的步驟,以減少在詳細(xì)布線中可能出現(xiàn)的擁塞問題。在沒有全局布線結(jié)果的指導(dǎo)下進(jìn)行詳細(xì)布線會導(dǎo)致大量的擁塞,進(jìn)而降低了布線器在求解時的效率。隨著FPGA布線架構(gòu)復(fù)雜度的提升,這種情況尤其顯著。

    全局布線中開銷評估函數(shù)的優(yōu)化目標(biāo)是引導(dǎo)線網(wǎng)的走線避開擁塞區(qū)域,并為詳細(xì)布線預(yù)留充足的布線資源。OpenPARF將FPGA布線架構(gòu)建模為一個RRG格點(diǎn)圖。在RRG格點(diǎn)圖中,結(jié)點(diǎn)代表FPGA架構(gòu)中的Tile;邊代表Tile之間的互聯(lián)軌道,邊容量為對應(yīng)的軌道寬度。邊布線開銷的初始值為Tile之間的曼哈頓距離。在此RRG格點(diǎn)圖中,線網(wǎng)的扇入扇出為其所在的Tile。

    在RRG格點(diǎn)圖構(gòu)建完成后,全局布線器使用PathFinder算法來對跨Tile線網(wǎng)進(jìn)行布線。在路徑搜索過程中,全局布線器采用如下的開銷評估函數(shù)來計算從結(jié)點(diǎn)u擴(kuò)展到結(jié)點(diǎn)v的布線開銷

    其中,p rev(v)表 示已搜索路徑的總布線開銷;pred(v)表示當(dāng)前線網(wǎng)從待擴(kuò)展結(jié)點(diǎn)到扇出結(jié)點(diǎn)的預(yù)測布線開銷,其值等于待擴(kuò)展結(jié)點(diǎn)到扇出結(jié)點(diǎn)的曼哈頓距離。隨著布線的進(jìn)行,邊容量會隨著線網(wǎng)對布線資源的占用而逐漸下降。為了避免造成詳細(xì)布線階段的擁塞,全局布線器會隨著邊容量的下降逐步提高邊的布線開銷。

    4.2.2 詳細(xì)布線

    在全局布線結(jié)果的指導(dǎo)下,詳細(xì)布線器的目標(biāo)是生成BEL級別的布線結(jié)果。與全局布線器相比,詳細(xì)布線器更加關(guān)注跨Tile級別的擁塞。在詳細(xì)布線階段,OpenPARF將布線架構(gòu)建模成細(xì)粒度的RRG。在該RRG中,結(jié)點(diǎn)代表邏輯引腳;邊代表邏輯引腳之間的連接關(guān)系。通常情況下,每個邏輯引腳只能用于布線一個線網(wǎng),因此大多數(shù)結(jié)點(diǎn)和邊的容量都為1。同時由于每個線網(wǎng)的扇入和扇出都是一個邏輯引腳,因此可以很容易地在RRG中找到對應(yīng)的結(jié)點(diǎn)。

    詳細(xì)布線器的目標(biāo)是為每個線網(wǎng)找到一條從扇入結(jié)點(diǎn)到扇出結(jié)點(diǎn)的布線路徑,并避免擁塞情況的發(fā)生。詳細(xì)布線器與全局布線器均基于PathFinder算法,但由于詳細(xì)布線階段的RRG規(guī)模更大、連接關(guān)系更復(fù)雜,OpenPARF采用(1)擁塞驅(qū)動布線開銷計算、(2)引腳融合與交換、(3)搜索空間大小控制和(4)擁塞驅(qū)動布線排序策略來優(yōu)化詳細(xì)布線器。

    擁塞驅(qū)動布線開銷計算。詳細(xì)布線器采用以下?lián)砣?qū)動的開銷評估函數(shù)來計算從結(jié)點(diǎn)u擴(kuò)展到結(jié)點(diǎn)v的布線開銷

    其中,參數(shù)p在每次迭代都會乘以預(yù)先設(shè)定好的參數(shù)pc。參數(shù)p越大,詳細(xì)布線器就會更專注于解決布線時產(chǎn)生的擁塞。

    o(v)表 示當(dāng)前結(jié)點(diǎn)v被使用后,其容量會超出多少。

    b(v)代 表結(jié)點(diǎn)v的基礎(chǔ)布線開銷。對于大多數(shù)結(jié)點(diǎn)來說,它們的基礎(chǔ)開銷是相同的。但是,在構(gòu)造RRG時,對于一些可能產(chǎn)生擁塞的結(jié)點(diǎn),詳細(xì)布線器會提高其基礎(chǔ)開銷以在一定程度上避免擁塞的發(fā)生。

    h(v)代表結(jié)點(diǎn)的歷史擁塞開銷。在迭代拆線過程中,詳細(xì)布線器根據(jù)結(jié)點(diǎn)的歷史擁塞情況提高其歷史擁塞開銷。

    w(u,v)代表邊布線開銷,其由邊類型決定。Tile內(nèi)部的邊布線開銷在構(gòu)造RRG時會被固定初始化;跨Tile的邊布線開銷初始化為Tile之間的曼哈頓距離。

    引腳融合與交換。LUT是FPGA架構(gòu)中最常見的邏輯單元。LUT通常是多輸入/輸出引腳的,然而這些引腳是邏輯不等價,因此連接到這些引腳的互聯(lián)軌道也是不等價的,這會使得布線器更難找到合法的布線結(jié)果。OpenPARF采取了“融合-交換”策略來處理該問題。具體而言,在布線時,Open-PARF將這些引腳合并為一個容量更大的節(jié)點(diǎn),然后在引腳融合后的RRG上進(jìn)行詳細(xì)布線。然而,這樣做可能會改變線網(wǎng)信號連接的引腳,導(dǎo)致邏輯功能不正確。因此在完成詳細(xì)布線后,Open-PARF再進(jìn)行CLB級別的引腳交換(等價于重新設(shè)計LUT的真值表)來修正邏輯功能,從而確保了LUT邏輯功能的正確性。

    搜索空間大小控制。OpenPARF基本上以全局布線結(jié)果為指導(dǎo)進(jìn)行搜索,在搜索線網(wǎng)路徑時只會搜索處于全局布線結(jié)果范圍內(nèi)的結(jié)點(diǎn)。這種方法可以有效控制搜索空間,加速布線進(jìn)程。但是,僅在全局布線結(jié)果范圍內(nèi)的搜索可能無法消除局部擁塞。因此,每經(jīng)過若干輪迭代,詳細(xì)布線器在拆解擁塞結(jié)點(diǎn)所在的布線路徑時,將該擁塞結(jié)點(diǎn)周圍的Tile添加到搜索空間中。通過適度增加搜索空間,詳細(xì)布線器可以更快地找到合法的布線路徑。

    布線順序。在每次迭代開始之前,詳細(xì)布線器需要確定線網(wǎng)的布線順序。OpenPARF優(yōu)先對覆蓋面積大且在之前布線過程中產(chǎn)生了大量擁塞的線網(wǎng)進(jìn)行布線,從而更快地消除布線擁塞。

    5 實驗設(shè)置與結(jié)果分析

    OpenPARF基于pybind11實現(xiàn)C++/Python混合開發(fā),結(jié)合了Python的靈活性和C++的高效性。在深度學(xué)習(xí)框架PyTorch的基礎(chǔ)上,Open-PARF對全局布局的梯度計算進(jìn)行了GPU加速[17]。在實現(xiàn)過程中,本文基于PyTorch的GPU張量管理功能實現(xiàn)了GPU內(nèi)存管理、快速張量運(yùn)算和自定義運(yùn)算算子。此外,本文還利用PyTorch的自動求導(dǎo)功能實現(xiàn)了GPU加速的梯度計算。關(guān)于線長和密度模型的具體計算和實現(xiàn)細(xì)節(jié)請參考文獻(xiàn)[17, 20]。本文在一臺配備Intel Xeon Gold 6230 CPU(頻率2.10 GHz, 40核)、512 GB內(nèi)存和一塊NVIDIA RTX 2080Ti GPU的Linux服務(wù)器上進(jìn)行了實驗,并在3個數(shù)據(jù)集上進(jìn)行了驗證,包括ISPD 2016 FPGA可布線性驅(qū)動FPGA布局?jǐn)?shù)據(jù)集[6]、ISPD 2017時鐘布線驅(qū)動FPGA布局?jǐn)?shù)據(jù)集[9]和工業(yè)標(biāo)準(zhǔn)級FPGA數(shù)據(jù)集。其中,工業(yè)標(biāo)準(zhǔn)級FPGA數(shù)據(jù)集由工業(yè)界的合作方提供,并在其指導(dǎo)下,補(bǔ)全了前兩個ISPD競賽數(shù)據(jù)集的布線架構(gòu)。表1和表2詳細(xì)介紹了這3個數(shù)據(jù)集的邏輯單元庫和電路網(wǎng)表的規(guī)模。數(shù)據(jù)集包括21k~1 100k的不同規(guī)模的實例數(shù)量和網(wǎng)表大小。

    表1 ISPD2016 和 ISPD2017 benchmark 的實例數(shù)量和網(wǎng)表數(shù)量

    表2 在工業(yè)標(biāo)準(zhǔn)級 FPGA 數(shù)據(jù)集上的布局時間 (s)、布線時間(min)以及布線線長 (×103)

    5.1 ISPD競賽數(shù)據(jù)集實驗結(jié)果

    表3和表4展示了OpenPARF與其他布局算法RippleFPGA[23]和DREAMPlaceFPGA[19]的對比結(jié)果。其中,RippleFPGA和DREAMPlaceFPGA1)DREAMPlaceFPGA包括文獻(xiàn)[18,19]兩個工作,其中文獻(xiàn)[19]在文獻(xiàn)[18]的基礎(chǔ)上使用GPU加速合法化算法。本文實驗部分中DREAMPlaceFPGA的布局時間摘取自文獻(xiàn)[19]。分別代表了基于二次規(guī)劃和非凸優(yōu)化模型的效果最好的解析式布局算法。本文將其他布局算法的布局結(jié)果導(dǎo)入OpenPARF的布線器中進(jìn)行布線,并比較了布線后線長和運(yùn)行時間。

    表4 在ISPD 2017 benchmark上的布局時間 (s) 、布線時間 (min)以及布線線長 (×104 )的比較

    ISPD 2016上的實驗結(jié)果表明,OpenPARF相較于其他布局算法,分別減少了12.7%和0.4%的線長,并獲得了2.771倍的加速。DREAMPlaceFPGA對合法化進(jìn)行了GPU加速優(yōu)化。與DREAMPlace-FPGA相比,OpenPARF慢了21.4%。本文認(rèn)為,OpenPARF未來可以通過探索使用異構(gòu)并行加速合法化和詳細(xì)布局來進(jìn)一步提高性能。

    在ISPD2017數(shù)據(jù)集上,本文對比了RippleFPGA與OpenPARF的布局布線時間和布線線長。由于DREAMPlaceFPGA目前不支持ISPD2017的時鐘布線約束,因此無法在該數(shù)據(jù)集上比較結(jié)果。實驗結(jié)果表明,相比RippleFPGA, OpenPARF減少了12.5%的布線線長,并獲得了2.251倍的加速。該實驗進(jìn)一步證明本框架在復(fù)雜約束下仍能實現(xiàn)更優(yōu)秀的布線結(jié)果。

    本文進(jìn)一步在ISPD2016和ISPD2017數(shù)據(jù)集上比較使用CPU多線程加速2)本文實驗中線程數(shù)為8(OpenPARF(CPU))和GPU加速(OpenPARF(GPU))的實驗結(jié)果。在ISPD2016和ISPD2017數(shù)據(jù)集上,OpenPARF(CPU)和OpenPARF(GPU)均得到相近的路由線長。但與此同時,OpenPARF(CPU)的布局時間大于使用CPU的RippleFPGA。這主要是因為,Open-PARF使用基于非線性優(yōu)化算法的布局算法,其計算量大于使用基于2次規(guī)劃算法的RippleFPGA。

    本文進(jìn)一步比較了各工作布局結(jié)果的布線時間,以衡量布局結(jié)果的布線擁塞程度。表3和表4的實驗結(jié)果表明, OpenPARF在ISPD2016和ISPD-2017數(shù)據(jù)集上的布線時間分別比RippleFPGA減少了12.7%和3.7%,并且布線時間與DREAMPlace-FPGA相當(dāng)。這說明OpenPARF在獲得更優(yōu)布線線長的同時,布線擁塞程度遠(yuǎn)小于RippleFPGA,并與學(xué)術(shù)界領(lǐng)先的布局算法DREAMPlaceFPGA持平。這一結(jié)果證明了OpenPARF在可布線性優(yōu)化能力方面的卓越表現(xiàn)。

    5.2 工業(yè)級FPGA數(shù)據(jù)集實驗結(jié)果

    表2展示了OpenPARF在工業(yè)標(biāo)準(zhǔn)級FPGA數(shù)據(jù)集上的布局布線時間和布線線長。工業(yè)標(biāo)準(zhǔn)級FPGA數(shù)據(jù)集包括具有SLICEL-SLICEM異構(gòu)性質(zhì)的DiRAM和SHIFT邏輯單元。實驗結(jié)果表明,OpenPARF在處理SLICEL-SLICEM約束時表現(xiàn)出優(yōu)秀的性能和效率。SLICEL和SLICEM作為FPGA中兩種不同的Site,由于其具有不同的物理結(jié)構(gòu)和電學(xué)性質(zhì),在設(shè)計中要同時考慮這兩種Site之間的相互作用。OpenPARF通過非對稱多電場系統(tǒng)建模處理該問題,取得了積極的成效。

    6 結(jié)束語

    本文提出一個面向大規(guī)模FPGA的開源布局布線框架OpenPARF。本框架基于深度學(xué)習(xí)工具包PyTorch實現(xiàn),支持CPU平臺運(yùn)行和GPU加速。本框架在布局和布線算法方面采用了新型非對稱多電場系統(tǒng)和多階段優(yōu)化策略,以應(yīng)對FPGA復(fù)雜的布局布線架構(gòu)和邏輯單元引腳不等價等場景。在布局階段,OpenPARF將時鐘布線、可布線性、密度分布和線長優(yōu)化統(tǒng)一建模為拉格朗日優(yōu)化問題,并使用內(nèi)斯特羅夫動量法求解。在布線階段,框架提出了全局布線和詳細(xì)布線兩階段策略,并采用了多種優(yōu)化方法提升布線器效率,從而實現(xiàn)邏輯單元級別的布線。OpenPARF為下一代高性能FPGA布局布線算法的探索和開發(fā)提供了一個重要的基準(zhǔn)。未來,將進(jìn)一步考慮優(yōu)化布局布線過程中的擁塞和時序性能,并針對FPGA的規(guī)整布局布線結(jié)構(gòu)研究更加準(zhǔn)確的線長估計方法。

    猜你喜歡
    布線結(jié)點(diǎn)全局
    Cahn-Hilliard-Brinkman系統(tǒng)的全局吸引子
    量子Navier-Stokes方程弱解的全局存在性
    擺脫繁瑣布線,重定義家庭影院 Klipsch Reference Wireless 5.1
    面向目標(biāo)的主動繞障PCB布線算法
    電子測試(2018年22期)2018-12-19 05:12:14
    電子布線系統(tǒng)在工程中的應(yīng)用
    落子山東,意在全局
    金橋(2018年4期)2018-09-26 02:24:54
    Ladyzhenskaya流體力學(xué)方程組的確定模與確定結(jié)點(diǎn)個數(shù)估計
    一種考慮擁擠度的布線模型及其算法
    新思路:牽一發(fā)動全局
    基于Raspberry PI為結(jié)點(diǎn)的天氣云測量網(wǎng)絡(luò)實現(xiàn)
    99热只有精品国产| 亚洲熟妇熟女久久| 久久精品综合一区二区三区| 国产高清有码在线观看视频| 在现免费观看毛片| 精品人妻一区二区三区麻豆 | 国产成人福利小说| 日韩欧美精品免费久久 | 婷婷六月久久综合丁香| 偷拍熟女少妇极品色| 欧美色视频一区免费| 日本三级黄在线观看| 欧洲精品卡2卡3卡4卡5卡区| 啦啦啦韩国在线观看视频| 免费av不卡在线播放| 美女大奶头视频| 色综合站精品国产| 男人和女人高潮做爰伦理| 国产美女午夜福利| 久久久久性生活片| 夜夜夜夜夜久久久久| 国产成人aa在线观看| 欧美色视频一区免费| 日韩 亚洲 欧美在线| 国产美女午夜福利| 欧美色欧美亚洲另类二区| 欧美中文日本在线观看视频| 久久久久精品国产欧美久久久| 内地一区二区视频在线| 琪琪午夜伦伦电影理论片6080| 有码 亚洲区| 超碰av人人做人人爽久久| 美女xxoo啪啪120秒动态图 | 国产单亲对白刺激| 婷婷丁香在线五月| 欧美另类亚洲清纯唯美| 内地一区二区视频在线| 亚洲在线自拍视频| 一级av片app| 欧美黄色淫秽网站| 亚洲人与动物交配视频| 亚洲欧美清纯卡通| 搡老妇女老女人老熟妇| 久久久久久国产a免费观看| 久久人人爽人人爽人人片va | 久久久精品欧美日韩精品| 午夜福利18| 一级黄色大片毛片| 成人国产综合亚洲| 99久久99久久久精品蜜桃| 免费av观看视频| 成人高潮视频无遮挡免费网站| av专区在线播放| 中文字幕人妻熟人妻熟丝袜美| 久久久国产成人精品二区| 午夜激情福利司机影院| 国产精华一区二区三区| 观看美女的网站| 亚洲熟妇熟女久久| 国产欧美日韩一区二区三| 精品国产三级普通话版| 欧美在线黄色| 久久精品久久久久久噜噜老黄 | 国产成人av教育| 给我免费播放毛片高清在线观看| 国产精品久久视频播放| 乱人视频在线观看| 丰满的人妻完整版| 午夜福利欧美成人| 日韩人妻高清精品专区| 999久久久精品免费观看国产| 91在线观看av| 成人美女网站在线观看视频| 如何舔出高潮| 国产精品伦人一区二区| 欧美3d第一页| 久9热在线精品视频| 国产亚洲精品久久久com| 日日干狠狠操夜夜爽| a级毛片a级免费在线| 深夜精品福利| 亚洲精品色激情综合| 国产主播在线观看一区二区| 少妇人妻一区二区三区视频| 国产一级毛片七仙女欲春2| 日日摸夜夜添夜夜添av毛片 | 99热6这里只有精品| 亚洲aⅴ乱码一区二区在线播放| 日本精品一区二区三区蜜桃| 少妇被粗大猛烈的视频| av在线蜜桃| .国产精品久久| 亚洲无线观看免费| av在线老鸭窝| 直男gayav资源| 成年免费大片在线观看| 日本一二三区视频观看| 久久亚洲真实| 69人妻影院| 久9热在线精品视频| 毛片一级片免费看久久久久 | 国产熟女xx| 亚洲第一电影网av| 色av中文字幕| 一级黄片播放器| 男人和女人高潮做爰伦理| 久久天躁狠狠躁夜夜2o2o| 日韩欧美免费精品| 国产高清视频在线观看网站| 午夜a级毛片| 日本与韩国留学比较| 在线观看av片永久免费下载| 不卡一级毛片| 一区二区三区激情视频| 亚洲电影在线观看av| 成年版毛片免费区| 两性午夜刺激爽爽歪歪视频在线观看| 免费一级毛片在线播放高清视频| 国产精品一区二区免费欧美| 级片在线观看| 日本一本二区三区精品| 久久久久久久亚洲中文字幕 | 香蕉av资源在线| 少妇人妻一区二区三区视频| 欧美日本亚洲视频在线播放| 午夜影院日韩av| 精品人妻视频免费看| 97人妻精品一区二区三区麻豆| 国产精品影院久久| 国产乱人视频| 在线观看av片永久免费下载| 日本与韩国留学比较| 国产精品影院久久| 在线观看av片永久免费下载| 久久热精品热| 国产精品影院久久| 村上凉子中文字幕在线| 99国产极品粉嫩在线观看| 神马国产精品三级电影在线观看| 亚洲真实伦在线观看| 国产蜜桃级精品一区二区三区| 成年女人看的毛片在线观看| 国产精品久久久久久久电影| 国产精品亚洲一级av第二区| 国产精品亚洲一级av第二区| 国产精品亚洲一级av第二区| 国产视频一区二区在线看| 国产亚洲精品久久久久久毛片| 亚洲精品在线美女| 亚洲精品在线美女| 三级国产精品欧美在线观看| 在线观看免费视频日本深夜| 午夜两性在线视频| 欧美日韩综合久久久久久 | 亚洲精品乱码久久久v下载方式| 亚洲精品一区蜜桃| 精品久久久噜噜| 一级毛片aaaaaa免费看小| av专区在线播放| 国产伦理片在线播放av一区| 午夜福利网站1000一区二区三区| 国产一区二区在线观看日韩| 国产亚洲午夜精品一区二区久久 | 免费看不卡的av| 成年女人看的毛片在线观看| 日韩三级伦理在线观看| 嫩草影院新地址| 国产色婷婷99| 成年女人在线观看亚洲视频 | 深夜a级毛片| 国产 一区精品| 国产成人免费观看mmmm| 最新中文字幕久久久久| 亚洲精品成人久久久久久| 汤姆久久久久久久影院中文字幕| 免费高清在线观看视频在线观看| 男女边摸边吃奶| 国产乱人视频| 午夜福利高清视频| 高清日韩中文字幕在线| 久久精品国产自在天天线| 哪个播放器可以免费观看大片| 亚洲av成人精品一二三区| 日韩制服骚丝袜av| 少妇人妻久久综合中文| 有码 亚洲区| 国产男人的电影天堂91| 激情 狠狠 欧美| 听说在线观看完整版免费高清| 亚洲最大成人av| 亚洲精品国产色婷婷电影| 一级a做视频免费观看| 激情五月婷婷亚洲| 狂野欧美白嫩少妇大欣赏| 久久久久精品性色| 狂野欧美激情性bbbbbb| 啦啦啦啦在线视频资源| 成人亚洲精品av一区二区| 久久久久久久久久久丰满| 欧美成人午夜免费资源| 欧美成人午夜免费资源| 伊人久久国产一区二区| 丝袜喷水一区| 亚洲三级黄色毛片| 久久久欧美国产精品| 麻豆成人av视频| av.在线天堂| 精品熟女少妇av免费看| 国产女主播在线喷水免费视频网站| 亚洲精品日韩在线中文字幕| 国产黄频视频在线观看| 哪个播放器可以免费观看大片| 免费不卡的大黄色大毛片视频在线观看| 亚洲av福利一区| 国国产精品蜜臀av免费| 能在线免费看毛片的网站| 老司机影院成人| 国产精品久久久久久精品古装| 97在线人人人人妻| 国产一区有黄有色的免费视频| 午夜视频国产福利| 国产老妇女一区| 在线观看av片永久免费下载| 国产精品无大码| 亚洲伊人久久精品综合| 又粗又硬又长又爽又黄的视频| 亚洲最大成人av| 毛片一级片免费看久久久久| 国内精品宾馆在线| 人妻少妇偷人精品九色| 国产爽快片一区二区三区| 涩涩av久久男人的天堂| 国产成人a区在线观看| 国产精品国产av在线观看| 黄色一级大片看看| 免费观看av网站的网址| 午夜福利高清视频| 欧美亚洲 丝袜 人妻 在线| av国产免费在线观看| 国产精品一区二区性色av| 国产乱人视频| 欧美bdsm另类| 日韩av不卡免费在线播放| freevideosex欧美| av福利片在线观看| 亚洲激情五月婷婷啪啪| 日本wwww免费看| 亚洲最大成人av| 91精品伊人久久大香线蕉| 日韩亚洲欧美综合| 日韩一区二区三区影片| av线在线观看网站| 久久久欧美国产精品| 三级经典国产精品| 中文天堂在线官网| 亚洲欧美精品专区久久| 99热网站在线观看| 久久ye,这里只有精品| 免费观看无遮挡的男女| 亚洲精品第二区| 亚洲精品中文字幕在线视频 | 日日摸夜夜添夜夜添av毛片| 黄色一级大片看看| 国产免费福利视频在线观看| 边亲边吃奶的免费视频| 久久精品国产自在天天线| 狂野欧美激情性xxxx在线观看| 丝袜美腿在线中文| 亚洲国产色片| 特大巨黑吊av在线直播| 在线观看一区二区三区激情| 久久久久久久久久成人| 日韩av不卡免费在线播放| 九九久久精品国产亚洲av麻豆| 精品一区在线观看国产| 久久97久久精品| 中文乱码字字幕精品一区二区三区| 麻豆乱淫一区二区| 精品一区二区三卡| 欧美人与善性xxx| 高清午夜精品一区二区三区| 三级国产精品欧美在线观看| 日韩一本色道免费dvd| 看非洲黑人一级黄片| 自拍欧美九色日韩亚洲蝌蚪91 | 在线精品无人区一区二区三 | 国产免费又黄又爽又色| 人人妻人人爽人人添夜夜欢视频 | eeuss影院久久| 日本午夜av视频| 白带黄色成豆腐渣| 色5月婷婷丁香| av.在线天堂| 国产国拍精品亚洲av在线观看| 亚洲av.av天堂| 一级毛片电影观看| 亚洲va在线va天堂va国产| 免费观看的影片在线观看| 欧美3d第一页| 精品久久久久久久人妻蜜臀av| 成人亚洲精品一区在线观看 | 国产成人免费无遮挡视频| 欧美激情久久久久久爽电影| 又爽又黄无遮挡网站| 日日啪夜夜爽| 91精品一卡2卡3卡4卡| 国产精品一区二区在线观看99| 男女啪啪激烈高潮av片| 亚洲av男天堂| 嫩草影院新地址| 日韩 亚洲 欧美在线| 中文字幕久久专区| h日本视频在线播放| 国产极品天堂在线| 五月玫瑰六月丁香| 少妇猛男粗大的猛烈进出视频 | 欧美三级亚洲精品| 成人国产麻豆网| 综合色av麻豆| 日本欧美国产在线视频| 老女人水多毛片| 麻豆久久精品国产亚洲av| 日韩大片免费观看网站| 美女内射精品一级片tv| 性色av一级| 亚洲av中文字字幕乱码综合| 亚洲国产高清在线一区二区三| 又大又黄又爽视频免费| 青春草亚洲视频在线观看| 一本一本综合久久| 亚洲人成网站在线播| 黄色日韩在线| 九色成人免费人妻av| 禁无遮挡网站| av线在线观看网站| www.av在线官网国产| 自拍偷自拍亚洲精品老妇| 深爱激情五月婷婷| 人妻少妇偷人精品九色| 日日摸夜夜添夜夜添av毛片| 成人毛片a级毛片在线播放| www.色视频.com| 69av精品久久久久久| 国产精品久久久久久久久免| 午夜免费观看性视频| 国产精品一区二区性色av| 最新中文字幕久久久久| 亚洲国产精品成人综合色| 国产精品伦人一区二区| 18禁动态无遮挡网站| 午夜视频国产福利| 日韩欧美 国产精品| 国产成人精品婷婷| 亚洲最大成人手机在线| 久久精品国产鲁丝片午夜精品| 亚洲成色77777| 亚洲最大成人av| 国产大屁股一区二区在线视频| 1000部很黄的大片| 激情五月婷婷亚洲| 久久久久久久久久久丰满| 神马国产精品三级电影在线观看| av国产久精品久网站免费入址| 亚洲国产精品999| 日韩大片免费观看网站| 国产片特级美女逼逼视频| 网址你懂的国产日韩在线| 搡老乐熟女国产| 老师上课跳d突然被开到最大视频| 亚洲精品,欧美精品| 亚洲最大成人手机在线| 国产探花极品一区二区| 国产亚洲5aaaaa淫片| 久久精品国产鲁丝片午夜精品| av专区在线播放| 欧美精品人与动牲交sv欧美| 国产男女内射视频| 国产人妻一区二区三区在| 一个人看视频在线观看www免费| 18禁裸乳无遮挡动漫免费视频 | 成人毛片60女人毛片免费| 久久精品久久精品一区二区三区| 国产精品麻豆人妻色哟哟久久| 日产精品乱码卡一卡2卡三| 欧美日韩国产mv在线观看视频 | 搞女人的毛片| 中国三级夫妇交换| 三级国产精品片| 色网站视频免费| 搡老乐熟女国产| 别揉我奶头 嗯啊视频| 边亲边吃奶的免费视频| 超碰av人人做人人爽久久| 亚洲成人一二三区av| 国产熟女欧美一区二区| 精品久久久久久久久av| 欧美 日韩 精品 国产| 1000部很黄的大片| 精品少妇久久久久久888优播| 真实男女啪啪啪动态图| 街头女战士在线观看网站| 日韩亚洲欧美综合| 欧美+日韩+精品| 日韩三级伦理在线观看| 人妻系列 视频| 一级毛片黄色毛片免费观看视频| 国产一区二区亚洲精品在线观看| 国产在线一区二区三区精| 亚洲真实伦在线观看| 国产在视频线精品| 欧美变态另类bdsm刘玥| 亚洲精品日韩av片在线观看| 亚洲国产最新在线播放| 国产伦精品一区二区三区四那| av在线观看视频网站免费| 18禁裸乳无遮挡免费网站照片| 十八禁网站网址无遮挡 | 亚洲性久久影院| 中国三级夫妇交换| 天堂俺去俺来也www色官网| 欧美区成人在线视频| 嫩草影院精品99| 精品亚洲乱码少妇综合久久| 午夜日本视频在线| 成人无遮挡网站| 欧美人与善性xxx| 国产成年人精品一区二区| 久久99热6这里只有精品| 亚洲成色77777| 精品久久国产蜜桃| 成人亚洲精品av一区二区| 日韩一本色道免费dvd| 王馨瑶露胸无遮挡在线观看| 另类亚洲欧美激情| 亚洲怡红院男人天堂| 国产淫片久久久久久久久| 在线a可以看的网站| av在线天堂中文字幕| 涩涩av久久男人的天堂| 亚洲精品自拍成人| 18禁在线无遮挡免费观看视频| 国产成人午夜福利电影在线观看| 亚洲综合色惰| 亚洲欧美日韩另类电影网站 | 狠狠精品人妻久久久久久综合| 国产高潮美女av| 一二三四中文在线观看免费高清| 可以在线观看毛片的网站| 久久久久久久久大av| 韩国高清视频一区二区三区| 国产成人精品久久久久久| 一区二区三区四区激情视频| 成人一区二区视频在线观看| 日日撸夜夜添| 特大巨黑吊av在线直播| 深夜a级毛片| 啦啦啦啦在线视频资源| 男女啪啪激烈高潮av片| 一区二区三区乱码不卡18| 欧美日本视频| 精品午夜福利在线看| 亚洲精品456在线播放app| 亚洲精品自拍成人| 男人和女人高潮做爰伦理| 九九在线视频观看精品| 一区二区三区四区激情视频| 国产又色又爽无遮挡免| 日产精品乱码卡一卡2卡三| 亚洲aⅴ乱码一区二区在线播放| 久热这里只有精品99| 一区二区av电影网| 久久99热6这里只有精品| 午夜福利网站1000一区二区三区| 亚洲欧美日韩卡通动漫| 国产精品人妻久久久久久| 美女国产视频在线观看| 久久99热6这里只有精品| 身体一侧抽搐| 免费观看无遮挡的男女| 精品久久久噜噜| 国产伦精品一区二区三区视频9| 免费在线观看成人毛片| 国产男女超爽视频在线观看| 嫩草影院精品99| 男人添女人高潮全过程视频| 亚洲av成人精品一二三区| 国产69精品久久久久777片| 在线观看av片永久免费下载| 2021少妇久久久久久久久久久| 天天一区二区日本电影三级| 久久精品综合一区二区三区| 精品人妻一区二区三区麻豆| 一区二区三区精品91| 久久久久精品性色| 人体艺术视频欧美日本| 超碰av人人做人人爽久久| 美女被艹到高潮喷水动态| 菩萨蛮人人尽说江南好唐韦庄| 麻豆乱淫一区二区| 在线a可以看的网站| 亚洲欧美日韩卡通动漫| 免费看不卡的av| 高清av免费在线| av在线app专区| eeuss影院久久| 99热全是精品| 欧美精品人与动牲交sv欧美| 成年人午夜在线观看视频| 色综合色国产| 搡老乐熟女国产| 精品视频人人做人人爽| 亚洲av成人精品一二三区| 国产精品久久久久久久久免| 蜜臀久久99精品久久宅男| 亚洲精品日本国产第一区| 国产高清不卡午夜福利| 在线观看免费高清a一片| www.av在线官网国产| 丝袜美腿在线中文| 久久6这里有精品| 国产黄片美女视频| 久久午夜福利片| 夫妻性生交免费视频一级片| 五月玫瑰六月丁香| 激情五月婷婷亚洲| 国产在线一区二区三区精| 中国三级夫妇交换| 久久精品熟女亚洲av麻豆精品| 日韩不卡一区二区三区视频在线| 女的被弄到高潮叫床怎么办| 免费av不卡在线播放| 18禁裸乳无遮挡免费网站照片| av.在线天堂| 日韩亚洲欧美综合| 国产女主播在线喷水免费视频网站| 国产老妇伦熟女老妇高清| 亚洲精品视频女| 婷婷色av中文字幕| 看非洲黑人一级黄片| 亚洲不卡免费看| 亚洲av.av天堂| 国产综合懂色| 国产亚洲91精品色在线| 精品久久久久久久人妻蜜臀av| 18禁在线播放成人免费| 中文资源天堂在线| 久久综合国产亚洲精品| 久久久久九九精品影院| 人妻 亚洲 视频| 色哟哟·www| 一级毛片aaaaaa免费看小| 大码成人一级视频| 男女那种视频在线观看| 日韩大片免费观看网站| 国产色爽女视频免费观看| 久久久久久伊人网av| 别揉我奶头 嗯啊视频| 精品国产三级普通话版| 亚洲久久久久久中文字幕| 国产一区二区在线观看日韩| 亚洲美女搞黄在线观看| 国产精品久久久久久精品电影| 亚洲国产精品国产精品| 亚洲av男天堂| 亚洲国产精品国产精品| 99久久精品热视频| 中文字幕制服av| av国产免费在线观看| 极品教师在线视频| 3wmmmm亚洲av在线观看| 国产精品蜜桃在线观看| 少妇被粗大猛烈的视频| 狠狠精品人妻久久久久久综合| 亚洲精品成人久久久久久| 欧美成人午夜免费资源| 亚洲怡红院男人天堂| 极品少妇高潮喷水抽搐| 中国三级夫妇交换| 国产色爽女视频免费观看| 亚洲精品乱久久久久久| 欧美97在线视频| 九色成人免费人妻av| 成人午夜精彩视频在线观看| 日韩制服骚丝袜av| 狂野欧美激情性bbbbbb| 成人毛片a级毛片在线播放| 亚洲精品日本国产第一区| 白带黄色成豆腐渣| 欧美一区二区亚洲| 国产伦在线观看视频一区| 一级毛片久久久久久久久女| 欧美激情久久久久久爽电影| 久久99热这里只频精品6学生| 亚洲欧美日韩东京热| 一区二区三区四区激情视频| 成人亚洲欧美一区二区av| 精品久久久精品久久久| av.在线天堂| 老司机影院成人| 日韩av在线免费看完整版不卡| 日韩一区二区三区影片| 哪个播放器可以免费观看大片| 成年av动漫网址| 亚洲国产av新网站| 新久久久久国产一级毛片| 中国三级夫妇交换| 夜夜爽夜夜爽视频| 夫妻午夜视频| av在线亚洲专区| 在线观看免费高清a一片| 欧美最新免费一区二区三区| 国产在视频线精品| 身体一侧抽搐| 午夜激情福利司机影院| av在线观看视频网站免费|