• 
    

    
    

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

      ?

      一種改進(jìn)型可配置邏輯塊的結(jié)構(gòu)設(shè)計(jì)

      2022-12-03 08:24:42蔡宏瑞范繼聰徐彥峰陳波寅
      電子與封裝 2022年11期
      關(guān)鍵詞:改進(jìn)型布線延時(shí)

      蔡宏瑞,范繼聰,徐彥峰,陳波寅

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

      1 引言

      FPGA 電路具有可重復(fù)配置、響應(yīng)時(shí)間短、可定制、維護(hù)性強(qiáng)、使用領(lǐng)域廣等優(yōu)點(diǎn)。隨著近20 年的發(fā)展,F(xiàn)PGA 的規(guī)模從幾十萬門到如今的億門級(jí),集成度逐漸提升,規(guī)模隨之增大,結(jié)構(gòu)更復(fù)雜,以實(shí)現(xiàn)更豐富的功能。與此同時(shí),業(yè)界對(duì)于FPGA 的面積和延時(shí)提出了更高的要求。

      可配置邏輯塊(CLB)是FPGA 的重要組成部分,分布在整個(gè)芯片上。不同廠家、不同系列的芯片中CLB 的數(shù)量或結(jié)構(gòu)都是不同的。CLB 的優(yōu)劣將對(duì)整個(gè)FPGA 芯片的性能產(chǎn)生巨大影響。VPR(Versatile Place and Route) 平臺(tái)是由多倫多大學(xué)開發(fā)的一個(gè)用于FPGA 結(jié)構(gòu)設(shè)計(jì)的計(jì)算機(jī)輔助工具軟件, 它可以對(duì)FPGA 的結(jié)構(gòu)進(jìn)行評(píng)估。VPR 團(tuán)隊(duì)提出了一種經(jīng)典的學(xué)術(shù)CLB 結(jié)構(gòu)[1]。商用領(lǐng)域中CLB 在實(shí)現(xiàn)特定功能時(shí)有優(yōu)秀的表現(xiàn),但也占用了更大的面積。針對(duì)CLB 的設(shè)計(jì)與建模層面的問題,本文提出了一種改進(jìn)型的CLB 方案,選用基準(zhǔn)測(cè)試集的部分電路進(jìn)行實(shí)驗(yàn),測(cè)試了該CLB 的性能。

      2 可配置邏輯塊結(jié)構(gòu)

      2.1 學(xué)術(shù)界的經(jīng)典CLB

      學(xué)術(shù)界的CLB 由多個(gè)相同的基本邏輯單元(BLE)連接組成,BLE 的結(jié)構(gòu)如圖1 所示,其包含查找表(LUT)、多路選擇器(MUX)和帶有時(shí)鐘端的觸發(fā)器(FF)各一個(gè),以及3 部分之間的連接線。隨著技術(shù)的發(fā)展,CLB 加入了進(jìn)位鏈,可以實(shí)現(xiàn)快速進(jìn)位功能,提高了運(yùn)算效率。LUT 的SRAM 也可作為存儲(chǔ)器使用,用于實(shí)現(xiàn)隨機(jī)存儲(chǔ)或移位寄存等。LUT 可直接輸出,也可經(jīng)過觸發(fā)器之后再輸出。這意味著BLE 結(jié)構(gòu)允許實(shí)現(xiàn)時(shí)序邏輯或組合邏輯,但兩者互斥,原因在于MUX 端的選擇來源于配置位,不允許同時(shí)進(jìn)行多選。VPR 工具的基準(zhǔn)架構(gòu)中提供了此類最基本CLB 的文檔介紹和建模代碼[1]。

      圖1 BLE 的結(jié)構(gòu)

      2.2 改進(jìn)型的CLB 簡介

      對(duì)于傳統(tǒng)模塊,每個(gè)LUT 可以選擇組合邏輯或時(shí)序邏輯。目前更多的電路設(shè)計(jì)采用同步時(shí)鐘,這就導(dǎo)致映射在FPGA 時(shí)CLB 的利用率不高,造成資源浪費(fèi)。改進(jìn)前后CLB 的利用率如圖2 所示,深色部分為打包后用到的子模塊。在箭頭左側(cè)的結(jié)構(gòu)中,由于寄存器數(shù)量不足,故必須映射到2 個(gè)CLB 里,且能夠看出第2 個(gè)CLB 的利用率較低;而在右側(cè)的結(jié)構(gòu)中,由于寄存器數(shù)量增多,可以在同一個(gè)CLB 中實(shí)現(xiàn)該電路?,F(xiàn)代主流廠商的架構(gòu)也是增加了每個(gè)基本邏輯單元所對(duì)應(yīng)的寄存器數(shù)量,例如Xilinx 的每個(gè)LUT 對(duì)應(yīng)2 個(gè)FF,而Intel 公司的每個(gè)自適應(yīng)邏輯模塊更是對(duì)應(yīng)4 個(gè)FF。為此,針對(duì)CLB 模型進(jìn)行改進(jìn),設(shè)置了更多的輸出端口,每個(gè)LUT 對(duì)應(yīng)2 個(gè)寄存器以提高利用率。

      圖2 改進(jìn)前后CLB 的利用率

      每個(gè)改進(jìn)型的CLB 具有8 個(gè)BLE,改進(jìn)型CLB的結(jié)構(gòu)如圖3 所示,用大寫字母A~H 來表示8 個(gè)BLE。本文的CLB 結(jié)構(gòu)具有可拆分的6 輸入LUT,1個(gè)縱向的進(jìn)位鏈,3 個(gè)選擇器,2 個(gè)帶有時(shí)鐘的FF。BLE 的輸入部分有6 個(gè),對(duì)應(yīng)LUT 的6 個(gè)輸入端口。輸出部分有4 類,從下往上分別為經(jīng)LUT 后直接輸出(O)、經(jīng)過MUX 直接輸出(MUX)、經(jīng)過2 個(gè)FF 后輸出(Q 和Q2)。

      圖3 改進(jìn)型CLB 結(jié)構(gòu)

      BLE 的具體連接關(guān)系如圖4 所示。左側(cè)的LUT為可拆分LUT,能作6 輸入1 輸出,也可作5 輸入2輸出。當(dāng)采用6 輸入時(shí),輸出端只有單個(gè)O6;作為可拆分5 輸入時(shí),未使用的A6 端口應(yīng)置為高電平,此時(shí)輸出端有O5 和O6 2 個(gè)端口。對(duì)于快速進(jìn)位鏈而言,各個(gè)BLE 之間采用級(jí)聯(lián),即下一級(jí)BLE 的輸出端COUT 連到上一級(jí)的輸入端CIN。建模時(shí)將內(nèi)部視為黑盒,而無需探索內(nèi)部專用進(jìn)位邏輯的連接方式。進(jìn)位鏈的3 個(gè)輸入部分為S0、DI0、CIN0,2 個(gè)輸出部分為CO0 和O0。每個(gè)BLE 中有3 個(gè)MUX,上方2 個(gè)與FF 相連的為時(shí)序邏輯,最下端的MUX 用于組合邏輯。組合邏輯可直接輸出,根據(jù)配置屬性來選擇LUT的O5、O6 端或進(jìn)位鏈的2 個(gè)輸出端。其他2 個(gè)MUX不能直接輸出,分別接入2 個(gè)觸發(fā)器的輸入端D。AQ2和AQ 都是觸發(fā)器的輸出端,受時(shí)鐘的邊沿影響。

      圖4 BLE 的具體連接

      3 VPR 流程與建模

      3.1 VPR 簡介

      VPR 是一款學(xué)術(shù)界通用的布局、布線軟件,根據(jù)電路和架構(gòu)描述文件,綜合之后進(jìn)行映射、打包、布局、布線,并對(duì)該類架構(gòu)進(jìn)行評(píng)估[2]。VPR 的輸入文件有2 種,一種是Verilog 電路,另一種是可擴(kuò)展標(biāo)記語言(XML)格式的FPGA 架構(gòu)描述文件。

      VPR 的主要步驟包括邏輯綜合、工藝映射、打包、布局、布線、性能評(píng)估[3]。邏輯綜合將行為級(jí)電路綜合為網(wǎng)表格式,工藝映射則是將綜合完成的網(wǎng)表在給定FPGA 上進(jìn)行映射。打包意味著將FF 和LUT 進(jìn)行配對(duì)并封裝為基本邏輯單元[4];布局則是確定所使用模塊的位置,主要基于模擬退火算法[5];布線的目的是確定互連通路。布局、布線為整個(gè)流程的關(guān)鍵階段,將決定性能的優(yōu)劣。如果性能不滿足或者超出約束范圍,則需要重新布局、布線,直到符合條件為止。所有流程完成后,VPR 將輸出各個(gè)階段的報(bào)告以及總體表現(xiàn)的結(jié)果。

      3.2 建模文件

      建模工作指對(duì)于給定的FPGA,對(duì)其每一個(gè)子模塊進(jìn)行語言描述,本章重點(diǎn)介紹與CLB 相關(guān)的部分,即BLE 中的每一部分和互連線。XML 為文本形式,將信息存儲(chǔ)在標(biāo)簽之內(nèi),標(biāo)簽的起止點(diǎn)用尖括號(hào)表示,標(biāo)簽之間可以進(jìn)行嵌套和分層[6]。早期的架構(gòu)評(píng)估使用參數(shù)化方法,即將關(guān)鍵信息用參數(shù)表示。但隨著FPGA 集成度和復(fù)雜度的提升,已有的參數(shù)無法準(zhǔn)確描述芯片特性,故參數(shù)化的方法目前已基本被淘汰,而采用XML 的格式來描述[7]。

      VPR 分析建模文件以獲得芯片的通道、開關(guān),得到相應(yīng)的邏輯資源與布線資源圖[8-9]。若描述文件出現(xiàn)錯(cuò)誤,則無法解析而導(dǎo)致流程無法完整進(jìn)行。整個(gè)架構(gòu)文件包含了模塊信息、布局信息、芯片整體信息、開關(guān)信息、線段信息和模塊信息(CLB 和I/O)[10]。

      建模文件的最高層定義了CLB 級(jí)的輸入、輸出端口。CLB 內(nèi)包括了8 個(gè)BLE。BLE 定義了2 種模式,分別叫做LUT6 和LUT5×2,含義是6 輸入LUT 和雙-5輸入LUT,其中進(jìn)位鏈部分只在LUT5×2 中生效。BLE也描述了輸入、輸出端口個(gè)數(shù)、連接關(guān)系、互連線之間的延時(shí)、建立保持時(shí)間等參數(shù)。

      4 實(shí)驗(yàn)結(jié)果與分析

      本文選取VPR 中的基準(zhǔn)電路集部分Verilog 電路在Linux 平臺(tái)進(jìn)行測(cè)試,與第2 章的傳統(tǒng)CLB 架構(gòu)相比較,探索改進(jìn)后的架構(gòu)表現(xiàn)?;鶞?zhǔn)電路來自于7 個(gè)不同的應(yīng)用領(lǐng)域,其代碼文件的大小、輸入輸出個(gè)數(shù)和復(fù)雜度均有較大跨度,具體的基準(zhǔn)電路信息見表1。為了避免其他事項(xiàng)干擾,實(shí)驗(yàn)采用如下規(guī)則。

      表1 用于測(cè)試的基準(zhǔn)電路信息

      (1)芯片長寬相等,布局為四周是輸入、輸出板塊(I/O B),中間填充CLB,目的是防止其他模塊對(duì)結(jié)果產(chǎn)生干擾。芯片規(guī)模受電路的影響,如果規(guī)模不足以實(shí)現(xiàn)該電路,VPR 工具將自動(dòng)擴(kuò)充。

      (2)所選布線資源相同,選用含有抽頭的4 倍線;單位長度的電阻值、電容值、開關(guān)信息相同,約束條件均為默認(rèn)值。

      (3)每一個(gè)CLB 都包含8 個(gè)BLE,BLE 中LUT 的輸入數(shù)為6,連接線的延時(shí)數(shù)值相同或等比例設(shè)置。

      (4)由于本文提出的CLB 結(jié)構(gòu)包含2 個(gè)FF 和3個(gè)MUX,理論上面積應(yīng)略大于傳統(tǒng)的CLB 模型。根據(jù)各個(gè)子模塊仿真的數(shù)值,實(shí)驗(yàn)時(shí)將改進(jìn)后的CLB 單個(gè)面積設(shè)為學(xué)術(shù)型CLB 的1.1 倍。

      實(shí)驗(yàn)對(duì)于所需規(guī)模、邏輯塊面積、布線面積、總面積、延遲、所用CLB 數(shù)做了統(tǒng)計(jì)。由于不同電路的數(shù)量級(jí)差距大,故本文選取改進(jìn)后的結(jié)構(gòu)與傳統(tǒng)CLB 相關(guān)參數(shù)的比例作為縱坐標(biāo)值;橫坐標(biāo)的含義是7 個(gè)Verilog電路,用序號(hào)表示(與表1 的最左列對(duì)應(yīng)),如圖5 所示。

      圖5(a)為所需規(guī)模大小,圖5(b)為該電路在不同架構(gòu)下所使用的CLB 數(shù)量。改進(jìn)型結(jié)構(gòu)的CLB 數(shù)量平均為傳統(tǒng)結(jié)構(gòu)的75.12%,由于結(jié)構(gòu)更為靈活,同一電路在打包過程中所需要的CLB 個(gè)數(shù)更少,進(jìn)而導(dǎo)致規(guī)模更小。這一點(diǎn)在組合邏輯或寄存器較多的電路用例中(序號(hào)3、4、6、7)比較明顯。

      圖5(c)為延時(shí)對(duì)比。延時(shí)的基本單位為納秒,依舊用兩者的比值來表述。由于多出19 個(gè)輸入、輸出端口,內(nèi)部連線更為復(fù)雜,互連線增多,修改后結(jié)構(gòu)的延時(shí)也略大于傳統(tǒng)架構(gòu),平均比例為108.86%。

      面積的計(jì)算單位叫做最小寬度的晶體管面積。從圖5(d)可以看出改進(jìn)后的結(jié)構(gòu)在面積層面上具有明顯的優(yōu)勢(shì),平均節(jié)省了12.95%,這是因?yàn)檫壿媺K的面積大大降低。序號(hào)2 和5 的電路浮動(dòng)較大,因?yàn)樾蛱?hào)2和5 涉及到數(shù)據(jù)存儲(chǔ)部分,而實(shí)驗(yàn)的FPGA 只有CLB和I/O 部分,未加入存儲(chǔ)相關(guān)模塊,所以用了大量CLB作為存儲(chǔ)單元,因此面積相對(duì)較大。

      圖5 改進(jìn)型結(jié)構(gòu)與傳統(tǒng)結(jié)構(gòu)的性能對(duì)比

      5 結(jié)論

      本文提出了一種改進(jìn)型CLB 的結(jié)構(gòu),增加了輸入、輸出端口和寄存器個(gè)數(shù),并優(yōu)化了CLB 內(nèi)部的連接關(guān)系。在VPR 平臺(tái)進(jìn)行建模,該文件能正確地被CAD工具解析。通過不同基準(zhǔn)電路的測(cè)試,根據(jù)實(shí)驗(yàn)結(jié)果可得知,在犧牲了一定延時(shí)的情況下,電路映射后的CLB 利用率顯著降低,在總面積上也得到了優(yōu)化。

      猜你喜歡
      改進(jìn)型布線延時(shí)
      Cr5改進(jìn)型支承輥探傷無底波原因分析
      基于級(jí)聯(lián)步進(jìn)延時(shí)的順序等效采樣方法及實(shí)現(xiàn)
      擺脫繁瑣布線,重定義家庭影院 Klipsch Reference Wireless 5.1
      面向目標(biāo)的主動(dòng)繞障PCB布線算法
      改進(jìn)型CKF算法及其在GNSS/INS中的應(yīng)用
      電子布線系統(tǒng)在工程中的應(yīng)用
      一種考慮擁擠度的布線模型及其算法
      Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
      改進(jìn)型逆變器無效開關(guān)死區(qū)消除方法
      改進(jìn)型抽頭電感準(zhǔn)Z源逆變器
      平阴县| 哈密市| 宽甸| 罗定市| 绍兴县| 宁晋县| 班戈县| 闻喜县| 阳东县| 文山县| 舟曲县| 黑水县| 闻喜县| 连山| 南通市| 晋宁县| 丽江市| 普兰县| 皋兰县| 道真| 天台县| 武冈市| 舞钢市| 鄢陵县| 龙岩市| 醴陵市| 荥阳市| 婺源县| 永胜县| 正镶白旗| 金沙县| 清水河县| 木兰县| 林口县| 额济纳旗| 兴安县| 黄浦区| 阿拉善左旗| 新田县| 二连浩特市| 抚顺市|