利用互補(bǔ)邏輯也可以構(gòu)成自校驗(yàn)電路,如果某一邏輯網(wǎng)絡(luò)其輸入輸出關(guān)系為,則可構(gòu)造一互補(bǔ)邏輯網(wǎng)絡(luò),使其輸入輸出關(guān)系為
其中f和f是互補(bǔ)的,在無故障的情況下,其輸出是互補(bǔ)的;若發(fā)生輸出相同,則兩個(gè)邏輯電路中必定有存在故障的情況。互補(bǔ)邏輯網(wǎng)絡(luò)實(shí)現(xiàn)原理比較直觀,但對(duì)較復(fù)雜的系統(tǒng),有許多故障它是檢測(cè)不出來的。
2.4 交織邏輯網(wǎng)絡(luò)
交織邏輯網(wǎng)絡(luò)是基于自對(duì)偶函數(shù)的自校驗(yàn)邏輯網(wǎng)絡(luò)。一個(gè)二進(jìn)制變量是交替的,記作若x在兩個(gè)連續(xù)的時(shí)間間隔內(nèi)所取的值互補(bǔ)。
對(duì)任意一個(gè)開關(guān)函數(shù),若假設(shè)
是交替二進(jìn)制變量,且它們是同步交替的,則g的輸入矢量可表示為
,其輸出可表示為
,要使輸出變量也是交替的,必須滿足
,顯然,g必須是自對(duì)偶函數(shù)。利用交織邏輯網(wǎng)絡(luò)的這個(gè)特點(diǎn),可以檢測(cè)出系統(tǒng)的一部分故障。
3 自校驗(yàn)網(wǎng)絡(luò)實(shí)現(xiàn)方法
對(duì)于一些比較簡(jiǎn)單的應(yīng)用場(chǎng)合,利用數(shù)字邏輯方法進(jìn)行設(shè)計(jì),使用SSI及MSI集成電路即可方便地構(gòu)成自校驗(yàn)網(wǎng)絡(luò)。但實(shí)際容錯(cuò)系統(tǒng)非常復(fù)雜,涉及大量邏輯設(shè)計(jì),若仍采用傳統(tǒng)的數(shù)字邏輯設(shè)計(jì)方法,不僅工作量大、容易出差錯(cuò),而且修改和功能仿真都不方便。使用電子設(shè)計(jì)硬件描述語言VHDL(或Verilog HDL對(duì)電路功能進(jìn)行描述,用FPGA或CPLD器件實(shí)現(xiàn)自校驗(yàn)網(wǎng)絡(luò)是比較現(xiàn)實(shí)的,對(duì)于大批量生產(chǎn),可將VHDL描述的電路送半導(dǎo)體器件廠進(jìn)行批量生產(chǎn),VHDL硬件描述語言實(shí)現(xiàn)自校驗(yàn)網(wǎng)絡(luò)的步驟如下:
①建立自校驗(yàn)網(wǎng)絡(luò)的功能模型。對(duì)系統(tǒng)的輸入/輸出、狀態(tài)轉(zhuǎn)換、信號(hào)傳遞等進(jìn)行詳細(xì)的說明。
②用VHDL語言或Verilog HDL語言對(duì)電路功能進(jìn)行描述。對(duì)復(fù)雜系統(tǒng)可采用撟隕隙聰?shù)脑O(shè)計(jì)方法,將系統(tǒng)分解成不同層次的、功能較簡(jiǎn)單的模塊,利用VHDL語言對(duì)系統(tǒng)功能進(jìn)行分層描述,減少系統(tǒng)描述造成的錯(cuò)誤。
③對(duì)不同層次的模塊進(jìn)行功能仿真,以檢驗(yàn)各模塊設(shè)計(jì)的正確性,最后對(duì)整個(gè)系統(tǒng)進(jìn)行功能仿真,及早排除系統(tǒng)設(shè)計(jì)中的錯(cuò)誤。
④用VHDL或Verilog HDL綜合編譯器對(duì)設(shè)計(jì)好的系統(tǒng)進(jìn)行編譯,經(jīng)過邏輯化簡(jiǎn)及綜合布線,生成可對(duì)FPG A或CPLD編程的數(shù)據(jù)文件。
⑤將數(shù)據(jù)文件通過編程器寫入FPGA或CPLD,進(jìn)行實(shí)際測(cè)試,若測(cè)試數(shù)據(jù)滿足設(shè)計(jì)要求,則開發(fā)工作完成;否則,轉(zhuǎn)①重新進(jìn)行檢查和設(shè)計(jì)。
采用自校驗(yàn)技術(shù)后,可有效地提高容錯(cuò)系統(tǒng)的可靠性,隨著集成電路技術(shù)的飛速發(fā)展,可將一些自校驗(yàn)功能模塊進(jìn)行封裝,作為標(biāo)準(zhǔn)單元使用,在模塊級(jí)上提高容錯(cuò)系統(tǒng)的可靠性。采用高級(jí)語言和FPGA或CPLD開發(fā)容錯(cuò)系統(tǒng)具有重要的現(xiàn)實(shí)意義,可有效縮短開發(fā)周期,降低開發(fā)成本,提高系統(tǒng)可靠性,應(yīng)在工程設(shè)計(jì)中加以推廣應(yīng)
設(shè)組合邏輯網(wǎng)絡(luò)正確輸入矢量為,則矢量空間
稱作錯(cuò)誤輸入空間,記作
;空間
被稱作非法及錯(cuò)誤輸入空間,記作
。由正確輸入空間
經(jīng)電路G可在S(F)中產(chǎn)生一個(gè)子空間,這個(gè)子空間稱為正確輸出空間,記為
。同樣,對(duì)于合法輸入
,由組合邏輯網(wǎng)絡(luò)可映射為合法輸出空間
它也是輸出矢量空間S(F)的子集。同樣,空間
被稱作錯(cuò)誤輸出空間,記作
;空間
被稱為非法及錯(cuò)誤輸出空間,表示為
。上述輸出之間有如下關(guān)系:
由上面集合之間的關(guān)系我們可以看出,對(duì)于無故障組合網(wǎng)絡(luò)的正確輸入,其輸出應(yīng)落入正確輸出空間中。通過對(duì)網(wǎng)絡(luò)的輸出可部分判定系統(tǒng)工作是否正常(無法判斷某些故障)。當(dāng)網(wǎng)絡(luò)發(fā)生故障時(shí),可分成以下幾種情況:①非法及錯(cuò)誤輸入被映射成
;②輸入
被映射成為
;③
映入
但已不是正確的映射關(guān)系,也就是說輸入輸出關(guān)系發(fā)生了變化。對(duì)于一個(gè)高可靠容錯(cuò)系統(tǒng)來說,必須能夠以比較高的故障覆蓋率來檢測(cè)出以上三類差錯(cuò)(最好在一拍內(nèi)檢出),使系統(tǒng)及時(shí)采取措施,隔離故障,將其影響減小到最低限度。在三類錯(cuò)誤中,第①類和第②類與第③類相比要好檢測(cè)一些,高效檢測(cè)第③類錯(cuò)誤是提高系統(tǒng)故障覆蓋率的關(guān)鍵,只有設(shè)計(jì)出對(duì)以上三類錯(cuò)誤檢出率均較高的檢錯(cuò)系統(tǒng),才能保證系統(tǒng)有較高的可靠性。
2 自校驗(yàn)網(wǎng)絡(luò)的結(jié)構(gòu)
自校驗(yàn)網(wǎng)絡(luò)具有在無任何外加激勵(lì)的情況下能自動(dòng)檢測(cè)其內(nèi)部是否存在故障,這些故障或是永久性的或是暫時(shí)性的。設(shè)計(jì)自校驗(yàn)網(wǎng)絡(luò)的主要技術(shù)有檢錯(cuò)編碼技術(shù),基于自對(duì)偶函數(shù)的交替邏輯技術(shù)(交織邏輯技術(shù)),基于對(duì)偶函數(shù)的互補(bǔ)邏輯技術(shù),還有基于多值邏輯的實(shí)現(xiàn)方法,下面我們主要討論一些實(shí)用的實(shí)現(xiàn)方法。
2.1 雙軌碼校驗(yàn)器
雙軌碼校驗(yàn)器的原理圖如圖3所示。
輸入矢量為,其中
,(i=1,2),輸出矢量為
且滿足:
若
且校驗(yàn)器無故障。
利用雙軌碼校驗(yàn)器的上述特點(diǎn),設(shè)計(jì)一對(duì)偶組合邏輯網(wǎng)絡(luò),使其輸出向量和
恰好反相,將
和
加到雙軌碼校驗(yàn)器輸入端,根據(jù)
就可以判定系統(tǒng)是否發(fā)生故障。
2.2 可分碼校驗(yàn)器
可分碼校驗(yàn)器的結(jié)構(gòu)如圖4所示。校驗(yàn)器的輸入矢量為),矢量
和
分別對(duì)應(yīng)可分碼的信息分量和校驗(yàn)分量。其中,信息分量寬度為
是校驗(yàn)分量的寬度,且1+K=n, n=‖Y‖。校驗(yàn)位生成電路根據(jù)信息位
重新生成校驗(yàn)位W,由雙軌碼校驗(yàn)器比較W與
的一致性,在無故障的情況下,校驗(yàn)器的輸出
指示輸入矢量的有效性。下面的定理給出了圖4完全自校驗(yàn)可分碼校驗(yàn)器的構(gòu)造條件。