欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于一種面向異步FIFO的低開銷容錯機(jī)制研究

電子設(shè)計 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-06-19 15:34 ? 次閱讀

0 引言

異步FIFO(Fist-In-First-Out)是一種先入先出的數(shù)據(jù)緩沖器[1]。由于可以很好地解決跨時鐘域問題和不同模塊之間的速度匹配問題,而被廣泛應(yīng)用于全局異步局部同步[2](Globally Asynchronous Locally Synchronous,GALS)數(shù)字系統(tǒng)中。在片上網(wǎng)絡(luò)(Network-on-Chip,NoC)[3]等復(fù)雜的通信系統(tǒng)中,通常會使用異步FIFO處理跨時鐘域問題。異步FIFO在這些系統(tǒng)中所占面積比例不低,例如在NI中,異步FIFO的面積超過50%[4]。為提高這類數(shù)字系統(tǒng)的整體容錯能力,對異步FIFO進(jìn)行容錯設(shè)計是很有必要的。

當(dāng)前面向FIFO的容錯方法主要分為兩類:第一類方法通過優(yōu)化控制邏輯,跳過故障單元進(jìn)行容錯[5]。但文獻(xiàn)[5]提出的方法由于無法使用格雷碼[1,6]的緣故,不能直接在異步FIFO中使用。第二類方法通過增加硬件冗余,提高單元本身的容錯能力,如文獻(xiàn)[7]增加備用單元用于替代故障單元,文獻(xiàn)[8]采用檢錯糾錯碼等方式。比較兩類方法,第一類通常面積開銷較小,而第二類方法對FIFO性能影響較小。本文提出一種與第一類方法兼容的新方法。該方法可以在降低故障對異步FIFO可靠性影響的同時,只引入少量的面積開銷。

1 折疊式容錯方案

由于格雷碼自身的特點,通常只能支持2n進(jìn)制計數(shù)器。異步FIFO使用格雷碼計數(shù)器作為不同時鐘域之間的同步指針意味FIFO的深度必須保持為2的冪次方,才能保證格雷碼不出現(xiàn)跳碼和漏碼。本文針對這一問題,通過改進(jìn)FIFO的控制邏輯進(jìn)行容錯。這就要使FIFO深度保持為2的冪次方,需要在FIFO出現(xiàn)故障以后只選擇2的冪次方個無故障存儲單元作為工作單元。

為了便于描述,本文首先定義兩個概念:組集和組。組集使用S表示,組使用G表示。在本方案中,組是可可以被操作的最小單位。假設(shè)FIFO的初始深度為2n,那么FIFO可以被平均劃分為2i(i≤n)組,每組擁有2n-i個存儲單元。根據(jù)i的取值,可以將FIFO分為不同的組集,每個組集中有2i個組。下面將組集命名為“Si”,組集中的組命名為“Gik”,其中i代表i的值,k代表某一組在組集中的序號。如圖1所示,一個深度為8的FIFO,根據(jù)i的不同值,被劃分為3個不同的組集:S1、S2、S3。圖中的G11表示這個組屬于組集S1,并且是S1中的第一個組。當(dāng)i=1時,F(xiàn)IFO被分為了21組,每組有23-1個單元。不同組集的組之間有一定的關(guān)系,在組集Si中的組可以由兩個屬于組集Si+1的組組成。如圖1所示,組G11可以由G21和G22組成。在組集和組的概念基礎(chǔ)上,需要再定義一個特殊的備選組集合U。該集合包含所有無故障的組。

關(guān)于一種面向異步FIFO的低開銷容錯機(jī)制研究

初始狀態(tài)時,每個組都將被標(biāo)記為無故障,因此備選組集合U包含所有的組。發(fā)現(xiàn)故障單元以后,包含該單元的所有組都將被標(biāo)記為故障,并從集合U中移除。此時為了保障FIFO能正常工作,需要從集合U中選擇出可以繼續(xù)工作的組。組之間的優(yōu)先級遵循兩條規(guī)則,第一,組集Si中的組優(yōu)先級高于組集Si+1中的組,這是因為Si中的組包含的單元數(shù)大于Si+1中的組。第二,同一組集中,序號越小的組優(yōu)先級越高。根據(jù)這兩個原則必然可以得到一個優(yōu)先級最高的組。圖2展示了發(fā)生故障以后FIFO的處理方式,其中粗框表示在實際工作中FIFO將會用到的單元。圖2(a)中,第3個單元發(fā)生了故障,此時將包含此單元的組G11、G22、G33從集合U中排除。根據(jù)優(yōu)先級原則,在集合U中剩余的組里面G12的優(yōu)先級最高,因此,組G12中的單元被選中,F(xiàn)IFO的深度將會變成4。在圖2(b)中,除了第3個單元,第7個單元也出現(xiàn)了故障。G12、G24、G37被標(biāo)記為故障,從集合U中移除。此時,優(yōu)先級最高的組是G21,因此G21包含的單元被選中,F(xiàn)IFO的深度變?yōu)?。圖2(c)和圖2(d)包含更多的例子展示容錯機(jī)制,在此不再贅述。

關(guān)于一種面向異步FIFO的低開銷容錯機(jī)制研究

關(guān)于一種面向異步FIFO的低開銷容錯機(jī)制研究

此時FIFO的容錯能力達(dá)到最大。將這個容錯方法被命名為Fold-i,其中i為imax的值。

2 備用單元的引入方法及分析

雖然Fold-i方法容錯能力很強(qiáng),但是其對FIFO深度影響很大。根據(jù)Fold-i方法,當(dāng)一個深度為16的FIFO出現(xiàn)一個故障存儲單元,整個FIFO的深度將會變?yōu)?。這會嚴(yán)重影響FIFO的性能。因此,在Fold-i方法的基礎(chǔ)上引入備用單元,在提高FIFO容錯能力的同時適當(dāng)減少故障對FIFO深度的影響。

2.1 故障單元替代方法

引入備用單元的核心是明確替代故障單元的方法。理想的情況是備用單元可以任意替代故障單元,但這會使控制邏輯變得非常復(fù)雜。為了簡化控制邏輯,可將備用單元的替代方法簡化為兩條原則:首先,根據(jù)數(shù)量將備用單元與組集進(jìn)行綁定,使得組集中每組擁有一個備用單元;其次,在檢測到故障單元以后,只用與該組對應(yīng)的備用單元進(jìn)行替換。圖3展示了在深度為16的FIFO中添加4個備用單元的方法。由于備用單元的數(shù)量與組集S2中組的數(shù)量一致,因此將備用單元與組集S2綁定。此時組集S2中的每一組擁都有一個備用單元。在圖3中,發(fā)現(xiàn)組G21中有一個故障單元,根據(jù)替代規(guī)則,只能使用備用G21單元(圖3中粗框)進(jìn)行替換,而其余的備用單元不能用于替代組G21中的故障。

關(guān)于一種面向異步FIFO的低開銷容錯機(jī)制研究

2.2 備用單元引入數(shù)量分析

備用單元的數(shù)量對FIFO在故障時的深度有很大影響。如果備用單元太少,那么FIFO在故障數(shù)量較少時會浪費大量存儲單元。如果備用單元過多,雖然可以保證FIFO深度,但是備用單元本身會引入大量的面積而造成資源的浪費。

為了確定合理的備份方式,可通過實驗確定備用單元的數(shù)量。實驗對象為一個深度為16,每個存儲單元位寬為32的FIFO。該FIFO采用Fold-3容錯機(jī)制,并在此基礎(chǔ)上分別引入0、2、4、8個備用單元。比較在4種不同備用單元數(shù)量下,F(xiàn)IFO的面積及在發(fā)生故障后FIFO的深度。表1展示了4種不同數(shù)量的面積大小,可以看到在備用單元數(shù)量為2和4時面積分別增加12%和23%,而在備用單元數(shù)量為8時,面積增加了59%,這顯然是無法承受的。圖4展示了不同備用單元數(shù)量下,故障對FIFO深度的影響。圖中的縱坐標(biāo)是平均FIFO深度,橫坐標(biāo)是故障數(shù)量。故障的數(shù)量和位置都可能影響FIFO實際使用時的深度。令故障的數(shù)量一定,隨機(jī)化故障的發(fā)生位置可以得到不同的FIFO深度。多次實驗后得到FIFO深度的平均值即為平均FIFO深度,它可以反映在故障數(shù)量一定時FIFO深度的期望值,從而反映出故障對FIFO深度的影響大小。可以看到,隨著備用單元數(shù)量的增加,F(xiàn)IFO的平均深度下降速度變慢。這說明備用單元的引入有效降低了故障數(shù)量對FIFO深度的影響。為了評估3種備份方案的優(yōu)劣,定義面積有效值作為衡量標(biāo)準(zhǔn)。面積有效值以0個備用單元的數(shù)據(jù)為基準(zhǔn),將增加的FIFO深度除以增加的面積。令R表示單位深度面積,A0和D0分別表示0個備用單元時的面積和平均FIFO深度。A和D表示待評估方案的面積和平均FIFO深度。該參數(shù)計算公式如下:

關(guān)于一種面向異步FIFO的低開銷容錯機(jī)制研究

關(guān)于一種面向異步FIFO的低開銷容錯機(jī)制研究

關(guān)于一種面向異步FIFO的低開銷容錯機(jī)制研究

利用式(3)可以計算出故障發(fā)生后,3種不同策略增加單位面積可以提高的FIFO深度大小。該值越大,說明單位面積提高的FIFO深度越多,即額外增加的面積更有效率。圖5展示了3種策略在故障數(shù)量較小時的面積有效值。根據(jù)圖5所示,添加4個備用單元優(yōu)于添加2個和8個備份單元的情況。因此,本文選擇引入4個備用單元,在面積引入較小的情況下,保持較大的平均FIFO深度。

關(guān)于一種面向異步FIFO的低開銷容錯機(jī)制研究

通過上述方法引入備用單元后,在故障數(shù)量較小的情況下,F(xiàn)IFO的深度并不會受到太大的影響,在避免了Fold-i方法缺點的同時FIFO的容錯能力也會進(jìn)一步提高。

3 實驗驗證與分析

本節(jié)中將對3種不同的容錯策略進(jìn)行對比分析。第一個容錯策略是通過增加部分備用單元進(jìn)行容錯,將其命名為SS[7]。第二種是本文提到的,在Fold-2方法的基礎(chǔ)上引入備用單元,命名為SF2;第三種與第二種類似,在Fold-3方法基礎(chǔ)上引入備用單元,命名為SF3。這里將對比這3種策略的3項指標(biāo):容錯能力、平均FIFO深度以及總面積。實驗對象是一個深度為16的FIFO,增加4個備用單元,每個存儲單元擁有32 bits。

為了容錯能力,需要先分別對3種策略進(jìn)行軟件建模。然后,在不同位置引入一定數(shù)量的故障,根據(jù)FIFO在該故障數(shù)量下的存活率判斷FIFO是否成功容錯。每個故障數(shù)量將進(jìn)行10 000次實驗,最后統(tǒng)計FIFO的幸存率,以此衡量FIFO的容錯能力。如圖6所示,SS在故障數(shù)量超過1個以后,F(xiàn)IFO的幸存率已經(jīng)不能保證100%。隨著故障數(shù)量的增加,幸存率急劇下降。當(dāng)故障數(shù)量超過4個以后,使用SS策略的FIFO必然失效。而在SS基礎(chǔ)上引入Fold-2方法以后,可以看到FIFO的容錯能力得到了很大的提升,在故障數(shù)量不超過7個的時候可以保證FIFO無故障工作。在故障數(shù)量超過7個以后,使用SF2策略的FIFO幸存率逐漸降低。當(dāng)故障數(shù)量到達(dá)16個以上時,F(xiàn)IFO必然失效。在SS基礎(chǔ)上引入Fold-3方法以后,其容錯能力進(jìn)一步提高,在故障數(shù)量不超過11個的情況下FIFO的存活率也可以保持在100%。當(dāng)超過11個故障以后,F(xiàn)IFO幸存率下降。直到故障數(shù)量達(dá)到19個時,F(xiàn)IFO的幸存率才降到0??梢钥吹?,F(xiàn)old-i技術(shù)可以大幅提高FIFO的容錯能力,并且隨著i值的增大,其容錯能力增強(qiáng)。

關(guān)于一種面向異步FIFO的低開銷容錯機(jī)制研究

為衡量故障數(shù)量對FIFO平均深度的影響,同樣將進(jìn)行10 000次實驗,統(tǒng)計不同故障情況下采用3種策略的FIFO可用的平均深度。如圖7所示,3種容錯方案均可以保證在故障數(shù)量只有1個時,F(xiàn)IFO的平均深度不受故障的影響。在使用SS方法進(jìn)行容錯的情況下,其FIFO的平均深度隨故障數(shù)量下降很快,并且在超過4個故障以后,平均深度變?yōu)?,這是由于SS最多能容忍4個故障。對于引入SF2和SF3的情況,可以看到這兩種方法其平均FIFO深度都比SS大,當(dāng)故障數(shù)量在4個以內(nèi)時,兩者均可以保證FIFO的平均深度是無故障情況下的50%以上,相對于SF2,SF3的平均深度更大。

關(guān)于一種面向異步FIFO的低開銷容錯機(jī)制研究

verilog實現(xiàn)3種策略,用synopsys design compiler對代碼進(jìn)行綜合得到面積數(shù)據(jù)。表2展示了3種策略的面積對比情況。SS方法的面積最小,有7 610 μm2,SF2和SF3方法的面積分別為7 718 μm2和7 929 μm2。相較于SS方法,SF2面積增加了1.42%,SF3面積增加了4.19%。兩者面積的增幅不大,但可以明顯提升FIFO容錯能力同時減小故障對性能的影響,是對SS技術(shù)的有效改進(jìn)。

關(guān)于一種面向異步FIFO的低開銷容錯機(jī)制研究

4 結(jié)論

本文提出了一種新的容錯方案用于提高NI中FIFO的容錯能力。該方案主要思想是結(jié)合Fold-i和少量備用單元實現(xiàn)較強(qiáng)的容錯能力,同時降低故障對FIFO深度的影響。實驗結(jié)果表明,對于擁有4個備用單元,深度為16,每個存儲單元擁有32 bits的FIFO。相對于只引入備用單元的方法最多只增加了4.19%的面積,同時大幅提高了異步FIFO的容錯能力。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 緩沖器
    +關(guān)注

    關(guān)注

    6

    文章

    1941

    瀏覽量

    45666
  • 計數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2271

    瀏覽量

    95025
  • 異步FIFO
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    8411
收藏 人收藏

    評論

    相關(guān)推薦

    用FPGA芯片實現(xiàn)高速異步FIFO一種方法

    現(xiàn)代集成電路芯片中,隨著設(shè)計規(guī)模的不斷擴(kuò)大。個系統(tǒng)中往往含有數(shù)個時鐘。多時鐘帶來的個問題就是,如何設(shè)計異步時鐘之間的接口電路。異步 FIFO
    發(fā)表于 05-28 10:56 ?3903次閱讀

    請問怎樣去設(shè)計一種異步FIFO?

    為什么要設(shè)計一種異步FIFO?異步FIFO的設(shè)計原理是什么?怎樣去設(shè)計一種
    發(fā)表于 06-18 09:20

    怎樣去設(shè)計一種采用覆蓋機(jī)制FIFO隊列模型呢

    FIFO隊列是什么?怎樣去設(shè)計一種采用覆蓋機(jī)制FIFO隊列模型呢?
    發(fā)表于 12-08 06:07

    異步FIFO結(jié)構(gòu)及FPGA設(shè)計

    首先介紹異步FIFO 的概念、應(yīng)用及其結(jié)構(gòu),然后分析實現(xiàn)異步FIFO的難點問題及其解決辦法; 在傳統(tǒng)設(shè)計的基礎(chǔ)上提出一種新穎的電路結(jié)構(gòu)并對其
    發(fā)表于 04-16 09:25 ?46次下載

    一種基于星型結(jié)構(gòu)的移動代理的容錯模型

    研究了目前幾種典型的移動代理容錯模型的基礎(chǔ)上,文章提出了一種新的容錯機(jī)制——基于星型結(jié)構(gòu)的容錯
    發(fā)表于 09-24 16:31 ?19次下載

    一種異步FIFO的設(shè)計方法

    摘要:使用FIFO同步源自不同時鐘域的數(shù)據(jù)是在數(shù)字IC設(shè)計中經(jīng)常使用的方法,設(shè)計功能正確的FUFO會遇到很多問題,探討了兩不同的異步FIFO的設(shè)計思路。兩
    發(fā)表于 03-24 12:58 ?786次閱讀
    <b class='flag-5'>一種</b><b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>的設(shè)計方法

    異步FIFO結(jié)構(gòu)及FPGA設(shè)計

    摘要:首先介紹異步FIFO的概念、應(yīng)用及其結(jié)構(gòu),然后分析實現(xiàn)異步FIFO的難點問題及其解決辦法;在傳統(tǒng)設(shè)計的基礎(chǔ)上提出一種新穎的電路結(jié)構(gòu)并對
    發(fā)表于 06-20 12:46 ?3894次閱讀
    <b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>結(jié)構(gòu)及FPGA設(shè)計

    一種開銷的機(jī)會網(wǎng)絡(luò)社區(qū)檢測算法

    一種開銷的機(jī)會網(wǎng)絡(luò)社區(qū)檢測算法_任智
    發(fā)表于 01-07 20:49 ?0次下載

    一種開銷加固鎖存器的設(shè)計

    一種開銷加固鎖存器的設(shè)計_黃正峰
    發(fā)表于 01-07 21:45 ?0次下載

    基于FPGA的異步FIFO設(shè)計方法詳解

    在現(xiàn)代電路設(shè)計中,個系統(tǒng)往往包含了多個時鐘,如何在異步時鐘間傳遞數(shù)據(jù)成為個很重要的問題,而使用異步FIFO可以有效地解決這個問題。
    發(fā)表于 07-17 08:33 ?8453次閱讀
    基于FPGA的<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>設(shè)計方法詳解

    基于異步FIFO結(jié)構(gòu)原理

    問題一種簡便、快捷的解決方案。使用異步FIFO可以在兩個不同時鐘系統(tǒng)之間快速而方便地傳輸實時數(shù)據(jù)。在網(wǎng)絡(luò)接口、圖像處理等方面,異步FIFO
    發(fā)表于 02-07 14:22 ?0次下載
    基于<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>結(jié)構(gòu)原理

    一種能量均衡的開銷時間同步算法

    的重要支撐技術(shù)之,無論是自身協(xié)議的運行,還是諸如數(shù)據(jù)融合、協(xié)同休眠、節(jié)點定位等應(yīng)用都需要網(wǎng)絡(luò)中各節(jié)點的時間保持同步。 現(xiàn)有的時間同步算法大多采用消息交換來實現(xiàn)較高的同步精度,存在節(jié)點通信開銷過大、能耗不均等問題。為此,提出一種
    發(fā)表于 03-12 10:38 ?1次下載
    <b class='flag-5'>一種</b>能量均衡的<b class='flag-5'>低</b><b class='flag-5'>開銷</b>時間同步算法

    一種基于FPGA內(nèi)部存儲器的適合音頻解嵌的高效異步FIFO設(shè)計

    異步FIFO存儲器是一種在數(shù)據(jù)交互系統(tǒng)中得到廣泛應(yīng)用的先進(jìn)先出邏輯器件,具有容納異步信號的頻率(或相位差異)的特點。使用異步
    發(fā)表于 01-29 16:54 ?931次閱讀
    <b class='flag-5'>一種</b>基于FPGA內(nèi)部存儲器的適合音頻解嵌的高效<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>設(shè)計

    異步fifo詳解

    異步fifo詳解 . 什么是異步FIFO FIFO即First in First out的英文
    的頭像 發(fā)表于 12-12 14:17 ?4298次閱讀

    同步FIFO異步FIFO的區(qū)別 同步FIFO異步FIFO各在什么情況下應(yīng)用

    簡單的一種,其特點是輸入和輸出都與時鐘信號同步,當(dāng)時鐘到來時,數(shù)據(jù)總是處于穩(wěn)定狀態(tài),因此容易實現(xiàn)數(shù)據(jù)的傳輸和存儲。 而異步FIFO則是在波形的上升沿和下降沿上進(jìn)行處理,在輸入輸出端口處分別增加輸入和輸出指針,用于管理數(shù)據(jù)的讀寫。
    的頭像 發(fā)表于 10-18 15:23 ?1779次閱讀