基于符號(hào)模擬的電路中錯(cuò)誤診斷方法研究
在符號(hào)傳播過(guò)程中可以采取兩項(xiàng)技術(shù)來(lái)加速該過(guò)程。一個(gè)是有序二叉決策圖(OBDD)的使用,另一個(gè)是事件驅(qū)動(dòng)的模擬。BDD的使用有可能造成內(nèi)存爆炸,但是這里由于診斷過(guò)程中不需要特征化電路的全局函數(shù),因此避免了上述內(nèi)存爆炸問(wèn)題。在事件驅(qū)動(dòng)模擬中,許多門(mén)元件由于不受符號(hào)注入的影響,不需要進(jìn)行再次模擬,因此在符號(hào)傳播的一次單一運(yùn)行中,CPU的處理時(shí)間不會(huì)因?yàn)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/電路">電路規(guī)模的增大而迅速增加。
3.3 可治療性檢查
符號(hào)傳播過(guò)程的最后可以在實(shí)現(xiàn)電路的每個(gè)主要輸出得到一個(gè)布爾函數(shù),稱(chēng)為作用函數(shù)。一個(gè)作用函數(shù)包含它對(duì)區(qū)域輸出{a1,a2,…,ak}的一個(gè)注入起怎樣反應(yīng)的相關(guān)信息。通過(guò)對(duì)這些信息的獲得可以計(jì)算區(qū)域中可治療輸入和可治療輸出的個(gè)數(shù)。
定義9 令I(lǐng)i是第i個(gè)主要輸出。v是一個(gè)錯(cuò)誤輸入向量,A是一個(gè)待檢查的錯(cuò)誤候選者區(qū)域。在向量v對(duì)實(shí)現(xiàn)電路進(jìn)行模擬以及對(duì)區(qū)域A的輸出進(jìn)行符號(hào)注入和符號(hào)傳播過(guò)程后,Ii的作用函數(shù)表示為Reacti(v,a,X),其中X是執(zhí)行符號(hào)注入時(shí)所使用的布爾變量{x1,x2,…,xk}的集合。
命題1 當(dāng)且僅當(dāng)下面式子成立時(shí),錯(cuò)誤輸入向量v是區(qū)域A的一個(gè)可治療向量。Si(v)表示在向量v模擬下規(guī)范的第i個(gè)輸出響應(yīng),n是輸出的總個(gè)數(shù)。本文引用地址:http://m.butianyuan.cn/article/188622.htm
證明 如果存在{x1,x2,…,xk}的一個(gè)注入組合,使得注入后對(duì)于每一個(gè)主要輸出索引i,實(shí)現(xiàn)電路的Reacti(v,a,X)的響應(yīng)同規(guī)范Si(v)的響應(yīng)值相同,則該注入組合被稱(chēng)為區(qū)域可治療注入,同時(shí)也證明了在區(qū)域A的輸出處注入的組合使得錯(cuò)誤輸入向量v不再引起任何輸出對(duì)之間的不匹配現(xiàn)象,即v不再是實(shí)現(xiàn)電路的一個(gè)錯(cuò)誤輸入向量。
如果存在一個(gè)注入組合,使得一個(gè)不匹配輸出的邏輯值變?yōu)榕c它對(duì)應(yīng)的完全相同的值,則稱(chēng)該不匹配輸出為一個(gè)區(qū)域可治療輸出(區(qū)域可治療輸出的規(guī)則):如果下面的條件成立,則對(duì)于向量v,一個(gè)不匹配輸出Zic稱(chēng)為通過(guò)區(qū)域輸出信號(hào)a的可治療輸出。
例如(區(qū)域可治療注入)考慮圖中的規(guī)范和實(shí)現(xiàn),在一個(gè)輸入向量v的模擬下,規(guī)范的輸出響應(yīng)為(0,O,0,0,0),而實(shí)現(xiàn)的響應(yīng)為(0,0,0,1,1)。第四和第五個(gè)輸出為不匹配輸出。通過(guò)執(zhí)行符號(hào)注入和傳播,每個(gè)主要輸出作用函數(shù)的集合為{0,0,x3,x1,(x1x2)'}。
前兩個(gè)輸出對(duì)是匹配的,因此只進(jìn)行后三個(gè)輸出的可治療性檢查。為了檢查可治療向量,注入需滿(mǎn)足(x3三0),(x1三O)和[(x1x2)'三0]。因?yàn)榈诙€(gè)和第三個(gè)條件互相沖突,可得出結(jié)論:區(qū)域A不能通過(guò)注入來(lái)治療錯(cuò)誤輸入向量v。
另一方面,為可治療輸出檢查每個(gè)作用函數(shù)。在注入前只需要關(guān)注于第4和第5個(gè)不匹配輸出。第4個(gè)輸出的作用函數(shù)是x1,只需要在注入時(shí)使x1為0,就可使輸出從1變?yōu)?,即通過(guò)此方法解決了第4個(gè)輸出的不匹配問(wèn)題,因此第4個(gè)輸出是一個(gè)可治療輸出。類(lèi)似地,第5個(gè)輸出也是可治療輸出。因此該區(qū)域A共有兩個(gè)可治療輸出。在這個(gè)例子中,兩個(gè)不匹配輸出可以分別獨(dú)立地進(jìn)行治療糾正;然而在治療最后一個(gè)輸出時(shí)將不可避免地在第3個(gè)輸出點(diǎn)引出一個(gè)新的不匹配問(wèn)題,這也是給定的錯(cuò)誤輸入向量不能通過(guò)區(qū)域A來(lái)治療糾正的原因。利用符號(hào)模擬技術(shù)可以?xún)?yōu)化基于區(qū)域模型進(jìn)行錯(cuò)誤診斷的過(guò)程,依據(jù)區(qū)域可治療向量和區(qū)域可治療輸出兩個(gè)測(cè)量標(biāo)準(zhǔn)對(duì)候選的各個(gè)區(qū)域進(jìn)行包含錯(cuò)誤點(diǎn)的可疑度等級(jí)排序,可疑度等級(jí)越高的區(qū)域,包含錯(cuò)誤點(diǎn)的可能性也越大。
4 實(shí)驗(yàn)結(jié)果與結(jié)論
在此選取幾個(gè)簡(jiǎn)單的組合電路,每個(gè)電路隨機(jī)注入一個(gè)門(mén)置換錯(cuò)誤,利用符號(hào)模擬技術(shù)對(duì)每個(gè)電路進(jìn)行錯(cuò)誤診斷。從方法執(zhí)行的CPU時(shí)間來(lái)看,這里提出的優(yōu)化方法并不是每次都比原始基于區(qū)域模型的方法運(yùn)行速度快,但是從整體來(lái)看,因?yàn)樵搩?yōu)化方法極大地減少了所要處理候選區(qū)域的個(gè)數(shù),因此總運(yùn)行時(shí)間還是比較理想的。
這里提出將符號(hào)模擬技術(shù)應(yīng)用到基于區(qū)域模型的錯(cuò)誤診斷方法中的新方法。該方法采用符號(hào)模擬技術(shù)對(duì)候選區(qū)域進(jìn)行處理,包括符號(hào)的注入,符號(hào)的傳播,可治療性檢查三步。另外,用符號(hào)模擬的方法對(duì)區(qū)域進(jìn)行處理后得到的部分處理信息可以應(yīng)用到后面的糾錯(cuò)過(guò)程中,這點(diǎn)是原始基于區(qū)域模型方法中所不具有的。利用符號(hào)模擬的錯(cuò)誤診斷方法也可以擴(kuò)展應(yīng)用到具有多錯(cuò)誤的電路中,但是尚需進(jìn)一步研究與實(shí)現(xiàn)。
DIY機(jī)械鍵盤(pán)相關(guān)社區(qū):機(jī)械鍵盤(pán)DIY
評(píng)論