• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      千萬(wàn)門(mén)級(jí)FPGA裝箱實(shí)現(xiàn)及驗(yàn)證

      2016-11-15 09:08:54董志丹董宜平
      電子與封裝 2016年10期
      關(guān)鍵詞:裝箱線網(wǎng)硬核

      胡  凱,董志丹,惠  鋒,李  卿,董宜平

      (1.中國(guó)電子科技集團(tuán)公司第58研究所,江蘇無(wú)錫214072;

      2.無(wú)錫中微億芯有限公司,江蘇無(wú)錫214072)

      千萬(wàn)門(mén)級(jí)FPGA裝箱實(shí)現(xiàn)及驗(yàn)證

      胡凱1,董志丹2,惠鋒2,李卿2,董宜平1

      (1.中國(guó)電子科技集團(tuán)公司第58研究所,江蘇無(wú)錫214072;

      2.無(wú)錫中微億芯有限公司,江蘇無(wú)錫214072)

      裝箱是FPGA工具設(shè)計(jì)流程中關(guān)鍵的一步,是綜合、工藝映射和布局的橋梁,在很大程度上影響了電路的速度和功耗?;谇f(wàn)門(mén)級(jí)FPGA xc5vlx20tff323-2器件,對(duì)XST綜合工具綜合后的網(wǎng)表進(jìn)行裝箱,并把裝箱結(jié)果轉(zhuǎn)換為XDL格式文件,使用Xilinx工具驗(yàn)證其正確性。

      FPGA;裝箱;驗(yàn)證

      1  引言

      現(xiàn)場(chǎng)可編程邏輯門(mén)陣列(FPGA)作為一種可編程的芯片,由于其可重構(gòu)性及低成本的優(yōu)點(diǎn),使其在市場(chǎng)上贏得了重要的商業(yè)地位。在學(xué)術(shù)文獻(xiàn)中,針對(duì)過(guò)去那種只包含基本邏輯單元LE的簡(jiǎn)單FPGA模型的裝箱算法已經(jīng)有了深入的研究。但是現(xiàn)代商業(yè)FPGA包含可配置邏輯單元(CLB)、可配置的I/O塊(IOB)、特殊的硬核(IP)。其中商業(yè)FPGA每個(gè)CLB除了包含多個(gè)LE,還包含快速進(jìn)位鏈(CarryChain)、Muxf7/Muxf8、雙輸出端口6輸入的查找表LUT;IP硬核包含RAM塊、數(shù)字信號(hào)處理(DSP)、數(shù)字時(shí)鐘管理器(DCM)、快速I(mǎi)/O以及其他一些微處理器。

      目前,在學(xué)術(shù)界比較常用的裝箱算法相對(duì)而言比較少,較早的有Betz和Rose提出的基于面積優(yōu)化的裝箱算法[1],由于電路固有的局部性,裝箱后邏輯塊的輸入數(shù)目可能比固有邏輯塊整體的輸入數(shù)目多。Marquardt提出了基于延遲優(yōu)化的裝箱算法[2],在原有基礎(chǔ)上增加了對(duì)時(shí)延的考慮,減少了裝箱后關(guān)鍵路徑的延遲。Bozorgzadehy提出了基于布通率的裝箱算法[3],在LUTs裝箱時(shí)把布線的約束加入評(píng)價(jià)函數(shù),從而提高布線效率。不過(guò)上述算法研究對(duì)象均是針對(duì)簡(jiǎn)單FPGA模型,本文則針對(duì)千萬(wàn)門(mén)級(jí)的FPGA基于其硬件結(jié)構(gòu)展開(kāi)裝箱研究。

      2 Virtex-5 CLB結(jié)構(gòu)

      本文針對(duì)Xilinx Virtex-5這種結(jié)構(gòu)復(fù)雜的商業(yè)FPGA,實(shí)現(xiàn)其裝箱并把裝箱結(jié)果轉(zhuǎn)換成XDL文件的格式,用Xilinx工具驗(yàn)證其結(jié)果的正確性?;赩irtex-5硬件特征的復(fù)雜性,需要對(duì)特殊功能模塊進(jìn)行裝箱預(yù)處理。

      本文重點(diǎn)關(guān)注特殊的組合邏輯和IP硬核的裝箱。首先介紹Virtex-5架構(gòu)來(lái)展示商業(yè)FPGA結(jié)構(gòu)的復(fù)雜性,為下一節(jié)如何來(lái)實(shí)現(xiàn)基于復(fù)雜架構(gòu)的裝箱提供數(shù)據(jù)模型。一個(gè)Virtex-5邏輯塊CLB包含兩個(gè)SLICEs和一個(gè)開(kāi)關(guān)矩陣,每個(gè)SLICE中包含4個(gè)六輸入雙輸出LUT,8個(gè)存儲(chǔ)元件,多功能多路復(fù)用器和進(jìn)位邏輯鏈,可以實(shí)現(xiàn)邏輯、算術(shù)和ROM函數(shù)運(yùn)算。其中SLICE有兩種類型,一類為SLICEL,為普通查找表邏輯發(fā)生器,另一類為SLICEM,SLICEM支持兩個(gè)附加功能:分布式RAM存儲(chǔ)數(shù)據(jù)和移位寄存器。然而,LUT的兩個(gè)輸出端口不是等價(jià)的,其中一個(gè)速度相對(duì)較慢,當(dāng)有速度要求時(shí)這點(diǎn)必須要考慮。

      3 Virtex-5裝箱實(shí)現(xiàn)

      裝箱既是工藝映射的后處理,也可認(rèn)為是布局和布線模塊的預(yù)處理,在FPGA軟件開(kāi)發(fā)設(shè)計(jì)流程中是相當(dāng)重要的。通用的裝箱算法是先把LUTs和FFs一一配對(duì)裝箱到BLE中,然后再將多個(gè)BLE裝箱到一個(gè)SLICE邏輯塊里。就目前而言,由于商業(yè)FPGA具有更為復(fù)雜的硬件架構(gòu),通用的裝箱算法不能很好地解決其裝箱的需求,例如CLB中進(jìn)位鏈的處理、IP硬核的裝箱等。

      要實(shí)現(xiàn)層次化的FPGA裝箱首先需要把層次化的網(wǎng)表打平與優(yōu)化,然后再進(jìn)行裝箱。裝箱要優(yōu)先處理進(jìn)位鏈、分布式RAM、Muxf7/Muxf8等特殊單元。

      (1)根據(jù)SLICE內(nèi)部資源,如圖2所示,一個(gè)SLICE內(nèi)部包括4個(gè)進(jìn)位邏輯,而在SLICE外部進(jìn)位邏輯的互連線只能是直線,考慮到其走線和在SLICE內(nèi)部各個(gè)進(jìn)位邏輯連接的特殊性,在裝箱中優(yōu)先對(duì)其處理。對(duì)于一個(gè)SLICE的進(jìn)位邏輯未滿4個(gè)時(shí),其末端進(jìn)位要從MUX或者LATCH的Q端輸出;其首個(gè)進(jìn)位邏輯的輸入根據(jù)連接線網(wǎng)的屬性不同其連接會(huì)不同。

      (2)根據(jù)SLICEM內(nèi)部資源,一個(gè)SLICEM內(nèi)部包括4個(gè)6位地址線的分布式RAM,其處理方式與LUT的不同,而元件描述中有 RAM16X1D、RAM32X1S、RAM32X1D、RAM32M、RAM64X1D、RAM64M、RAM128X1S不同的原語(yǔ),它們分別有不同個(gè)數(shù)的地址端口,這就需要對(duì)上述原語(yǔ)做一次轉(zhuǎn)換,完成裝箱。

      圖1  SLICEL

      圖2 進(jìn)位鏈

      (3)對(duì)于雙輸出端口的LUT來(lái)說(shuō),LUT/FF也就有其特殊性。如圖4所示,O6直接驅(qū)動(dòng)SLICE的輸出端口A,而O5必須通過(guò)一個(gè)額外的多路選擇器,然后驅(qū)動(dòng)SLICE的輸出端口AMUX,這使得O5輸出比O6輸出要慢,因此,在要求高的情況下,O5不適于用在關(guān)鍵路徑上。

      (4)根據(jù)SLICE內(nèi)部連接關(guān)系,Muxf7的驅(qū)動(dòng)點(diǎn)是雙端口的LUT的O6端,Muxf8的負(fù)載點(diǎn)如果沒(méi)有寄存器要通過(guò)BMUX輸出,而LUT的另外端口O5端不能驅(qū)動(dòng)寄存器,O5端輸出與Muxf8的輸出容易產(chǎn)生競(jìng)爭(zhēng)。

      圖3 分布式RAM

      圖4 基本邏輯單元

      在裝箱的第一個(gè)階段首先處理特殊單元進(jìn)位邏輯,根據(jù)進(jìn)位鏈的長(zhǎng)度,按照4個(gè)邏輯一組,把進(jìn)位邏輯裝箱到不同的BLE,根據(jù)SLICE內(nèi)部的連接關(guān)系,綜合每個(gè)BLE中進(jìn)位邏輯的驅(qū)動(dòng)關(guān)系對(duì)有連接關(guān)系的LUT進(jìn)行裝箱,對(duì)于多負(fù)載(進(jìn)位邏輯)的LUT,要滿足負(fù)載的裝箱需求,需在LUT與負(fù)載間通過(guò)插入一個(gè)BUF來(lái)完成裝箱;接下來(lái)依次對(duì)分布式RAM及RAM塊進(jìn)行配對(duì)裝箱,并在裝箱后的BLE內(nèi)針對(duì)不同的RAM進(jìn)行拆分;然后對(duì)FF進(jìn)行處理,查找其數(shù)據(jù)輸入端口D的驅(qū)動(dòng)是否是LUT,把配對(duì)的LUT和FF裝箱到一個(gè)BLE中;最后特殊處理Muxf7、Muxf8,其驅(qū)動(dòng)是LUT的O6輸出,根據(jù)其連接關(guān)系查找驅(qū)動(dòng)LUT并把其裝箱到一個(gè)BLE中,如果其驅(qū)動(dòng)LUT不存在或者已被裝箱,需在MUX之前插入一個(gè)BUF。

      裝箱第二階段是根據(jù)裝箱的運(yùn)行規(guī)則檢查(DRC)進(jìn)行裝箱,以BLE之間連接的線網(wǎng)為研究對(duì)象,根據(jù)線網(wǎng)的負(fù)載引腳數(shù)從小到大對(duì)線網(wǎng)進(jìn)行排序;針對(duì)線網(wǎng)所連的BLEs,選擇其中以連接因子較小的BLE為種子,把線網(wǎng)上其他的BLE依次裝箱到種子所在的CLB中;最后把未被裝箱的不在BLE線網(wǎng)上的LUT、DFF及其他裝箱到CLB中。所謂的連接因子[4]不僅反映這個(gè)BLE和較多的線網(wǎng)相連,而且還反映出和該BLE相連線網(wǎng)所含有的引腳數(shù)較少,也即這些線網(wǎng)通過(guò)裝箱更容易被裝到CLB中。如圖5所示,a的分離度S=3.33,D=3,C=1.11;b的分離度S=2,D=3,C=0.67;b所示的單元B比a所示的單元A更適合做種子;因?yàn)檫x擇種子B可以將3條斷線完全吸收到CLB內(nèi)(如d),而A只能將一條線網(wǎng)完全吸收到CLB內(nèi)(如c)。

      圖5 連接因子的選擇

      裝箱的程序設(shè)計(jì)流程如圖6所示。

      4  裝箱驗(yàn)證

      裝箱完成后,其結(jié)果保存為XDL格式文件,然后利用Xilinx的XDL工具來(lái)驗(yàn)證其正確性。

      以18位累加器ae18_core為測(cè)試用例,其測(cè)試范圍涵蓋雙輸出端口的LUT、Muxf7/Muxf8、進(jìn)位鏈、RAM32M、RAM32X1D等分布式RAM,以及特殊的IP核DSP48。輸入為綜合后的網(wǎng)表文件(.edf,.vlg),通過(guò)本文提出的優(yōu)化裝箱布局布線后以XDL格式的文件輸出,即ae18_core_route.xdl文件,在Xilinx工具ISE Design Suite 64 Bit Command Prompt中輸入xdl-xdl2ncd ae18_core_route.xdl、drc-eae18_core_route. ncd、netgen-ecnformalityae18_core_route.ncdae18_ core_route.v-w命令,驗(yàn)證裝箱結(jié)果和規(guī)則的正確性。如圖7所示,圖7(a)是Xilinx裝箱后的結(jié)果,圖7(b)是本文結(jié)合面向?qū)ο蟪绦蛟O(shè)計(jì)裝箱后的結(jié)果,圖7(c)通過(guò)Xilinx工具驗(yàn)證了裝箱結(jié)果的正確性。

      圖7 裝箱結(jié)果的驗(yàn)證

      5  結(jié)論

      針對(duì)Xilinx Virtex-5架構(gòu)的商業(yè)FPGA,分析其硬件架構(gòu),建立數(shù)據(jù)模型和裝箱DRC;并對(duì)其特殊單元優(yōu)先處理,結(jié)合已有的裝箱算法通過(guò)面向?qū)ο蟮脑O(shè)計(jì)方法來(lái)實(shí)現(xiàn),并通過(guò)Xilinx的XDL工具對(duì)裝箱結(jié)果進(jìn)行驗(yàn)證。

      [1]V Betz,J Rose.Cluster-based logic blocks for FPGAs:Area-efficiency vs.input sharing and size[C].IEEE Custom Integrated Circuits Conference,Santa Clara,CA,1997:551-554.

      [2]A Marquardt,V Betz,J Rose.Usingclusterbased logic blocks andtiming-drivenpackingtoimproveFPGAspeedanddensity[C].International Symposium on Field-Programmable Gate Arrays,Monterey,CA,1999:37-46.

      [3]E Bozorgzadehy,S Ogrenci Memiky,X Yang z,M Sarrafzadehy.Routability-drivenPacking:Metricsand Algorithms for Cluster based FPGAs[M].

      [4]胡云,王伶俐,唐璞山,童家榕.基于布通率的FPGA裝箱算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)報(bào),2007.

      Packing Implementation and Verification for 10M-gate FPGA

      HU Kai1,DONG Zhidan2,HUI Feng2,LI Qing2,DONG Yiping1

      (1.China Electronics Technology Group Corporation No.58 Research Institute,Wuxi 214072,China;
      2.East Technologies,Inc,Wuxi 214072,China)

      Packing is a key step in the FPGA tool flow that straddles the boundaries between synthesis,technology mapping and placement,and that greatly influences circuit speed,density,and power consumption. In the paper,xc5vlx20tff323-2 device,a 10M-gate FPGA,is described in detail covering the packing of the net list synthesized by XST tool,conversion to XDL file and verification by Xilinx tools.

      FPGA;packing;verification

      TN402

      A

      1681-1070(2016)10-0032-04

      2016-6-3

      胡凱(1984—),男,江蘇常州人,東南大學(xué)電子科學(xué)與技術(shù)專業(yè)本科畢業(yè),工程師,從事集成電路設(shè)計(jì)工作,在FPGA(可編程邏輯門(mén)陣列)技術(shù)領(lǐng)域有豐富經(jīng)驗(yàn)。

      猜你喜歡
      裝箱線網(wǎng)硬核
      硬核爺爺煉成記
      “硬核”舉措下的暖心舉動(dòng)
      用“三個(gè)最嚴(yán)”彰顯“硬核”擔(dān)當(dāng)
      公民與法治(2020年6期)2020-05-30 12:44:00
      陜西制造需要“硬核”
      新型線網(wǎng)城軌乘客信息系統(tǒng)的研究與分析
      軌道交通COCC線網(wǎng)信號(hào)系統(tǒng)設(shè)計(jì)
      電機(jī)裝箱設(shè)計(jì)系統(tǒng)解決方案和應(yīng)用
      三維貨物裝箱問(wèn)題的研究進(jìn)展
      基于三維模型的可視化裝箱系統(tǒng)
      河南科技(2015年2期)2015-02-27 14:20:23
      某集團(tuán)裝箱管理信息系統(tǒng)的分析與設(shè)計(jì)
      河南科技(2014年4期)2014-02-27 14:06:58
      兴海县| 秦安县| 偏关县| 凯里市| 黄浦区| 贵德县| 莲花县| 漳平市| 榆树市| 东源县| 泊头市| 阜康市| 四川省| 周口市| 礼泉县| 周宁县| 永丰县| 交城县| 四川省| 宜宾市| 吴江市| 新竹县| 泸溪县| 莫力| 宜春市| 宁安市| 绥江县| 汾西县| 合水县| 潢川县| 左贡县| 海晏县| 通河县| 柏乡县| 鱼台县| 文山县| 琼海市| 门头沟区| 祥云县| 耿马| 闻喜县|