chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

基于FPGA實現(xiàn)具有自檢、自糾錯功能的EDAC電路設(shè)計

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-07-23 08:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 引言

隨著人類對空間探索的深入,空間環(huán)境對空間飛行器的電子設(shè)備和器件的影響逐漸顯現(xiàn) 出來??臻g輻射效應(yīng),特別是單粒子效應(yīng),對空間任務(wù)的完成具有潛在的巨大危害。星載計 算機(jī)是衛(wèi)星的核心部件,在空間輻照環(huán)境下,必須充分考慮單粒子翻轉(zhuǎn)現(xiàn)象對星載計算機(jī)程 控功能的破壞或影響。針對該問題, 目前普遍采用糾錯檢錯(EDAC)設(shè)計對星載計算機(jī)的RAM 存儲單元進(jìn)行糾錯檢錯處理來消除SEU故障。

EDAC功能可采用硬件和軟件兩種手段來實現(xiàn)。采用軟件手段實現(xiàn),需要在讀寫RAM存儲 單元時,對存儲數(shù)據(jù)和冗余信息進(jìn)行計算,因而要占用大量的CPU時間。對于星載計算機(jī)而 言,由于CPU器件選型的局限,限制了CPU的性能,使CPU資源非常寶貴,因此目前普遍采用 的是硬件手段來實現(xiàn)EDAC功能。隨著FPGA通信信息特別是在航天領(lǐng)域的廣泛應(yīng)用,F(xiàn)PGA 已成為EDAC功能實現(xiàn)的最佳硬件手段。從目前可獲得的資料看,近些年歐美發(fā)射的衛(wèi)星均采 用了FPGA作為星載計算機(jī)的核心器件。

2 基于漢明碼的傳統(tǒng)EDAC設(shè)計

2.1漢明編碼

目前有許多編碼可以用來作為抗SEU的糾錯碼使用,漢明編碼是最常用的EDAC編碼,由 Hamming于1950年構(gòu)造。這種編碼可以進(jìn)行檢錯和糾錯,可以檢測1比特和2比特錯誤,只能 糾正1比特錯誤,因此適用于單組數(shù)據(jù)中出現(xiàn)多個錯誤位概率較低的情況,這恰與SEU經(jīng)常會 修改星上RAM存儲單元1比特信息的情況相符。

漢明編碼的實現(xiàn)增加的硬件資源主要是存儲器單元,用來存儲冗余數(shù)據(jù),另外還增加了 編碼和解碼電路,參加編碼和解碼的異或門電路隨著原始數(shù)據(jù)位數(shù)的增加而線性增加。在處 理性能方面,編碼和解碼造成一定的延時,增加了存儲器的讀寫時間。

2.2傳統(tǒng)的EDAC電路設(shè)計

傳統(tǒng)的EDAC電路設(shè)計僅實現(xiàn)讀寫功能,基本原理框圖如圖1所示.寫操作時,CPU將數(shù)據(jù)送入EDAC編碼模塊中,EDAC編碼模塊根據(jù)該數(shù)據(jù)生成校驗碼,并將原始數(shù)據(jù)和校驗碼分別寫 入數(shù)據(jù)RAM和校驗RAM中;讀操作時,CPU將數(shù)據(jù)RAM和校驗RAM中的數(shù)據(jù)取出,送入EDAC糾錯模 塊中,EDAC糾錯模塊將正確的數(shù)據(jù)送至CPU。這里EDAC編碼\糾錯模塊的硬件實現(xiàn)可以是專用 芯片,也可以采用通用的中小規(guī)模集成電路搭建。

基于FPGA實現(xiàn)具有自檢、自糾錯功能的EDAC電路設(shè)計

SEU造成的RAM單元1比特錯誤如果不定時清除,就會產(chǎn)生累積,使計算機(jī)由此處理的結(jié) 果產(chǎn)生出2比特甚至更多比特錯誤,這種情況下將無法采用EDAC功能進(jìn)行數(shù)據(jù)糾錯,導(dǎo)致系 統(tǒng)錯誤操作甚至任務(wù)失敗。因此定時對RAM存儲單元進(jìn)行更新是必要的,但在傳統(tǒng)EDAC電路 設(shè)計下,對RAM存儲單元的更新只能由計算機(jī)的CPU(單片機(jī))進(jìn)行,其操作流程如下:

(1) 從存儲單元讀出數(shù)據(jù);

(2) 將讀出數(shù)據(jù)重寫入;

(3) 重復(fù)(1)~(2),直至全部單元更新完。

以航天計算機(jī)常用的80C32單片機(jī)為例,CPU對外部存儲單元的讀或?qū)懖僮餍枰?個指令 周期,讀完再寫入需要4個指令周期,每個指令周期包含12個時鐘。假設(shè)CPU時鐘為20MHz, 更新1M個RAM存儲單元需要的CPU時間為:4×12×1M 20MHz = 2.4s。

對于星上非常緊張的CPU資源來說,這是難以接受的,大大增加了星上CPU軟件的設(shè)計難 度。這種方法的另一個大的缺點是無法獲得數(shù)據(jù)錯誤信息,因為CPU直接讀取的是糾錯后的 數(shù)據(jù),所以無法對星上SEU造成RAM單元出錯的概率和錯誤模式進(jìn)行統(tǒng)計。

3 基于FPGA的自檢EDAC設(shè)計

3.1 功能分析

由于FPGA的內(nèi)部大量的邏輯資源,使EDAC電路設(shè)計可以實現(xiàn)更加復(fù)雜的功能。在星載計 算機(jī)中,為了提高效率并節(jié)省CPU資源,一個理想的EDAC電路設(shè)計,應(yīng)具有以下三部分功能:

(1)數(shù)據(jù)讀寫功能。在CPU寫操作時,對原始數(shù)據(jù)進(jìn)行編碼,生成校驗碼,并將原始數(shù) 據(jù)和校驗碼存儲;在CPU讀操作時,從存儲器中取出原始數(shù)據(jù)和校驗碼,進(jìn)行計算,如有錯 誤,將錯誤糾正后輸出,如無錯誤,直接將原始數(shù)據(jù)輸出。

(2)自檢、自糾錯功能。在CPU控制要求下,可自動對所有EDAC保護(hù)的RAM存儲區(qū)進(jìn)行 順序讀取和校驗,檢測出錯誤數(shù)據(jù)或校驗碼。在自檢狀態(tài)下,如果由CPU配置為自糾錯狀態(tài), 當(dāng)某一RAM單元檢測出單比特錯誤后,自動將正確數(shù)據(jù)和校驗碼重新寫入該RAM單元。該項功 能的實施,基本上可保證SEU對計算機(jī)RAM區(qū)造成的影響及時得到修復(fù)。

(3)錯誤信息處理功能。在CPU讀操作或者自檢狀態(tài)下,通過輸出錯誤標(biāo)志信號,對CPU 產(chǎn)生中斷,對產(chǎn)生的錯誤進(jìn)行相應(yīng)處理。在CPU讀操作或者自檢狀態(tài)下,如果檢測出錯誤, 將出錯的地址、原始數(shù)據(jù)和校驗碼進(jìn)行暫存,可由CPU讀取,進(jìn)行相應(yīng)處理。

3.2 設(shè)計與實現(xiàn)

根據(jù)以上分析,筆者設(shè)計了如圖2所示的自檢EDAC電路,EDAC的功能主要由FPGA來實現(xiàn)。 到目前為止,具有航天等級的FPGA芯片已經(jīng)具有內(nèi)置的CPU硬核以及高達(dá)2.5Mbit的RAM資源, 因此該設(shè)計中的CPU和RAM模塊均可以是FPGA內(nèi)部資源,當(dāng)內(nèi)部資源無法滿足設(shè)計要求時,也 可以采用外置CPU芯片或外置RAM芯片。

基于FPGA實現(xiàn)具有自檢、自糾錯功能的EDAC電路設(shè)計

在本設(shè)計中,我們采用外置的CPU芯片和內(nèi)置的RAM單元,作為自檢EDAC電路的硬件平臺 (或環(huán)境、資源)。CPU芯片在這里起到的作用是啟動EDAC自檢,處理錯誤中斷,向地面?zhèn)?送錯誤信息,并根據(jù)地面要求對錯誤信息進(jìn)行處理。

在該設(shè)計中,檢測一個存儲單元地址僅需要4個時鐘周期,如果開啟自糾錯功能,并且 檢測到單比特錯誤,再增加2個時鐘周期用來糾錯。因此如果時鐘為20MHz,并且錯誤數(shù)據(jù)較 少,則更新1M個RAM存儲單元需要的時間約為:4×1M 20MHz = 0.2s。

更重要的是,在這0.2s的時間里,僅在出現(xiàn)錯誤時需要向計算機(jī)產(chǎn)生中斷,進(jìn)行相應(yīng)處 理,對地面進(jìn)行錯誤報告,因而CPU處理時間很短,節(jié)省了寶貴的CPU資源。

3.3 仿真與驗證

在空間環(huán)境下普遍存在的SEU,在地面環(huán)境下是很難獲得的,為了在地面對該EDAC電路 設(shè)計進(jìn)行驗證,需要采取故障注入手段。由于在本例中RAM存儲單元采用FPGA內(nèi)部資源,因 此故障注入變得相對簡單。在FPGA進(jìn)行程序綜合時,可將預(yù)先編制好的RAM存儲單元初始化 文件一起綜合。因此我們可在編制RAM存儲單元初始化文件時,對某些比特位進(jìn)行修改,以 模擬空間環(huán)境下SEU對RAM存儲單元的影響。

在這里采用Xilinx公司的XQRV300為硬件載體,該型號FPGA芯片在航天領(lǐng)域內(nèi)被廣泛使 用。為節(jié)省仿真時間,數(shù)據(jù)RAM存儲單元采用256*8bit,檢驗RAM存儲單元采用25*bit。在 RAM存儲單元初始化文件中,人工加入了12個單比特錯誤,以及1個兩比特錯誤,如下表所示。

基于FPGA實現(xiàn)具有自檢、自糾錯功能的EDAC電路設(shè)計

為仿真簡便起見,向存儲單元存放的正確數(shù)據(jù)與存儲單元地址相同。

時鐘選擇為20MHz,通過采用ModelSim軟件進(jìn)行布線后仿真,我們可以得到圖3所示結(jié)果。

基于FPGA實現(xiàn)具有自檢、自糾錯功能的EDAC電路設(shè)計

圖中: Clk — 系統(tǒng)時鐘;

En — EDAC 模塊使能控制;

Check — 自檢啟動/使能信號(信號上升沿觸發(fā)一次巡檢,信號為低暫停巡檢);

Rw_En — 自糾錯使能信號(為高允許糾錯);

Err — 錯誤中斷(標(biāo)志)信號;

Rw — 自糾錯標(biāo)志信號(為高表示正在進(jìn)行自糾錯操作);

MErr — 多比特錯誤中斷(標(biāo)志)信號;

Checking — 自檢標(biāo)志(為高表示尚未完成本次巡檢操作);

Err_Sum,Err_A,Err_D,Err_C — 錯誤計數(shù),錯誤地址,原始數(shù)據(jù),原始校驗碼;

D,A,Wr,Rd — 單片機(jī)數(shù)據(jù)、地址、寫操作、讀操作信號;

從圖中可以看出,啟動EDAC自檢后,EDAC開始巡檢RAM存儲單元,產(chǎn)生錯誤中斷(標(biāo)志) 信號,給出錯誤信息。當(dāng)單片機(jī)需要處理中斷時,將Check信號置‘0’,可暫時停止巡檢, 此時單片機(jī)可對RAM存儲單元進(jìn)行正常讀寫操作。等中斷處理完后,單片機(jī)將Check信號置 ‘1’,恢復(fù)RAM巡檢操作。

另外可通過Rw_En的置‘0’或‘1’,來控制禁止或允許進(jìn)行自糾錯操作。

當(dāng)出現(xiàn)可識別的多位錯誤時,產(chǎn)生Err和MErr兩個錯誤中斷(標(biāo)志)信號,但由于漢明碼僅能糾正單比特錯誤,因此不進(jìn)行自糾錯操作。

從原注入錯誤數(shù)據(jù)對應(yīng)的地址讀出數(shù)據(jù),仿真輸出結(jié)果如圖4所示。

基于FPGA實現(xiàn)具有自檢、自糾錯功能的EDAC電路設(shè)計

可以看出除最后一個地址(FFH)由于兩位錯仍輸出錯誤外,其他地址輸出數(shù)據(jù)均與地址相同,即為正確數(shù)據(jù)。

其中,24H、3CH、60H三個地址雖然輸出正確數(shù)據(jù),但仍報錯,表明存儲器內(nèi)數(shù)據(jù)仍然 為錯誤數(shù)據(jù),在輸出時進(jìn)行了糾錯。這是由于在上次巡檢到這部分地址空間時,通過把Rw_En 信號拉低,從而禁止了自動糾錯,導(dǎo)致這三個地址錯誤數(shù)據(jù)未被糾正。而在對其他地址進(jìn)行 數(shù)據(jù)讀取時,未產(chǎn)生錯誤標(biāo)志,證明其他錯誤數(shù)據(jù)已被糾錯。

4 結(jié)論

本文在采用FPGA芯片實現(xiàn)基本EDAC讀寫功能的設(shè)計思路基礎(chǔ)上,創(chuàng)建了一種新型的可對 RAM存儲單元進(jìn)行自檢的EDAC功能模塊。該模塊不但可以對RAM存儲單元進(jìn)行快速巡檢,巡檢 時間僅為傳統(tǒng)EDAC方法的十二分之一,還可以自動糾正已發(fā)現(xiàn)的錯誤。該模塊最大的優(yōu)點在 于節(jié)省了單片機(jī)資源,幾乎不需要單片機(jī)的參與即可完成所有自檢功能,從而使基于FPGA 的星載計算機(jī)對SEU事件防護(hù)能力得到較大的提升。本文中該模塊采用Verilog硬件描述語言 編程,具有可移植性,這種設(shè)計方法可用于各種體系結(jié)構(gòu)的星載計算機(jī)中。

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

    關(guān)注

    1659

    文章

    22364

    瀏覽量

    632979
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1399

    瀏覽量

    120090
  • 計算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7786

    瀏覽量

    92954
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    邏輯電路糾錯技術(shù)是如何實現(xiàn)的?

    邏輯電路糾錯技術(shù)是如何實現(xiàn)的?糾錯技術(shù)在邏輯電路中有什么作用?
    發(fā)表于 06-18 09:50

    移動通信中變速率自糾錯解碼器設(shè)計

    針對移動通信領(lǐng)域中對語音信號壓縮與解碼技術(shù)進(jìn)行了研究,提出了一種可變速率并且具有自糾錯能力的解碼器設(shè)計方案。給出了解碼器的總體設(shè)計方案和系統(tǒng)組成部分,詳細(xì)介
    發(fā)表于 09-24 10:57 ?15次下載

    S698M SoC芯片中EDAC模塊的設(shè)計與實現(xiàn)

    EDAC 檢錯糾錯模塊在電子、通信以及航空航天等領(lǐng)域有著廣泛的應(yīng)用。本文主要介紹了利用 [39,32] 擴(kuò)展海明碼的EDAC 模塊的基本原理和用VHDL 語言設(shè)計實現(xiàn)
    發(fā)表于 12-14 10:43 ?6次下載

    基于FPGA的星載計算機(jī)自檢EDAC電路設(shè)計

    為了消除空間環(huán)境中單粒子翻轉(zhuǎn)(SEU)的影響,目前星載計算機(jī)中均對RAM存儲單元采用檢錯糾錯EDAC)設(shè)計。隨著FPGA在航天領(lǐng)域的廣泛應(yīng)用,FPGA已成為
    發(fā)表于 01-20 14:39 ?21次下載

    計算機(jī)RAM檢錯糾錯電路的設(shè)計與實現(xiàn)

    摘要:分析了在空間環(huán)境下影響RAM可靠性的主要因素及主要故障模式,介紹了利用FPGA實現(xiàn)RAM檢錯糾錯電路的方法,給出了仿真結(jié)果,并將此方法同用中小規(guī)模集成
    發(fā)表于 05-10 09:42 ?15次下載

    基于FPGA的檢糾錯邏輯算法的實現(xiàn)

    基于漢明碼的糾錯原理.根據(jù)對64位數(shù)據(jù)進(jìn)行檢糾錯處理的需要,設(shè)計一個利用8位校驗碼,以實現(xiàn)功能的算法邏輯,并通過FPGA
    發(fā)表于 09-15 15:14 ?2030次閱讀
    基于<b class='flag-5'>FPGA</b>的檢<b class='flag-5'>糾錯</b>邏輯算法的<b class='flag-5'>實現(xiàn)</b>

    FPGA實現(xiàn)糾錯編碼的一種方法

    本文提出了一種用FPGA實現(xiàn)糾錯編碼的設(shè)計思想,并以Altera MAX+PluslI為硬件開發(fā)平臺。利用FPGA編程的特點,用軟件編程方法,很好的解決了
    發(fā)表于 11-10 17:10 ?61次下載
    用<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>糾錯</b>編碼的一種方法

    基于FPGA的光電系統(tǒng)同步自適應(yīng)電路設(shè)計實現(xiàn)

    基于FPGA的光電系統(tǒng)同步自適應(yīng)電路設(shè)計實現(xiàn)
    發(fā)表于 01-04 17:03 ?11次下載

    電路設(shè)計[FPGA]設(shè)計經(jīng)驗

    電路設(shè)計[FPGA]設(shè)計經(jīng)驗,有需要的下來看看
    發(fā)表于 05-20 11:16 ?50次下載

    基于FPGA的串口通信電路設(shè)計

    基于FPGA的串口通信電路設(shè)計
    發(fā)表于 01-24 17:30 ?35次下載

    FPGA的硬件電路設(shè)計教程和FPGA平臺資料簡介

    本文檔的主要內(nèi)容詳細(xì)介紹的是FPGA的硬件電路設(shè)計教程和FPGA平臺資料簡介包括了:FPGA技術(shù)概述;主流FPGA器件介紹;VIRTEX-5
    發(fā)表于 07-06 18:11 ?177次下載
    <b class='flag-5'>FPGA</b>的硬件<b class='flag-5'>電路設(shè)計</b>教程和<b class='flag-5'>FPGA</b>平臺資料簡介

    FPGA最小系統(tǒng)配置電路設(shè)計實現(xiàn)

    利用FPGA的在系統(tǒng)下載或重新配置功能,可以在電路設(shè)計和調(diào)試時改變整個電路的硬件邏輯關(guān)系,而不需要改變印制電路板的結(jié)構(gòu)。
    發(fā)表于 05-12 10:46 ?26次下載
    <b class='flag-5'>FPGA</b>最小系統(tǒng)配置<b class='flag-5'>電路設(shè)計</b>與<b class='flag-5'>實現(xiàn)</b>

    FPGA_ASIC-S698MSoC芯片中EDAC模塊的設(shè)計與實現(xiàn)

    FPGA_ASIC-S698MSoC芯片中EDAC模塊的設(shè)計與實現(xiàn)(第四屆星載電源技術(shù)學(xué)術(shù)研討會)-該文檔為FPGA_ASIC-S698MSoC芯片中
    發(fā)表于 09-15 11:05 ?6次下載
    <b class='flag-5'>FPGA</b>_ASIC-S698MSoC芯片中<b class='flag-5'>EDAC</b>模塊的設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    FPGA CPLD數(shù)字電路設(shè)計經(jīng)驗分享.

    FPGA CPLD數(shù)字電路設(shè)計經(jīng)驗分享.(電源技術(shù)發(fā)展怎么樣)-FPGA CPLD數(shù)字電路設(shè)計經(jīng)驗分享? ? ? ? ? ? ? ? ? ??
    發(fā)表于 09-18 10:58 ?52次下載
    <b class='flag-5'>FPGA</b> CPLD數(shù)字<b class='flag-5'>電路設(shè)計</b>經(jīng)驗分享.

    FPGA-SoC芯片中EDAC模塊的設(shè)計與實現(xiàn)

    FPGA-SoC芯片中EDAC模塊的設(shè)計與實現(xiàn)(深圳市宇衡源電源技術(shù))-該文檔為FPGA-SoC芯片中EDAC模塊的設(shè)計與
    發(fā)表于 09-27 14:32 ?13次下載
    <b class='flag-5'>FPGA</b>-SoC芯片中<b class='flag-5'>EDAC</b>模塊的設(shè)計與<b class='flag-5'>實現(xiàn)</b>