• 
    

    
    

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

      真實(shí)FPGA器件下單粒子軟錯(cuò)誤評估工具設(shè)計(jì)

      2014-02-26 09:42:00周家成
      電子與封裝 2014年6期
      關(guān)鍵詞:碼流布線器件

      周家成

      (同濟(jì)大學(xué),上海 201804)

      1 引言

      基于SRAM工藝的現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)具有較高的邏輯密度,且因其靈活通用以及可重復(fù)配置的特點(diǎn)而廣泛應(yīng)用于航天電子系統(tǒng)中。然而在空間輻射環(huán)境下,SRAM型FPGA內(nèi)部的配置存儲(chǔ)器極易受到高能粒子的撞擊而發(fā)生邏輯狀態(tài)的翻轉(zhuǎn),導(dǎo)致電路結(jié)構(gòu)發(fā)生改變而產(chǎn)生軟錯(cuò)誤。因此,可靠性已經(jīng)成為FPGA設(shè)計(jì)最重要的指標(biāo)之一。

      已有研究成果證實(shí),空間環(huán)境下由于輻射造成的可靠性問題91%來自于單粒子翻轉(zhuǎn)造成的軟錯(cuò)誤[10]。軟錯(cuò)誤是可編程器件的配置發(fā)生改變導(dǎo)致電路功能錯(cuò)誤的現(xiàn)象。為了緩解和消除軟錯(cuò)誤對FPGA器件帶來的影響,學(xué)術(shù)界和工業(yè)界已經(jīng)開展了豐富的研究,如文獻(xiàn)[1,2]。然而這些研究往往基于通用的FPGA結(jié)構(gòu)模型,而無法評估真實(shí)器件對單粒子軟錯(cuò)誤的反應(yīng);另一方面,采用對真實(shí)FPGA芯片進(jìn)行高能粒子轟擊的辦法不僅價(jià)格昂貴,而且也無法在芯片的設(shè)計(jì)開發(fā)階段開展軟錯(cuò)誤的評估,使得成品的軟錯(cuò)誤性能很難得到保證。

      為了能夠在FPGA芯片的設(shè)計(jì)開發(fā)階段就對FPGA器件原型結(jié)構(gòu)、布局布線(P&R)算法的軟錯(cuò)誤性能進(jìn)行評估,保證芯片的可靠性,本文選擇了已經(jīng)廣泛應(yīng)用的Xilinx公司Virtex系列FPGA芯片[3]作為研究對象,設(shè)計(jì)并開發(fā)一款面向?qū)嶋HFPGA器件的單粒子軟錯(cuò)誤評估工具。Virtex系列FPGA芯片因其結(jié)構(gòu)精簡而具有代表性,至今在國內(nèi)尤其是航空航天領(lǐng)域仍有廣泛的應(yīng)用空間。

      本文在深入研究了目標(biāo)FPGA器件底層結(jié)構(gòu)的基礎(chǔ)上,提取了SEU敏感單元的最小結(jié)構(gòu)模型,并進(jìn)一步通過實(shí)現(xiàn)FPGA配置文件的讀入設(shè)計(jì)接口,實(shí)現(xiàn)了面向目標(biāo)FPGA軟錯(cuò)誤的軟件評估平臺(tái)的建立。與目標(biāo)硬件軟錯(cuò)誤效應(yīng)的比對驗(yàn)證表明,本文提出的軟錯(cuò)誤評估工具可以準(zhǔn)確地評估目標(biāo)FPGA芯片的軟錯(cuò)誤特性。

      2 相關(guān)工作

      FPGA軟錯(cuò)誤效應(yīng)的評估需要基于FPGA器件模型展開。本節(jié)將對國內(nèi)外研究在這兩方面的成果進(jìn)行簡要介紹。

      2.1 通用VPR模型

      VPR是基于島式結(jié)構(gòu)的布局布線工具。由于其開源的布局布線算法在學(xué)術(shù)界和工業(yè)界得到廣泛使用[4]。VPR將可編程邏輯器件按照功能邏輯劃分為不同的組成模塊,如圖1(a)所示。

      (1)可編程邏輯塊(CLB),實(shí)現(xiàn)電路設(shè)計(jì)的邏輯功能;

      (2)可編程I/O塊(IOB),連接芯片引腳于內(nèi)部信號;

      (3)布線資源,即水平與豎直兩個(gè)方向的布線通道;

      (4)可編程連接模塊,包括兩種開關(guān)矩陣Switch Box和Connection Box,分別用于連接兩個(gè)不同方向上的布線通道和連接CLB與布線通道。

      VPR結(jié)構(gòu)模型具有對稱性,通過對每個(gè)不同模塊進(jìn)行建模描述之后,就得到了整個(gè)FPGA器件的結(jié)構(gòu)。VPR采用的建模方法比CGE、SEGA更加精確[5],也給出了完整的P&R解決方案。但是VPR模型是基于實(shí)際器件的抽象,并不能精確對應(yīng)實(shí)際器件的物理結(jié)構(gòu),因而不能為真實(shí)FPGA器件提供準(zhǔn)確的故障模型。

      2.2 Virtex FPGA器件模型

      Virtex器件包含可配置邏輯塊(CLBs)、輸入輸出塊(IOBs)、RAM塊(Block RAMs)、時(shí)鐘資源、可編程布線以及配置接口電路。這些資源由配置碼流文件(.bit)進(jìn)行配置,通過配置接口完成一系列的配置指令以及配置數(shù)據(jù)的讀寫。

      Virtex器件由多個(gè)重復(fù)的Tiles構(gòu)成,包括CLB Tile、IOB Tile、DLL Tile等。其中CLB Tiles構(gòu)成了Virtex器件的主體,如圖1(b)所示。CLB Tile中除了預(yù)布線資源外,還包含了多種可配置資源,如兩個(gè)邏輯功能單元(Slice)、兩個(gè)三態(tài)總線驅(qū)動(dòng)單元(T-Buffer)、輸入輸出模塊(I/OMUX)以及全局布線資源(Global Routing Matrix,GRM)。其中,Slice內(nèi)部可配置單元的詳細(xì)結(jié)構(gòu)由圖1(c)進(jìn)一步給出,它包含了邏輯生成器(LUT)、快速算數(shù)邏輯以及觸發(fā)器來實(shí)現(xiàn)多種邏輯功能。同時(shí),OMUX將Slice的輸出接入全局布線資源,IMUX將信號從全局布線資源接入Slice和T-Buffer??梢钥吹?,這些可配置資源的功能完全受控于預(yù)定的配置單元,并通過碼流文件的配置完成預(yù)期的功能。然而一旦配置單元因?yàn)镾EU而發(fā)生軟錯(cuò)誤,電路的功能或結(jié)構(gòu)就會(huì)發(fā)生改變,影響整個(gè)FPGA器件的功能。

      3 FPGA軟錯(cuò)誤評估平臺(tái)的設(shè)計(jì)實(shí)現(xiàn)

      為了評估Virtex器件的軟錯(cuò)誤效應(yīng),首先需要根據(jù)器件特點(diǎn)建立敏感資源的結(jié)構(gòu)模型;同時(shí)通過對配置碼流文件進(jìn)行解析獲取敏感資源的設(shè)計(jì)信息,實(shí)現(xiàn)FPGA功能網(wǎng)表的提取。在此基礎(chǔ)上進(jìn)一步利用故障注入技術(shù)和本文設(shè)計(jì)的軟錯(cuò)誤仿真軟件分析軟錯(cuò)誤在器件中的傳播,研究器件軟錯(cuò)誤效應(yīng)的特性。實(shí)現(xiàn)上,本文利用Virtex器件結(jié)構(gòu)化的描述工具RapidSmith[6],并對其進(jìn)行結(jié)構(gòu)和仿真功能的擴(kuò)展,來滿足本文提出的軟錯(cuò)誤效應(yīng)評估工具的需求。

      3.1 Virtex FPGA器件的配置組織

      FPGA中可配置資源結(jié)構(gòu)發(fā)生SEU的概率與該資源所占配置數(shù)直接相關(guān)[7]。由于CLB在Virtex器件中占全器件配置位的85%以上(如XCV300)[8],并且該比例隨器件規(guī)模的加大而增加,因此本文主要針對CLB配置位進(jìn)行SEU軟錯(cuò)誤效應(yīng)的評估。

      解決了這小小的不愉快,史黛西小姐帶著大家繼續(xù)參觀。望著櫥窗里那些珍寶,步凡瞪大了眼睛,贊嘆的聲音從他的嘴里溢出。就在他隨著隊(duì)伍邊走邊看邊贊嘆的時(shí)候,他的目光突然停駐在了展館的角落——在那個(gè)展柜里,靜靜地躺著一本攤開的書,雖然書頁已經(jīng)泛黃,頁面的邊緣也顯得殘破而參差不齊,但讓人疑惑的是,書上的字符不是工工整整的印刷體,而是龍飛鳳舞的手寫體!

      圖1 通用VPR結(jié)構(gòu)模型和Virtex系列FPGA結(jié)構(gòu)

      如圖2(a)所示,Virtex器件中配置碼流的存儲(chǔ)可以表征為比特矩陣的形式,其中包含了CLB中各種可配置資源的配置信息(含冗余比特)[9]。如果已知一個(gè)CLB配置位在其所屬矩陣中的相對坐標(biāo),以及該CLB在整個(gè)器件中的空間位置編號,就可以計(jì)算出該比特在整個(gè)配置流中的絕對位置;反之亦然。

      因此,本文首先通過對配置碼流文件組織結(jié)構(gòu)的分析獲得了CLB配置矩陣與Virtex物理結(jié)構(gòu)之間準(zhǔn)確的對應(yīng)關(guān)系,如圖2(b)所示。根據(jù)這個(gè)對應(yīng)關(guān)系,就可以建立配置碼流文件中具體的一個(gè)配置位與Virtex器件中某個(gè)配置單元和可配置資源的聯(lián)系,從而為軟錯(cuò)誤效應(yīng)的準(zhǔn)確分析打下基礎(chǔ)。

      3.2 軟件平臺(tái)的建立

      本文提出的軟錯(cuò)誤評估工具需要對器件的資源結(jié)構(gòu)以及各種可配置資源之間的邏輯連接關(guān)系進(jìn)行描述。為此,我們利用如圖3所示的Device類來層次化地記錄器件的結(jié)構(gòu)和連接信息。Device類包含一個(gè)由Tile對象組成的二維陣列,以及一個(gè)Primitive Def類來對Primitive Site對象的結(jié)構(gòu)進(jìn)行形式化的定義。Tile對象專門用于保存各種資源間的連接關(guān)系。它包含三個(gè)類成員:Wire、WireConnection和Primitive Site。其中Wire描述了Tile中所有的硬線資源。每一個(gè)Wire有數(shù)個(gè)WireConnection對象與之對應(yīng),描述了這條硬線在器件中所有的連接關(guān)系,WireConnection的實(shí)例構(gòu)成了器件中全部可供設(shè)計(jì)使用的連線資源。Primitive Site聲明了Tile中存在的邏輯單元,如Slice、T Buffer,但并不描述其詳細(xì)結(jié)構(gòu)。

      為了獲得器件設(shè)計(jì)實(shí)例的功能網(wǎng)表,需要描述器件中邏輯電路的設(shè)計(jì)結(jié)構(gòu),即具體電路設(shè)計(jì)使用到的資源和連接情況。為此,我們利用如圖4所示的Design類來層次化地描述FPGA所實(shí)現(xiàn)的邏輯網(wǎng)絡(luò)。器件的邏輯網(wǎng)絡(luò)包含兩類:首先Frame Instance表示在設(shè)計(jì)中被實(shí)例化的Primitive Site,是頂層的邏輯結(jié)構(gòu);Global Net表示全局互聯(lián)線網(wǎng),連接各個(gè)Frame Instance形成頂層電路網(wǎng)絡(luò)。

      圖3 FPGA器件資源模型結(jié)構(gòu)

      圖4 FPGA設(shè)計(jì)結(jié)構(gòu)模型

      進(jìn)一步,在Frame Instance內(nèi)部,同樣建立邏輯與互聯(lián)資源的網(wǎng)絡(luò)結(jié)構(gòu):Bool Element和Inner Net。Bool Element擴(kuò)展自Primitive Def下的Element,描述了具有邏輯功能的Element,如LUT或邏輯門。它具備Runnable接口,能夠被仿真內(nèi)核調(diào)用實(shí)現(xiàn)功能函數(shù)的仿真。Inner Net在功能上類似于Global Net,它連接了Bool Element。

      圖5 功能仿真模型網(wǎng)絡(luò)結(jié)構(gòu)示意圖

      在完成器件資源的建模和電路結(jié)構(gòu)的定義之后,讀入ISE標(biāo)準(zhǔn)設(shè)計(jì)流程生成的.bit文件,以生成可仿真的鏈路網(wǎng)絡(luò)模型。讀入的過程首先將讀入的配置文件的比特流按照其組織方式還原成配置矩陣,找出變化的配置位,再通過配置位的相對坐標(biāo)找到其對應(yīng)的可配置結(jié)構(gòu)。接下來,得到了這些散列的可配置結(jié)構(gòu)之后,建立兩類線網(wǎng)對象,即Global Net和Inner Net實(shí)現(xiàn)可配置結(jié)構(gòu)的互連。于是將FPGA電路建立了如圖5所示的層次化網(wǎng)絡(luò)結(jié)構(gòu),用于仿真軟錯(cuò)誤的注入、傳播。

      3.3 軟錯(cuò)誤故障注入、傳播和顯現(xiàn)

      本文采用故障注入技術(shù)來模擬軟錯(cuò)誤對器件配置字造成的翻轉(zhuǎn)情況。簡單來講,通過在碼流文件中隨即注入,通過配置位的索引查找到器件中該配置位對應(yīng)的可編程單元,賦予其特定故障;再利用功能網(wǎng)表對電路進(jìn)行仿真以模擬軟錯(cuò)誤在器件中的傳播和顯現(xiàn)過程,并最終將輸出與真實(shí)電路的輸出進(jìn)行比較。

      可配置單元的故障模型根據(jù)故障點(diǎn)發(fā)生的位置可以分為兩種情況:當(dāng)故障點(diǎn)位于Bool Element時(shí),需要利用發(fā)生SEU后新的功能函數(shù)來替代原有功能函數(shù)進(jìn)行故障單元的仿真;當(dāng)故障點(diǎn)位于PIP時(shí),如圖6所示,需要根據(jù)故障敏感單元的故障模型計(jì)算故障點(diǎn)的行為函數(shù),并將計(jì)算得到的故障電平值傳播到每一個(gè)下游輸入引腳。故障點(diǎn)的行為函數(shù)可能涉及多個(gè)Wire的電平值,比如在等效MUX結(jié)構(gòu)隨機(jī)發(fā)生SEU的情況下,這些輸入Wire都有可能會(huì)被錯(cuò)誤地輸出,影響電路中信號的正確傳播。

      圖6 PIP故障點(diǎn)的故障傳播

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

      為驗(yàn)證本文提出的軟錯(cuò)誤軟件評估平臺(tái)的準(zhǔn)確性,我們以兩個(gè)示例電路——8位的全加器和8位的乘法器來對軟錯(cuò)誤效應(yīng)進(jìn)行驗(yàn)證。具體來講,通過軟件平臺(tái)對碼流文件進(jìn)行解析和仿真,讀入到軟件平臺(tái),并同時(shí)將相同的碼流文件下載到硬件實(shí)驗(yàn)板,利用相同的輸入向量比較軟件的仿真輸出與硬件輸出的匹配度。

      表1給出了兩個(gè)示例設(shè)計(jì)完成ISE綜合、布局布線、碼流生成后在目標(biāo)FPGA器件中資源的使用情況。雖然采用的示例電路沒有占用全部的FPGA資源,但考慮到FPGA可配置資源具有高度重復(fù)和對稱的結(jié)構(gòu),軟錯(cuò)誤在同類型資源上的效應(yīng)也具有高度一致性的特點(diǎn),因此采用的示例電路一定程度上可以較為準(zhǔn)確地反映出本文提出的軟件評估平臺(tái)對軟錯(cuò)誤仿真的準(zhǔn)確程度。

      表1 實(shí)驗(yàn)電路在目標(biāo)器件上資源的占用情況

      實(shí)驗(yàn)首先對無故障電路模型進(jìn)行測試,測試輸入向量共256對。經(jīng)驗(yàn)證,無故障電路仿真結(jié)果的匹配度為100%,即所提出的軟件評估平臺(tái)在無故障的條件下可以給出與實(shí)際器件完全相同的結(jié)果,這表明本文所提出的軟件評估平臺(tái)在功能上是正確的。

      接下來隨機(jī)對電路注入SEU故障并對故障電路進(jìn)行重新仿真。同時(shí)將故障碼流下載到FPGA器件上以比對兩個(gè)平臺(tái)的輸出。表2給出了隨機(jī)注入故障的總數(shù)和所在資源的分布情況,圖7給出了軟件仿真平臺(tái)與實(shí)際FPGA器件在電路發(fā)生軟錯(cuò)誤下結(jié)果的匹配度。

      表2 實(shí)驗(yàn)電路故障點(diǎn)所在資源的分布情況

      圖7 故障注入后軟件仿真和實(shí)際器件的匹配度結(jié)果

      實(shí)驗(yàn)結(jié)果表明,對于LUT和PIP中的軟錯(cuò)誤,本文提出的軟錯(cuò)誤仿真軟件可以給出很好的仿真精度,匹配度達(dá)到90%以上;對于MUX來說,匹配度也達(dá)到75%以上。不同資源類型故障匹配度的差異,說明電路中實(shí)際結(jié)構(gòu)的故障模型準(zhǔn)確性是影響故障仿真結(jié)果的重要因素。總體來講,利用本文提出的軟錯(cuò)誤評估平臺(tái)在故障注入實(shí)驗(yàn)下與真實(shí)硬件的平均匹配度達(dá)到了理想的預(yù)測效果。這表明本工具對目標(biāo)FPGA器件的軟錯(cuò)誤效應(yīng)有很好的評估能力,也表明本文提出的軟錯(cuò)誤軟件評估方法具有良好的應(yīng)用價(jià)值。

      5 結(jié)論與展望

      本文設(shè)計(jì)并提出了一款面向真實(shí)FPGA器件SEU效應(yīng)的軟件評估平臺(tái)。實(shí)驗(yàn)結(jié)果表明,本文提出的方法和平臺(tái)可以準(zhǔn)確地對目標(biāo)器件的SEU效應(yīng)進(jìn)行評估,從而為FPGA結(jié)構(gòu)設(shè)計(jì)和應(yīng)用開發(fā)提供先于硬件實(shí)現(xiàn)的軟件驗(yàn)證環(huán)境。通過對電路模型和軟錯(cuò)誤分析的改進(jìn),我們可以進(jìn)一步提高對軟錯(cuò)誤效應(yīng)的評估精度,為高可靠性FPGA芯片的研究、開發(fā)和設(shè)計(jì)提供更準(zhǔn)確的參考。

      [1] L Sterpone, M Violante. A New Reliability-Oriented Place and Route Algorithm for SRAM-based FPGAs[J]. IEEE Transactions on Computers, 2006, 55(6): 732-744.

      [2] 李興政,楊海鋼,等. VPR在FPGA結(jié)構(gòu)設(shè)計(jì)中的應(yīng)用[J]. 電子器件,2007, (10):1874-1877.

      [3] 基于Scrubbing的空間SRAM型FPGA抗SEU系統(tǒng)設(shè)計(jì)[J].

      [4] 劉攀,周強(qiáng),等. 基于VPR的層次是FPGA結(jié)構(gòu)描述方法研究[J]. 微電子學(xué),2009, (2):105-110.

      [5] Vaughn Betz, Jonathan Rose. Automatic Generation of FPGA Routing Architectures from High-Level Descriptions[A]. In: FPGA. 2000.

      [6] Christopher Lavin, Marc Padilla, etc. A Library for Lowlevel Manipulation of Partially Placed-and-Routed FPGA Designs[EB/OL]. rapidsmith.sourceforge.net/docs.html

      [7] 周永彬,楊俊. SRAM型FPGA單粒子翻轉(zhuǎn)失效率自動(dòng)測試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測量與控制,2010,18(10): 2272-2274.

      [8] Xilinx. Virtex Series Configuration Architecture User Guide[OL]. www.xilinx.com

      [9] WANG ZhongMing, YAO ZhiBin, etc. Bitstream decoding and SEU-induced failure analysis in SRAM-based FPGAs[J]. SCIENCE CHINA-Information Sciences, 2012,(4): 971-982.

      [10] P Graham, M Caffrey, J Zimmerman, D E Johnson, P Sundararajan, C Patterson. Consequences and Categories of SRAM FPGA Configuration SEUs. Militaryand Aerospace Applications of Programmable LogicDevices (MAPLD) ,2003.

      猜你喜歡
      碼流布線器件
      分布式碼流實(shí)時(shí)監(jiān)控與錄制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      數(shù)字電視TS碼流協(xié)議簡要分析
      視聽(2021年8期)2021-08-12 10:53:42
      擺脫繁瑣布線,重定義家庭影院 Klipsch Reference Wireless 5.1
      面向目標(biāo)的主動(dòng)繞障PCB布線算法
      電子測試(2018年22期)2018-12-19 05:12:14
      電子布線系統(tǒng)在工程中的應(yīng)用
      旋涂-蒸鍍工藝制備紅光量子點(diǎn)器件
      一種考慮擁擠度的布線模型及其算法
      面向高速應(yīng)用的GaN基HEMT器件
      一種加載集總器件的可調(diào)三維周期結(jié)構(gòu)
      一種比較ASN.1碼流差異的方法
      阳山县| 玛沁县| 修武县| 靖州| 汉源县| 陕西省| 巴南区| 会昌县| 深水埗区| 潜江市| 东城区| 金寨县| 佳木斯市| 定襄县| 西宁市| 皋兰县| 同仁县| 濉溪县| 台南市| 长丰县| 大渡口区| 普宁市| 芒康县| 寻乌县| 海口市| 古交市| 沅陵县| 秦皇岛市| 阳谷县| 永寿县| 琼结县| 湖州市| 通许县| 浦北县| 日土县| 泌阳县| 巫山县| 白河县| 大新县| 合阳县| 吐鲁番市|