亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        BLE級FPGA布局實現(xiàn)及驗證

        2018-04-25 03:23:12王新晨
        電子與封裝 2018年4期
        關(guān)鍵詞:模擬退火布局半徑

        惠 鋒,許 慧,虞 健,王新晨

        (1.無錫中微億芯有限公司,江蘇無錫 214072;2.中國電子科技集團公司第五十八研究所,江蘇無錫 214072)

        1 引言

        現(xiàn)場可編程邏輯門陣列(Field-Programmable Gate Array,FPGA)是一種可以根據(jù)用戶需要來編程以改變其內(nèi)部功能的通用型芯片,這種芯片以其使用靈活、成本低廉的特點而受到廣泛的青睞。電子設(shè)計自動化(Electronic Design Automation,EDA)工具在FPGA的推廣和使用中扮演著舉足輕重的角色,這一過程主要包括綜合、打包、布局、布線、仿真驗證、位流下載等。其中布局是本文研究的重點,也是整個EDA流程中至關(guān)重要的環(huán)節(jié)。

        布局是將網(wǎng)表中的邏輯單元與實際電路的物理位置建立一一對應(yīng)關(guān)系的過程。布局首先要保證電路符合既定的約束條件,在這個前提下再進行布局質(zhì)量的優(yōu)化,其中線長、延時、功耗等都是可以考慮的指標。當前的布局算法大致可以分為三類:基于劃分的算法如MHP算法[1],基于解析的算法如使用最小二乘法求解[2],基于啟發(fā)式搜索的算法如模擬退火算法[3]。本文主要基于模擬退火算法,該算法通過設(shè)置評價函數(shù)并依據(jù)評價函數(shù)不斷交換布局模塊的位置來搜索最優(yōu)的布局。

        2 傳統(tǒng)模擬退火布局

        在傳統(tǒng)模擬退火布局開始之前首先要經(jīng)歷打包的過程。打包首先將觸發(fā)器 (flip-flop,F(xiàn)F)和查找表(Look-Up-Table,LUT)進行一對一的配對并封裝為基本邏輯單元(basic logic element,BLE),然后根據(jù)一定約束和優(yōu)化條件將若干個BLE放入一個可配置邏輯塊(Configurable Logic Block,CLB)中,在此后的過程中CLB內(nèi)部的配置不再發(fā)生改變。

        布局基于打包階段生成的CLB級網(wǎng)表進行。圖1所示為傳統(tǒng)模擬退火算法的基本流程。首先生成一個初始布局狀態(tài),這一狀態(tài)一般是隨機生成的,然后在初始布局的基礎(chǔ)上進行若干次交換并計算出初始溫度,初始半徑一般設(shè)置為芯片長度。布局的主體部分分為內(nèi)外兩層循環(huán),外循環(huán)控制溫度和交換半徑,內(nèi)循環(huán)交換CLB。每一次內(nèi)循環(huán)中僅選定一個CLB,然后根據(jù)當前的交換半徑選取一個芯片上的位置(site),如果site空置則直接將選定的CLB移動到site上,如果site上已有CLB放置則交換兩個CLB。移動CLB后,根據(jù)事先設(shè)定的評價函數(shù)計算出評價值的變化量ΔC,評價函數(shù)一般可以使用線長、延時、擁擠等作為參數(shù)。如果ΔC≤0,則直接接受該交換;若ΔC>0,則以的概率接受交換[4]。這樣算法便具有了接受差解的能力即爬坡能力。接受或拒絕交換后,一次內(nèi)循環(huán)結(jié)束,判斷是否達到了內(nèi)循環(huán)的迭代上限,若未達到則繼續(xù)下一次CLB的選取;若達到則退出內(nèi)循環(huán)。內(nèi)循環(huán)退出后在外循環(huán)中更新溫度和交換半徑,并判斷是否達到外循環(huán)退出溫度,若達到則退出,未達到則再次進入內(nèi)循環(huán)。外循環(huán)退出后,將溫度設(shè)置為0,這時候只能接受使布局變好的交換,進行若干次交換后算法結(jié)束。

        圖1 傳統(tǒng)模擬退火算法流程圖

        3 BLE級模擬退火布局實現(xiàn)

        本文基于Virtex-5芯片結(jié)構(gòu)實現(xiàn)了BLE級的布局,布局的大體過程與傳統(tǒng)的模擬退火算法相似,但也有一些不同的地方。

        3.1 布局開始前的處理

        一個Virtex-5芯片的CLB包含了兩個slice和一個開關(guān)矩陣,每個slice又可以包含最多4個BLE,如圖2即為一個slice。程序在打包階段不生成CLB級網(wǎng)表,而是直接將BLE級網(wǎng)表傳遞給布局使用,在布局結(jié)束后再生成slice級網(wǎng)表供布線使用。

        3.2 初始狀態(tài)的生成

        模擬退火開始之前先使用二次線性規(guī)劃算法進行布局,得到一個較優(yōu)的布局狀態(tài),并以此作為模擬退火的初始布局。在這個布局上進行若干次交換并記錄其評價值,以此計算出模擬退火的初始溫度,但這里所進行的交換均被拒絕,僅記錄下交換后的評價值,從而保護二次線性規(guī)劃算法生成的較優(yōu)的布局狀態(tài)不被破壞。由于已經(jīng)有了較優(yōu)的布局,初始的交換半徑也不再設(shè)置為整個芯片的長度而是直接設(shè)置為1。

        3.3 內(nèi)循環(huán)

        首先隨機選定一個交換單元,這個單元可能是一個BLE,也可以是DSP等其他Virtex-5芯片中存在的復(fù)雜單元。若選中的是一個slice型的單元則使用交換半徑來約束其交換的可達空間,在可達空間中隨機選定一個site后又分為幾種情況:(1)site空置,則直接將選定的單元移動到site上;(2)site上已有BLE放置但未滿,則隨機選擇放置到空位上或者與其中一個BLE交換,空置的位置越大放在空位上的幾率也越大,但不論是放置到空位還是進行交換,都必須先對其控制信號進行一致性的檢測,若不一致則需重新選擇其他site;(3)site上已放滿,則隨機選擇一個BLE進行交換,并檢測控制信號的一致性。如果多次單一單元的交換均失敗,則將選定單元所在site上所有的單元與選定site上所有的單元進行整體交換。若選中的不是一個slice型的單元則不使用交換半徑,直接在全芯片范圍內(nèi)選擇一個相同類型的site進行交換。圖3是選擇和交換過程的流程圖。交換后,使用基于線網(wǎng)邊界框半周長的評價函數(shù)對交換后的結(jié)果進行評價,計算出評價值的變化量ΔC。若ΔC≤0,則直接接受該交換;若 ΔC>0,則以的概率接受交換。一次內(nèi)循環(huán)結(jié)束后,判斷是否達到內(nèi)循環(huán)迭代上限,達到則退出。

        圖2 slice示例圖

        3.4 外循環(huán)

        內(nèi)循環(huán)達到迭代上限退出后進入外循環(huán)中。由于已經(jīng)在初始化時將交換半徑設(shè)置為1,外循環(huán)中不再更新交換半徑。外循環(huán)中以分段線性下降的方式更新溫度。但在前6次更新溫度時若當前布局的評價值小于初始布局的評價值,則溫度反而會上升。這一過程是為了增大模擬退火算法的搜索空間,使其向全局最優(yōu)解收斂。表1即為溫度更新的規(guī)則,t表示溫度,curscore為當前布局的總評價值,initscore為初始狀態(tài)的總評價值,outer_iter代表外循環(huán)的次數(shù),rejrate代表交換被拒絕的比例。更新完溫度后判斷是否達到外循環(huán)退出溫度,若未達到則重新進入內(nèi)循環(huán),若達到則退出外循環(huán)。

        3.5 布局結(jié)束

        外循環(huán)退出后將溫度置為0,此時只能接受使布局變好的交換,進行若干次交換后確定最終布局并生成slice級網(wǎng)表,布局結(jié)束。

        表1 溫度更新規(guī)則表

        4 布局驗證

        布局結(jié)束后,將其結(jié)果保存為xdl文件,再使用Xilinx的XDL工具來驗證其正確性。

        使用18位累加器作為測試用例,該用例中除了普通的BLE單元外還有分布式RAM和DSP等復(fù)雜單元。在使用本文提出的BLE級布局處理電路之后將其結(jié)果保存為XDL文件,命名為ae18_core_place.xdl。使用Xilinx工具ISE Design Suite 64 Bit Command Prompt,輸入 xdl-xdl2ncd ae18_core_place.xdl命令,驗證布局結(jié)果的正確性,其結(jié)果如圖4所示,轉(zhuǎn)換成功即代表布局信息合法。

        圖3 BLE級模擬退火算法流程圖

        圖4 驗證布局結(jié)果

        5 結(jié)論和展望

        本文實現(xiàn)了一種BLE級的布局算法并驗證了其正確性。這種算法不同于傳統(tǒng)的CLB級布局算法,它允許在打包之后仍可以改變CLB內(nèi)部配置,理論上可以增大解集以求獲得更好的解,今后的研究中將基于本文實現(xiàn)的算法嘗試改進和優(yōu)化。

        參考文獻:

        [1]G Karypis,R Aggarwal,V Kumar.Multilevel Hypergraph Partitioning:Application in VLSI domin[C].IEEE Transactions on Very Large Scale Integration (VLSI)Systems.1999.69-79.

        [2]謝志宏.FPGA布局布線算法的研究和優(yōu)化[D].西安:西安電子科技大學,2012.

        [3]Metropolis,N A,A Rosenbluth.Equation of State Calculations by Fast Computing Machines[J].Journal of Chemieal Physies,1953,21:1087-7092.

        [4]Vauglm Betz,Jonathan Rose.VPR:A New Packing,Placement and Routing Tool for FPGA Research[C].International Workshop on Field Programmable Logic and Applications,1997.

        猜你喜歡
        模擬退火布局半徑
        連續(xù)展成磨削小半徑齒頂圓角的多刀逼近法
        模擬退火遺傳算法在機械臂路徑規(guī)劃中的應(yīng)用
        BP的可再生能源布局
        能源(2017年5期)2017-07-06 09:25:57
        一些圖的無符號拉普拉斯譜半徑
        VR布局
        基于模糊自適應(yīng)模擬退火遺傳算法的配電網(wǎng)故障定位
        2015 我們這樣布局在探索中尋找突破
        SOA結(jié)合模擬退火算法優(yōu)化電容器配置研究
        熱采水平井加熱半徑計算新模型
        基于遺傳-模擬退火算法的城市軌道交通快慢車停站方案
        无人视频在线观看免费播放影院| 日本97色视频日本熟妇视频| 嫩呦国产一区二区三区av| 色欲网天天无码av| 少妇spa推油被扣高潮| 亚洲熟女乱色一区二区三区| 久久精品国产亚洲5555| 一区=区三区国产视频| 国产av丝袜熟女丰满一区二区 | 国产高清乱码又大又圆| 97se亚洲国产综合在线| 亚洲av一宅男色影视| 99精品国产第一福利网站| 61精品人妻一区二区三区蜜桃| 亚洲一区二区三区地址| 日本精品久久久久中文字幕| 好大好深好猛好爽视频免费| 精品综合久久久久久8888| 国产高清精品在线二区| 日本一区二区三区四区在线视频| 又大又粗欧美黑人aaaaa片| 久久久久麻豆v国产精华液好用吗| www插插插无码视频网站| 日日躁欧美老妇| 亚洲一区二区三区精品视频 | 国产精品成人va在线观看| 国内少妇自拍区免费视频| 狠狠丁香激情久久综合| 人妻少妇被猛烈进入中文| 亚洲av成人无码一二三在线观看| 国产免费av片在线观看| 纯肉无遮挡H肉动漫在线观看国产| 97碰碰碰人妻视频无码| 91精品啪在线观九色| 中文字幕乱偷无码av先锋蜜桃| 亚洲毛片αv无线播放一区| 国产伦一区二区三区久久| 天天摸天天做天天爽水多 | 国产亚洲精品久久久久久久久动漫| 亚洲VA中文字幕欧美VA丝袜| 亚洲av五月天天堂网|