摘要:本文目標(biāo)是根據(jù)航天電子設(shè)計(jì)的需要,提出一種高可靠性微處理器設(shè)計(jì)的設(shè)計(jì)方案。在分析了單粒子效應(yīng)的和總結(jié)了高可靠性設(shè)計(jì)技術(shù)的基礎(chǔ)上,對(duì) oregano systems公司提供的 mc8051IP軟核進(jìn)行了修改。修改后的 IP核滿足設(shè)計(jì)要求,運(yùn)行穩(wěn)定,最終實(shí)驗(yàn)結(jié)果說明:設(shè)計(jì)方案合理,實(shí)現(xiàn)簡(jiǎn)單,具備實(shí)用價(jià)值。
引言
隨著我國(guó)航天事業(yè)的發(fā)展,高密度集成電路器件在航天器的研制中被大量使用,然而隨著器件集成度的提高和工作電壓的降低,空間輻射環(huán)境對(duì)電子系統(tǒng)的影響越來越多??臻g輻射環(huán)境對(duì)電子系統(tǒng)的損害最主要的是單粒子效應(yīng)(Single Event Effect) ,它們會(huì)使器件失效或者工作狀態(tài)發(fā)生改變,影響電子設(shè)備的可靠運(yùn)行 5?;诠P者所在單位承擔(dān)的大量航天工程任務(wù)中關(guān)鍵部位均使用了 8051微控制器,本文根據(jù)航天電子設(shè)計(jì)的要求對(duì)一款8051IP軟核進(jìn)行了修改,以適應(yīng)航天設(shè)備的需要。
1 mc8051IP核介紹
IP(Intellectual Property)原意指知識(shí)產(chǎn)權(quán),在 IC設(shè)計(jì)領(lǐng)域則是指預(yù)先設(shè)計(jì)實(shí)現(xiàn)某種功能的模塊。IP核(IP模塊)則是指完成某種功能的虛擬電路模塊,也稱之為虛擬部件。
根據(jù) IP的提供方式通常把 IP核分為硬 IP(硬核 Hard Core)、軟 IP(軟核 Soft Core)和固 IP(固核 Firm Core )。
硬核是針對(duì)某個(gè)特定工藝的一套物理版圖,電路布局布線和工藝是確定的,已經(jīng)過樣品電路的驗(yàn)證。硬核的優(yōu)點(diǎn)是它的高速度和安全性,但由于依賴特定的工藝,所以缺少靈活性。
軟核是用硬件描述語言(Verilog HDL或 VHDL)的形式描述功能塊的行為,但是并不涉及用什么電路和電路元件實(shí)現(xiàn)這些行為。軟核具有的特點(diǎn)是可以根據(jù)用戶需要靈活的進(jìn)行修改定制。
固核是一種介于軟核和硬核之間的 IP核,通常以 RTL代碼和對(duì)應(yīng)具體工程網(wǎng)表的混合形式提供。固核是完成了綜合的功能塊,有較大的設(shè)計(jì)深度,通常以網(wǎng)表的形式提交客戶。
mc8051IPcore是 Oreganosystems公司提供的一個(gè)應(yīng)用廣泛的開源 8051IP軟核。
它由算術(shù)運(yùn)算單元,定時(shí)器 /計(jì)數(shù)器,串口,內(nèi)部 ram,外部 ram及 rom組成。mc8051_alu為運(yùn)算單元,由加法器,乘法器,除法器等基本運(yùn)算單元組成。mc8051_control為 mc8051的控制通路。包括有特殊寄存器,譯碼單元,多路選擇器,中斷及指令狀態(tài)機(jī)等基本功能。2抗單粒子可靠性設(shè)計(jì)技術(shù)
可靠性設(shè)計(jì)的基本原理是冗余,包括信息冗余,時(shí)間冗余等。目前抗單粒子效應(yīng)的設(shè)計(jì)技術(shù)中應(yīng)用最廣的技術(shù)有三模冗余(Triple Modular Redundance ,TMR),檢錯(cuò)糾錯(cuò)(Error Detection And Correction ,EDAC) 1基于軟件的控制流檢測(cè)
2。本文主要采用前2種可靠性設(shè)計(jì)方法。
2.1 三模冗余(TMR)介紹
三模冗余是指將目標(biāo)部件復(fù)制相成同的三個(gè)目標(biāo)部件來實(shí)現(xiàn)一個(gè)目標(biāo)部件的功能,三個(gè)目標(biāo)部件最終將通過一個(gè)判決器來判斷目標(biāo)部件的正確狀態(tài)。它利用的是相同一組部件同時(shí)出現(xiàn)錯(cuò)誤概率較小的原理來實(shí)現(xiàn)可靠性的提高。
TMR可用于各種IP設(shè)計(jì)的各階段,既可以在系統(tǒng)級(jí)進(jìn)行冗余,也可以是局部冗余。
2.2 糾錯(cuò)檢錯(cuò)(EDAC)
2.2.1 EDAC概述
EDAC可以用來檢測(cè)電子設(shè)備中由SEU引起的存儲(chǔ)為翻轉(zhuǎn)錯(cuò)誤。EDAC的基本結(jié)構(gòu)包括3個(gè)部分:編碼模塊,解碼模塊,存儲(chǔ)模塊。其中EDAC 編碼模塊將需要處理的數(shù)據(jù)進(jìn)行相關(guān)算法的編碼,產(chǎn)生校驗(yàn)碼,與待處理數(shù)據(jù)一同存入存儲(chǔ)模塊。數(shù)據(jù)需要讀出的時(shí)候,EDAC解碼模塊將數(shù)據(jù)與相應(yīng)校驗(yàn)碼進(jìn)行解碼處理,得出正確結(jié)構(gòu)。編碼與解碼所采用的編碼方式可以根據(jù)需要選擇,如漢明碼,最佳奇權(quán)碼,藤原英二碼等等。
2.2.2 漢明碼介紹
下面以擴(kuò)展?jié)h明碼為例說明編碼糾錯(cuò)檢錯(cuò)的原理。 擴(kuò)展?jié)h明碼(Extended Hamming Code)在存儲(chǔ)系統(tǒng)的糾錯(cuò)檢錯(cuò)中得到了廣泛應(yīng)用。他的最小碼距是4,對(duì)于數(shù)據(jù)位數(shù) k,校驗(yàn)位數(shù) r,他們之間的關(guān)系需滿足 2r-1 ≥ k+r。如果數(shù)據(jù)位 k增加一倍,校驗(yàn)位 r也只需要增加1位,所以它具有相當(dāng)高的編碼效率。 8位數(shù)據(jù)經(jīng)過4位編碼后的數(shù)據(jù)結(jié)構(gòu)如下:
C= [D7D6D5D4D3D2D1D0C3C2C1C0]其中 D7~D0是數(shù)據(jù)位,C3~C0是校驗(yàn)位:
C3= D7 ⊕D6 ⊕ D5 ⊕ D4 ; C2= D7 ⊕D3 ⊕ D2 ⊕ D1; C1= D6 ⊕D5 ⊕ D3 ⊕ D2 ⊕ D0 ; C0= D6 ⊕D4 ⊕ D3 ⊕ D1⊕ D0
解碼時(shí)需計(jì)算存儲(chǔ)數(shù)據(jù)的伴隨向量 S: S3= C3 ⊕CB3;S2= C2 ⊕CB2 ;S1= C1⊕CB1;S0= C0 ⊕CB0 其中 CB0,CB1,CB2,CB3為 8位數(shù)據(jù)在解碼時(shí)刻的校驗(yàn)位。根據(jù)算得的伴隨向量 S我們就可以判斷數(shù)據(jù)位是否發(fā)生錯(cuò)誤及錯(cuò)誤發(fā)生的位置。
2.3 兩種糾錯(cuò)方法的比較
TMR與 EDAC都屬于硬件冗余,對(duì)于不同字長(zhǎng)的存儲(chǔ)器,他們所占用的面積開銷和時(shí)間開銷是不同的。TMR所占用的面積開銷包括冗余的2個(gè)目標(biāo)器件以及判決器及附屬電路邏輯,EDAC所增加的面積開銷則包括了增加的校驗(yàn)位,編碼器,解碼器及附屬邏輯 1。根據(jù)以上分析我們可以得出結(jié)論,對(duì)于保護(hù)寄存器,寄存器組等容量較小的存儲(chǔ)器件,TMR有實(shí)現(xiàn)簡(jiǎn)單,增加面積較少的有點(diǎn)。而對(duì)于大容量的存儲(chǔ)器,則應(yīng)當(dāng)采用 EDAC來進(jìn)行糾錯(cuò)檢錯(cuò)。
3高可靠性 8051具體方案設(shè)計(jì)及實(shí)現(xiàn)通過對(duì) SEU的機(jī)理分析及 mc8051結(jié)構(gòu)分析可以得出,容易受到粒子輻射的關(guān)鍵部位有
3:特殊寄存器(Special Function Register ,SFR),內(nèi)部 ram,外部 ram。本論文就上述三個(gè)模塊對(duì) mc8051IP核進(jìn)行了該進(jìn)。
3.1特殊寄存器(SFR)
mc8051IP核的特殊寄存器(SFR)均在 control_mem文件中實(shí)現(xiàn)。該模塊實(shí)現(xiàn) 8051譯碼功能。SFR字節(jié)地址范圍是80H-FFH,他們?cè)?RAM中并不是完全連續(xù)的,21個(gè) SFR離散的分布在上述字節(jié)區(qū)域的128個(gè)字節(jié)單元中。在mc8051IP核中并沒用將這些SFR設(shè)計(jì)在內(nèi)部 ram中,而是對(duì)應(yīng)地址分別實(shí)現(xiàn)的。對(duì) SFR的加固處理是采用了 TMR技術(shù)。具體實(shí)現(xiàn)步驟如下:
綜合后結(jié)果截取如下圖:
3.2內(nèi)部 RAM
該 IP核可支持 128字節(jié)內(nèi)部RAM.由 2.3分析,方案采用 TMR方式對(duì)內(nèi)部 RAM進(jìn)行處理,選用 3個(gè)相同的 128字節(jié)的 RAM作為冗余的存儲(chǔ)器,由 mc8051_ram_fsm與 mc8051_ram_dataflow兩個(gè)模塊組成了內(nèi)部 RAM的數(shù)據(jù)通路,其中前者完成寫優(yōu)先的讀寫狀態(tài)控制,后者完成數(shù)據(jù)流向控制。數(shù)據(jù)通路負(fù)責(zé)完成數(shù)據(jù)校驗(yàn)??刂仆放c數(shù)據(jù)通路組成內(nèi)部 RAM接口邏輯。經(jīng)過仿真后內(nèi)部 RAM接口結(jié)構(gòu)框圖及讀寫時(shí)序如下:
圖 2(B)可看出:寫數(shù)據(jù)時(shí),數(shù)據(jù)輸入后第二個(gè)周期被寫入RAM;讀數(shù)據(jù)時(shí),讀指令被檢測(cè)到后的第 5個(gè)周期經(jīng)校驗(yàn)后的正確數(shù)據(jù)被輸出并且被回寫給RAM。在接入工程應(yīng)用時(shí)需將外部時(shí)鐘進(jìn)行 6倍頻以配合 cpu讀寫時(shí)序。
3.3 外部 RAM
外部 RAM最大可以支持64K,同樣由 2.3分析,方案選取能糾 1位錯(cuò)檢 2位錯(cuò)的擴(kuò)展?jié)h明碼進(jìn)行 EDAC處理。其中,數(shù)據(jù)處理單元完成數(shù)據(jù)的編碼,解碼,地址鎖存及數(shù)據(jù)輸出功能。讀寫狀態(tài)機(jī) FSM完成外部 RAM的讀寫狀態(tài)控制,同樣,為配合 ram的 IP軟核時(shí)序,我們將 FSM設(shè)計(jì)為寫優(yōu)先。仿真后的 EDAC結(jié)構(gòu)框圖及讀寫時(shí)序如下:
需要指明的時(shí)上圖仿真時(shí)外部時(shí)鐘為 10Mhz,經(jīng)過 altera公司 alt_pll進(jìn)行了 6倍頻及相位調(diào)整,前一個(gè)寫指令未被執(zhí)行的原因是 PLL需要 2到 3個(gè)時(shí)鐘周期的調(diào)整穩(wěn)定頻率輸出。 EDAC模塊的讀寫時(shí)序與內(nèi)部 RAM相似,寫數(shù)據(jù)時(shí)第 2個(gè)時(shí)鐘周期經(jīng)過處理后的 8位原數(shù)據(jù)以及 4位校驗(yàn)數(shù)據(jù)一同被寫進(jìn) RAM,讀數(shù)據(jù)時(shí),讀出的 12位數(shù)據(jù)經(jīng)過解碼糾正后在第 5個(gè)時(shí)鐘周期輸出 8位數(shù)據(jù)并將糾正后的 12位數(shù)據(jù)回寫進(jìn) RAM,以防止 SEE的積累。由時(shí)序圖可知以上設(shè)計(jì)完全符合設(shè)計(jì)要求。
3.4全系統(tǒng)仿真
在完成上述幾個(gè)方面的 IP定修改之后,對(duì) mc8051的頂層系統(tǒng)進(jìn)行了 modelsim的綜合前仿真,仿真部分結(jié)果如下:
仿真時(shí)將 ROM的初始化文件設(shè)置為 mc8051文檔中的 tc1.hex,方便與原 IP核進(jìn)行對(duì)照。為在 modelsim仿真前,我們已將 altera的 altera_mf庫加入到 modelsim庫文件中。在進(jìn)行功能仿真的時(shí)候調(diào)用了其中的 alt_pll來進(jìn)行時(shí)鐘處理。在使用該 IP核時(shí)可以根據(jù)具體采用的器件來完成倍頻的功能。以上時(shí)序完全正確,說明修改后的 IP核與原 IP核功能上等同。
4結(jié)論
本文在oreganosystems公司提供的開源mc8051IP軟核的基礎(chǔ)上根據(jù)高可靠性航天電子設(shè)計(jì)的方法修改了部分模塊,實(shí)踐證明修改后的功能與原 mc8051IP 核完全相同,達(dá)到設(shè)計(jì)目的。可以根據(jù)需要將 IP核綜合后生成的網(wǎng)表文件下載進(jìn)現(xiàn)場(chǎng)可編程邏輯器件( FPGA)或者進(jìn)行流片設(shè)計(jì)成 ASIC,具備航天使用價(jià)值。本文創(chuàng)新點(diǎn):本文根據(jù)在研航天項(xiàng)目需要,定制了一種可適應(yīng)航天工作環(huán)境的微控制器 IP核。采用常用的容錯(cuò)技術(shù)對(duì)普通商用 IP核進(jìn)行了加固。該 IP核的成功改造,可以一定程度上減輕我國(guó)軍品級(jí)芯片對(duì)國(guó)外的依賴,提高了效率,為后續(xù)的研究積累了寶貴經(jīng)驗(yàn)。