• 
    

    
    

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

      面向獨(dú)熱編碼的有限狀態(tài)機(jī)抗單粒子翻轉(zhuǎn)設(shè)計(jì)*

      2022-08-26 07:42:24范毓洋
      電訊技術(shù) 2022年8期
      關(guān)鍵詞:狀態(tài)機(jī)寄存器高位

      王 鵬,鄧 智,b,范毓洋

      (中國(guó)民航大學(xué) a.民航航空器適航審定技術(shù)重點(diǎn)實(shí)驗(yàn)室;b.中歐航空工程師學(xué)院,天津 300300)

      0 引 言

      在高空環(huán)境下,電子元器件更容易受到高能粒子的影響,從而發(fā)生單粒子翻轉(zhuǎn)(Single Event Upset,SEU)[1],導(dǎo)致電路存儲(chǔ)數(shù)據(jù)錯(cuò)誤、控制狀態(tài)改變等后果,嚴(yán)重者甚至能造成系統(tǒng)故障[2]。而在時(shí)序電路設(shè)計(jì)中處于核心地位的有限狀態(tài)機(jī)用于航空航天電路設(shè)計(jì)時(shí),也容易受到單粒子翻轉(zhuǎn)影響[3]。為了減少單粒子翻轉(zhuǎn)帶來(lái)的影響,目前較為常見(jiàn)的處理方式為三模冗余(Triple Modular Redundancy,TMR)[4]和編碼方式設(shè)計(jì)[5-7]。三模冗余能夠?qū)崿F(xiàn)1位翻轉(zhuǎn)錯(cuò)誤的抵御,但無(wú)法處理多位數(shù)據(jù)翻轉(zhuǎn)的情況[8]。而編碼方式設(shè)計(jì)這一領(lǐng)域也有其局限性,例如常用的漢明碼只能實(shí)現(xiàn)糾一檢二的功能[9]。而能糾正多位錯(cuò)誤的編碼,例如RS碼、(14,8)循環(huán)碼[10]、(16,8)準(zhǔn)循環(huán)碼[8]則存在編譯碼過(guò)程復(fù)雜、邏輯資源占用多的缺點(diǎn)。

      針對(duì)上述方案的不足,本文利用有限狀態(tài)機(jī)中常用的獨(dú)熱碼的特性,提出了一種抗單粒子翻轉(zhuǎn)加固設(shè)計(jì)方案。該方案首先根據(jù)實(shí)際需求對(duì)獨(dú)熱碼進(jìn)行冗余,然后添加了高位記錄模塊和高位數(shù)比較模塊完成冗余獨(dú)熱碼處理,從而實(shí)現(xiàn)抗單粒子翻轉(zhuǎn)設(shè)計(jì)。

      本方案相比于傳統(tǒng)的三模冗余和編碼具有顯著的兩個(gè)優(yōu)點(diǎn):一是能夠處理多位單粒子翻轉(zhuǎn)情況,并且能夠根據(jù)實(shí)際情況進(jìn)行實(shí)時(shí)調(diào)整冗余倍數(shù),達(dá)到調(diào)整抗單粒子翻轉(zhuǎn)能力的目的;二是相比于編碼方式,本方案的邏輯簡(jiǎn)單,不需要編碼譯碼,具有邏輯簡(jiǎn)單、邏輯資源占用少、便于開(kāi)發(fā)等優(yōu)點(diǎn)。

      1 有限狀態(tài)機(jī)加固設(shè)計(jì)

      如圖1所示,有限狀態(tài)機(jī)分為米利機(jī)和摩爾機(jī)兩種基本類型。

      圖1 有限狀態(tài)機(jī)結(jié)構(gòu)圖

      在有限狀態(tài)機(jī)中,單粒子翻轉(zhuǎn)主要發(fā)生在狀態(tài)寄存器區(qū)域,且當(dāng)狀態(tài)寄存器發(fā)生單粒子翻轉(zhuǎn)故障時(shí),兩種有限狀態(tài)機(jī)都會(huì)受到影響,進(jìn)入未知狀態(tài)。因此本文基于圖1所示米利機(jī)和摩爾機(jī)的基本結(jié)構(gòu)對(duì)狀態(tài)寄存器采取了加固設(shè)計(jì),具體結(jié)構(gòu)如圖2所示。

      (a)加固后的米利機(jī)結(jié)構(gòu)圖

      1.1 獨(dú)熱碼冗余

      獨(dú)熱碼冗余是實(shí)現(xiàn)加固設(shè)計(jì)的基礎(chǔ),具體的冗余倍數(shù)則根據(jù)實(shí)際情況進(jìn)行選擇。假設(shè)某設(shè)備中要求發(fā)生最高N位翻轉(zhuǎn)仍能正常工作,則此時(shí)冗余倍數(shù)應(yīng)為N。此外,冗余的方式與普通的三模冗余方式也有所區(qū)別:三模冗余是將整個(gè)狀態(tài)當(dāng)作整體進(jìn)行冗余,然后判斷;而本文則是將狀態(tài)的各個(gè)比特位的數(shù)據(jù)當(dāng)作個(gè)體進(jìn)行冗余。圖3(a)展示了一個(gè)簡(jiǎn)單狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移圖,假設(shè)要求此狀態(tài)機(jī)發(fā)生最高3位翻轉(zhuǎn)仍能正常工作,則此時(shí)的冗余倍數(shù)N應(yīng)等于3,獨(dú)熱碼經(jīng)過(guò)3倍冗余之后的形式如圖3(b)所示。

      圖3 示例狀態(tài)機(jī)描述

      1.2 高位記錄模塊和高位數(shù)比較模塊

      高位記錄模塊和高位數(shù)比較模塊共同完成對(duì)冗余獨(dú)熱碼的處理,以達(dá)到糾正單粒子翻轉(zhuǎn)故障的目的。其中,高位記錄模塊根據(jù)當(dāng)前狀態(tài)和輸入得出下一狀態(tài)的獨(dú)熱碼高位所在位置。以圖3(a)為例,假設(shè)當(dāng)前狀態(tài)為狀態(tài)1且輸入為1,則下一狀態(tài)應(yīng)為狀態(tài)2。狀態(tài)2的獨(dú)熱編碼為010,高位位于第二位(從右至左),所以此時(shí)高位記錄模塊中應(yīng)記下的高位位置為2。由于高位位置只可能在第一位、第二位和第三位三種位置,所以只需要兩位寄存器即可,此時(shí)兩位寄存器中存儲(chǔ)的數(shù)據(jù)應(yīng)為01(第一位記為00,第二位記為01,第三位記為10)。

      獨(dú)熱編碼進(jìn)行冗余之后,單個(gè)比特位會(huì)冗余為N個(gè)數(shù)據(jù)(N代表冗余倍數(shù)),這樣的N個(gè)數(shù)據(jù)被定義為同一組,由數(shù)值為“1”冗余而來(lái)的組稱為高位組,由數(shù)值為“0”冗余而來(lái)的組稱為低位組。如圖3(b)所示,狀態(tài)1的第一位經(jīng)過(guò)3倍冗余之后成為了冗余后的狀態(tài)1的第一、二、三位,則冗余后的狀態(tài)1的第一、二、三位處于同一組,由于狀態(tài)1的第一位數(shù)值為“1”,因此冗余后的狀態(tài)1的第一、二、三位共同構(gòu)成高位組。高位數(shù)比較模塊則是對(duì)冗余后的獨(dú)熱碼各組中的高位數(shù)量進(jìn)行比較,若是存在一組高位數(shù)量最大,則將其對(duì)應(yīng)的獨(dú)熱碼數(shù)據(jù)位記作1,其他數(shù)據(jù)位記作0;若是存在兩組及以上的最大高位數(shù)量相同,則讀取高位記錄模塊中的數(shù)據(jù),確定高位在獨(dú)熱碼中的位置,并輸出正確狀態(tài)。

      經(jīng)過(guò)高位數(shù)比較模塊和高位記錄模塊對(duì)冗余獨(dú)熱碼處理之后,獨(dú)熱碼數(shù)據(jù)能夠有效抵御單粒子翻轉(zhuǎn)。圖4給出了加固設(shè)計(jì)完成三位單粒子翻轉(zhuǎn)糾正的過(guò)程。圖4(a)中三位單粒子翻轉(zhuǎn)都發(fā)生在同一組內(nèi),導(dǎo)致存在兩組高位數(shù)量相同,此時(shí)則根據(jù)高位記錄模塊中的數(shù)據(jù)確定高位所在位置,完成正確的輸出。圖4(b)中的三位翻轉(zhuǎn)分別發(fā)生在第一組和第二組以及高位位置記錄模塊中,由于不存在最大高位數(shù)量相同的兩組,故無(wú)需高位記錄模塊參與,直接完成正確數(shù)據(jù)的輸出。

      (a)高位記錄模塊參與控制

      2 仿真驗(yàn)證

      2.1 驗(yàn)證模型

      本文將航空全雙工交換以太網(wǎng)(Avionics Full Duplex Switched Ethernet,AFDX)中的入隊(duì)數(shù)據(jù)總線控制模塊作為驗(yàn)證模型,并注入單粒子翻轉(zhuǎn)故障,根據(jù)其仿真結(jié)果來(lái)驗(yàn)證設(shè)計(jì)方法的可行性。

      入隊(duì)數(shù)據(jù)總線控制模塊的作用是根據(jù)業(yè)務(wù)類型(BE業(yè)務(wù)和TTRC業(yè)務(wù))控制數(shù)據(jù)緩存。要實(shí)現(xiàn)這一功能一共需要5個(gè)狀態(tài),分別是初始狀態(tài)、預(yù)接收狀態(tài)、TTRC接收狀態(tài)、BE接收狀態(tài)和結(jié)束狀態(tài)。具體狀態(tài)轉(zhuǎn)移圖和獨(dú)熱編碼如圖5所示。

      圖5 入隊(duì)數(shù)據(jù)總線控制模塊的狀態(tài)機(jī)描述

      現(xiàn)假設(shè)該模塊要求能糾正三位單粒子翻轉(zhuǎn)錯(cuò)誤,則冗余倍數(shù)N=3,獨(dú)熱編碼應(yīng)該冗余3倍。本文進(jìn)行的仿真驗(yàn)證便是基于冗余3倍后的獨(dú)熱編碼展開(kāi)的。

      2.2 故障注入

      故障注入的作用是模擬故障發(fā)生,用于檢驗(yàn)設(shè)計(jì)方法。入隊(duì)數(shù)據(jù)總線控制模塊是通過(guò)添加一個(gè)接口injection以實(shí)現(xiàn)控制是否注入故障。如果選擇注入故障,則通過(guò)改變寄存器中的數(shù)據(jù)以模擬單粒子翻轉(zhuǎn)發(fā)生。為了更好地檢驗(yàn)其抗單粒子翻轉(zhuǎn)能力,本部分根據(jù)需求考慮了最壞情況的發(fā)生(發(fā)生了三位單粒子翻轉(zhuǎn)),并且設(shè)計(jì)了兩種注入場(chǎng)景:場(chǎng)景1是單粒子翻轉(zhuǎn)全發(fā)生在狀態(tài)寄存器中;場(chǎng)景2是兩位單粒子翻轉(zhuǎn)發(fā)生在狀態(tài)寄存器中,一位發(fā)生在高位記錄模塊中的寄存器。這兩種場(chǎng)景考慮了最壞情況和單粒子翻轉(zhuǎn)是否發(fā)生在高位記錄模塊之中,具有代表性。

      2.3 仿真結(jié)果

      圖6為注入故障后的波形圖,其中injection表示是否注入單粒子翻轉(zhuǎn),bus_data表示輸入數(shù)據(jù),cstate代表當(dāng)前狀態(tài),nstate代表下一狀態(tài),cnt1~5分別表示第一、二、三、四、五組高位數(shù),high_position表示高位所在位置,write_en表示輸出使能信號(hào),write_data表示輸出數(shù)據(jù)。

      圖6紅色框中展示了注入場(chǎng)景1之后信號(hào)的情況:三位單粒子翻轉(zhuǎn)全發(fā)生在了第一組中,使得本應(yīng)為15’b000_000_111_000_000的nstate數(shù)據(jù)轉(zhuǎn)變?yōu)?5’b000_000_111_000_111。因此此時(shí)存在兩組最大高位數(shù)相等的情況,即cnt1=cnt3,則根據(jù)high_position數(shù)據(jù)確定高位處于第三位(high_position為3’b010,表示高位位于第三位),所以在下一時(shí)鐘周期,cstate為5’b00100,這與預(yù)期的下一狀態(tài)一致。

      圖6綠色框中展示了注入場(chǎng)景2之后信號(hào)的情況:?jiǎn)瘟W臃D(zhuǎn)發(fā)生在狀態(tài)寄存器中的第三組,和高位記錄模塊中表示第一位的寄存器,使得本應(yīng)為15’b111_000_000_000_000的nstate數(shù)據(jù)轉(zhuǎn)變?yōu)?5’b111_000_110_000_000,本應(yīng)為3’b100的high_position數(shù)據(jù)轉(zhuǎn)變?yōu)?’b101。由于此時(shí)不存在最大高位數(shù)相等的情況,高位記錄模塊無(wú)需參與判定,所以在下一時(shí)鐘周期,cstate為5’b10000,這與預(yù)期的下一狀態(tài)一致。

      圖6 故障注入后仿真結(jié)果

      如果采用常用的三模冗余方式對(duì)入隊(duì)數(shù)據(jù)總線控制模塊進(jìn)行加固,當(dāng)同時(shí)發(fā)生三位單粒子翻轉(zhuǎn)的時(shí)候,有限狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移可能出現(xiàn)故障,導(dǎo)致無(wú)法進(jìn)入接收狀態(tài)從而使得應(yīng)傳輸?shù)臄?shù)據(jù)未傳輸,也可能導(dǎo)致無(wú)法進(jìn)入結(jié)束狀態(tài)從而使得不應(yīng)傳輸?shù)臄?shù)據(jù)繼續(xù)傳輸。而本文的設(shè)計(jì)方法能夠幫助入隊(duì)數(shù)據(jù)總線控制模塊解決三位單粒子同時(shí)翻轉(zhuǎn)帶來(lái)的故障,保證了正常的狀態(tài)轉(zhuǎn)移,實(shí)現(xiàn)了控制數(shù)據(jù)緩存的作用。

      3 可靠性評(píng)估

      本文中將比特位翻轉(zhuǎn)事件視為離散隨機(jī)事件,故在單位時(shí)間內(nèi)單個(gè)寄存器中發(fā)生單粒子翻轉(zhuǎn)次數(shù)的概率服從泊松分布。泊松分布的概率函數(shù)如下:

      (1)

      式中:λ代表單位時(shí)間內(nèi)發(fā)生單粒子翻轉(zhuǎn)的平均次數(shù)。

      單個(gè)寄存器在發(fā)生奇數(shù)次翻轉(zhuǎn)才會(huì)導(dǎo)致存儲(chǔ)數(shù)據(jù)發(fā)生改變,此類事件發(fā)生的概率記為P0,計(jì)算公式如下:

      (2)

      寄存器存儲(chǔ)數(shù)據(jù)不發(fā)生改變的概率記為P1,計(jì)算公式如下:

      (3)

      為了更方便地評(píng)估本文加固方法的可靠性,本部分將可靠事件分為獨(dú)立的兩種事件:事件1表示高位組中的數(shù)據(jù)“1”數(shù)量大于所有低位組中的數(shù)據(jù)“1”數(shù)量;事件2表示至少存在一組低位組中的數(shù)據(jù)“1”數(shù)量等于高位組中的數(shù)據(jù)“1”數(shù)量,但不存在一組低位組中的數(shù)據(jù)“1”數(shù)量大于高位組中的數(shù)據(jù)“1”數(shù)量,且高位記錄模塊中的寄存器記錄數(shù)據(jù)不發(fā)生改變。記有限狀態(tài)機(jī)不發(fā)生故障概率為Psuccess,事件1發(fā)生概率為P2,事件2發(fā)生概率為P3。由于事件1和事件2相互獨(dú)立,故

      Psuccess=P2+P3。

      (4)

      (5)

      由于一共有M個(gè)狀態(tài),所以高位記錄模塊一共需要「lbM?個(gè)寄存器(「?為向上取整符號(hào)),則高位記錄模塊寄存器不發(fā)生數(shù)據(jù)改變的概率為P1「lb M?,所以事件2發(fā)生的概率P3為

      (6)

      根據(jù)Psuccess可以求得失效概率Pfailure為

      Pfailure=1-Psuccess。

      (7)

      當(dāng)λ=1/50時(shí),Pfailure與M和N的關(guān)系如圖7所示。Pfailure隨著M的增大而增大,這是由于狀態(tài)數(shù)量的增加,使得受單粒子翻轉(zhuǎn)影響的寄存器數(shù)量增加,從而導(dǎo)致Pfailure增加。圖7中,當(dāng)M=17時(shí),Pfailure明顯增加。這是由于相比于M=16時(shí),高位記錄模塊中需要一個(gè)額外的寄存器用于記錄位置信息,增加了寄存器數(shù)量,導(dǎo)致Pfailure明顯增加。Pfailure隨著N的增加而減少,這是由于冗余倍數(shù)N的增加,使得狀態(tài)機(jī)的抗單粒子能力更強(qiáng),Pfailure更小。上述結(jié)果符合預(yù)期。

      (a)冗余倍數(shù):3~5

      (8)

      根據(jù)Psuccess-TMR可以求得失效概率Pfailure-TMR為

      Pfailure-TMR=1-Psuccess-TMR。

      (9)

      本文定義了失效對(duì)比度A以便對(duì)比本文加固方法的可靠性和傳統(tǒng)三模冗余加固方法的可靠性:

      (10)

      取定冗余倍數(shù)N=3,則A與λ和M的關(guān)系如圖8所示。

      圖8 A與M的關(guān)系圖

      圖8中,大于0.99的A的值一共有421個(gè),剩下的29個(gè)值也位于0.99附近,這說(shuō)明了相比于Pfailure-TMR,至少93.6%的Pfailure的數(shù)量級(jí)降低了兩位,即此加固方法的可靠性相較于常規(guī)三模冗余的可靠性有顯著提高。除此之外,A的值會(huì)隨著M的增加有下降的趨勢(shì),但即使當(dāng)M=140時(shí),A的值仍然大于0.98,這表明即使M較大,此加固方法的可靠性依然顯著高于傳統(tǒng)三模冗余方法的可靠性。通常情況下M的值小于140,這意味著在通常情況下此加固方法的可靠性能保持較高水平。

      4 結(jié) 論

      本文研究了基于獨(dú)熱碼的有限狀態(tài)機(jī)抗單粒子翻轉(zhuǎn)設(shè)計(jì)。相比于傳統(tǒng)的三模冗余加固設(shè)計(jì),本文的設(shè)計(jì)方法能夠滿足多位單粒子翻轉(zhuǎn)糾正的需求,并且能夠通過(guò)調(diào)整冗余倍數(shù)以滿足實(shí)際情況需求。以AFDX中的入隊(duì)數(shù)據(jù)總線控制模塊作為驗(yàn)證模型,設(shè)計(jì)了兩種注入場(chǎng)景并進(jìn)行了仿真,結(jié)果證明了設(shè)計(jì)方法的正確性。與傳統(tǒng)的三模冗余可靠性進(jìn)行對(duì)比,此設(shè)計(jì)方法的可靠性有顯著的提高。本文為有限狀態(tài)機(jī)抗單粒子翻轉(zhuǎn)加固設(shè)計(jì)的新方法,具有糾正位數(shù)可調(diào)整、邏輯簡(jiǎn)單、便于開(kāi)發(fā)、可靠性高等優(yōu)點(diǎn),實(shí)用性較強(qiáng)。

      猜你喜歡
      狀態(tài)機(jī)寄存器高位
      1~2月煤炭?jī)r(jià)格高位震蕩 未來(lái)仍存較強(qiáng)支撐
      高位算起更方便
      牛肉價(jià)格居高位 挖潛提升自給力
      短期內(nèi)麥價(jià)或高位趨穩(wěn)
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
      FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
      基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計(jì)
      精河县| 庆安县| 芦山县| 台中市| 涪陵区| 额济纳旗| 固阳县| 东兴市| 广河县| 东阿县| 志丹县| 萍乡市| 秦安县| 汶上县| 山阳县| 漳浦县| 神木县| 大田县| 巴南区| 芜湖市| 淅川县| 六盘水市| 和硕县| 河间市| 翼城县| 丰镇市| 宝应县| 怀宁县| 利辛县| 贵溪市| 高安市| 南陵县| 灌阳县| 武汉市| 安龙县| 绥德县| 马边| 贵州省| 淅川县| 紫金县| 铁力市|