两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

數(shù)字組合邏輯電路輸出發(fā)生線“或”短接故障的檢測方法與流程

文檔序號:11707811閱讀:966來源:國知局
數(shù)字組合邏輯電路輸出發(fā)生線“或”短接故障的檢測方法與流程

本發(fā)明涉及一種數(shù)字組合邏輯電路短接故障的檢測方法,尤其是涉及一種數(shù)字組合邏輯電路輸出發(fā)生線“或”短接故障的檢測方法。



背景技術(shù):

隨著集成電路集成度的不斷提高和集成電路功能的不斷增加,集成電路內(nèi)部的連接變得越來越復(fù)雜,使得集成電路生產(chǎn)過程中的連接錯誤變得不可避免,從而導(dǎo)致集成電路邏輯功能錯誤。因而電路故障測試已成為集成電路設(shè)計(jì)與生成過程中一個非常重要的內(nèi)容。由于現(xiàn)有的集成電路的結(jié)構(gòu)非常復(fù)雜,因此人工手動完成一個電路故障測試已經(jīng)變得越來越不可能,而更多的是借助計(jì)算機(jī)來完成電路故障測試工作,并已經(jīng)成為電子設(shè)計(jì)自動化(eda,electronicsdesignautomation)中的一個重要內(nèi)容。在電路故障測試中,可以借助計(jì)算機(jī)生成相應(yīng)的測試輸入,這些測試輸入作用在待測集成電路的輸入端,然后通過比對實(shí)際輸出與預(yù)想中的設(shè)計(jì)結(jié)果的差別來判斷集成電路是否存在邏輯功能錯誤。

以兩個數(shù)字組合邏輯電路輸出發(fā)生短接,且短接結(jié)果為線“或”的短接故障檢測為例。圖1給出了兩個數(shù)字組合邏輯電路輸出發(fā)生線“或”短接的示意圖,圖1中的兩個方塊表示兩個數(shù)字組合邏輯電路,這兩個數(shù)字組合邏輯電路的邏輯功能分別用f(x)和g(x)表示,f(x)的輸出用f表示,g(x)的輸出用g表示,這兩個數(shù)字組合邏輯電路的n(n≥1)個輸入變量集合用x表示,圖1中的虛框表示因封裝等原因使得虛框內(nèi)電路不可見。從圖1中可以看出,顯然,當(dāng)f和g沒有發(fā)生短接時,f和f'的輸出應(yīng)該是一致的,但是考慮到電路在制造過程中,因?yàn)槟撤N原因可能會使f被g短接,短接點(diǎn)為a,并且f與g短接后形成線“或”關(guān)系,即f變成了f'=f+g。為了判別是否存在這類的短接,導(dǎo)致電路邏輯功能錯誤,需要選擇一些適當(dāng)?shù)臏y試輸入組合t,當(dāng)輸入的n個輸入變量集合為xt時,xt屬于t,那么滿足f(xt)的原來的輸出f為0而g(xt)的輸出g為1,這樣只要存在電路f(x)和g(x)的輸出為線“或”型短接時,就可以通過觀察f'的值與預(yù)想中的f值是否一致,進(jìn)而判斷電路是否存在故障。

假設(shè)f(x)的電路如圖2a所示,f(x)對應(yīng)的邏輯表達(dá)式為g(x)的電路如圖2b所示,g(x)對應(yīng)的邏輯表達(dá)式為其中,x1,x2,x3,x4為四個輸入變量,為x3的反,為x1的反,為x2的反,為x1⊕x2⊕x3的反,符號為異或運(yùn)算符號。現(xiàn)假設(shè)圖2a所示的電路的輸出f與圖2b所示的電路的輸出g發(fā)生了短接,如圖2c所示,且短接點(diǎn)a具有線“或”特點(diǎn)。為了檢測這類故障,在理論上可以借助來得到測試輸入組合t,其中,的反,表示f(x)對g(x)的c導(dǎo)數(shù)??紤]到可將轉(zhuǎn)化為其中,為f(x)的反。

對于小電路,符合的測試輸入組合t比較容易得到。如為了檢測圖2a所示的電路的輸出f與圖2b所示的電路的輸出g是否發(fā)生線“或”短接,可以用卡諾圖來求得滿足的測試輸入組合t。先得到如圖3a所示的f(x)的反的卡諾圖,再得到如圖3b所示的g(x)的卡諾圖。取圖3a所示的f(x)的反的卡諾圖和圖3b所示的g(x)的卡諾圖中取值都為“1”的公共部分,即對圖3a所示的f(x)的反的卡諾圖和圖3b所示的g(x)的卡諾圖進(jìn)行邏輯“與”,結(jié)果如圖3c所示。由圖3c可得,其中,為x4的反,“-”表示該變量在乘積項(xiàng)中沒有出現(xiàn)。顯然當(dāng)輸入為{0000,101-}時,f為0,g為1,而實(shí)際得到的輸出f'=f+g=0+1=1,與預(yù)測的f為0不符,進(jìn)而可以判別出電路發(fā)生故障。

雖然在理論上給出了檢測兩個數(shù)字組合邏輯電路輸出發(fā)生線“或”的測試輸入組合t的產(chǎn)生方法,但是在實(shí)際應(yīng)用時,如何產(chǎn)生符合的測試輸入組合t,則面臨著很多困難,尤其是f(x)和g(x)對應(yīng)的電路的輸入變量比較多的情況下,可能根本無法在有限的時間內(nèi)得到測試輸入組合t,即對于大電路,利用求解測試輸入組合t實(shí)際不可行。其原因在于,的實(shí)質(zhì)是在求解一個邏輯函數(shù)的補(bǔ)集和兩個邏輯函數(shù)的交集,如采用圖3a至圖3c的圖形方法來處理,對于輸入變量數(shù)小于5的邏輯函數(shù)很有效,但對于輸入變量數(shù)大于5的邏輯函數(shù)則不適合;又如采用常用的方法,就是將f(x)和g(x)展開為最小項(xiàng)的形式,這種方法對于輸入變量數(shù)小于20個的電路來說,會比較方便,但是對于輸入變量數(shù)大于30個以上的電路,可能無法處理或者處理的效率很低下,這是因?yàn)椋寒?dāng)f(x)和g(x)的輸入變量有n個時,它們包含的最小項(xiàng)的個數(shù)與2n成正相關(guān),而當(dāng)n>30或更大時,最小項(xiàng)的個數(shù)以億計(jì)了,龐大的最小項(xiàng)的數(shù)量,使得計(jì)算機(jī)無法有效進(jìn)行運(yùn)算,即無法產(chǎn)生測試輸入組合t,進(jìn)而無法判斷相應(yīng)的短接故障。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問題是提供一種數(shù)字組合邏輯電路輸出發(fā)生線“或”短接故障的檢測方法,其通過利用數(shù)字組合邏輯電路對應(yīng)的邏輯函數(shù)之間的不相交銳積操作,實(shí)現(xiàn)邏輯函數(shù)的邏輯“反”操作和邏輯函數(shù)之間的邏輯“與”操作,獲得用于故障檢測的測試輸入組合,進(jìn)而能夠有效判斷相應(yīng)的短接故障,且適合兩個大的數(shù)字組合邏輯電路輸出發(fā)生線“或”短接故障的檢測。

本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案為:一種數(shù)字組合邏輯電路輸出發(fā)生線“或”短接故障的檢測方法,其特征在于包括以下步驟:

①將待檢測的兩個數(shù)字組合邏輯電路分別記為f(x)和g(x);并設(shè)定f(x)展開有p個乘積項(xiàng),f(x)表示為其p個乘積項(xiàng)的邏輯“或”形式,g(x)展開有q個乘積項(xiàng),g(x)表示為其q個乘積項(xiàng)的邏輯“或”形式;其中,x表示f(x)和g(x)的輸入變量集合,x中至少包含有1個輸入變量,p≥1,q≥1;

②將f(x)的p個乘積項(xiàng)構(gòu)成的集合記為cf(x),將g(x)的q個乘積項(xiàng)構(gòu)成的集合記為cg(x);

③令u表示全集;然后對u與cf(x)進(jìn)行兩個布爾邏輯函數(shù)乘積項(xiàng)集合之間的不相交銳積運(yùn)算,再將運(yùn)算結(jié)果保存于集合中,其中,的初始值為空集,符號為兩個布爾邏輯函數(shù)乘積項(xiàng)集合之間的不相交銳積運(yùn)算符號;

④對cg(x)與進(jìn)行兩個布爾邏輯函數(shù)乘積項(xiàng)集合之間的不相交銳積運(yùn)算,再將運(yùn)算結(jié)果保存于集合cg(x)_d中,其中,cg(x)_d的初始值為空集;

⑤對cg(x)與cg(x)_d進(jìn)行兩個布爾邏輯函數(shù)乘積項(xiàng)集合之間的不相交銳積運(yùn)算,再將運(yùn)算結(jié)果保存于集合ct中,ct中的乘積項(xiàng)為用于兩個數(shù)字組合邏輯電路輸出發(fā)生線“或”短接故障檢測的測試輸入組合;其中,ct的初始值為空集;

⑥將步驟⑤得到的測試輸入組合加到f(x)和g(x)的輸入端,若f(x)的輸出值與預(yù)期值不一致,則判定f(x)和g(x)輸出發(fā)生線“或”短接故障。

與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:本發(fā)明方法利用數(shù)字組合邏輯電路對應(yīng)的邏輯函數(shù)之間的不相交銳積操作,實(shí)現(xiàn)邏輯函數(shù)的邏輯“反”操作和邏輯函數(shù)之間的邏輯“與”操作,本發(fā)明方法在生成測試輸入組合時,不涉及待處理電路的卡諾圖展開或最小項(xiàng)展開,因此本發(fā)明方法的處理速度與待處理電路的輸入變量的數(shù)量沒有直接關(guān)系,更適合兩個大的數(shù)字組合邏輯電路輸出發(fā)生線“或”短接故障的檢測;另外,電路故障檢測是現(xiàn)代電子設(shè)計(jì)自動化(eda)技術(shù)中一個重要內(nèi)容,本發(fā)明方法適合在計(jì)算機(jī)上編程實(shí)現(xiàn),使得本發(fā)明方法很容易與其他電子設(shè)計(jì)自動化技術(shù)實(shí)現(xiàn)整合。

附圖說明

圖1為兩個數(shù)字組合邏輯電路輸出發(fā)生線“或”短接的示意圖;

圖2a為兩個數(shù)字組合邏輯電路中的其中一個數(shù)字組合邏輯電路f(x)的示例示意圖;

圖2b為兩個數(shù)字組合邏輯電路中的另一個數(shù)字組合邏輯電路g(x)的示例示意圖;

圖2c為圖2a所示的電路的輸出f與圖2b所示的電路的輸出g發(fā)生線“或”短接的示意圖;

圖3a為圖2a所示的電路的互補(bǔ)卡諾圖;

圖3b為圖2b所示的電路的卡諾圖;

圖3c為圖3a所示的卡諾圖和圖3b所示的卡諾圖進(jìn)行邏輯“與”的結(jié)果示意圖;

圖4為本發(fā)明方法的總體實(shí)現(xiàn)框圖。

具體實(shí)施方式

以下結(jié)合附圖實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)描述。

本發(fā)明提出的一種數(shù)字組合邏輯電路輸出發(fā)生線“或”短接故障的檢測方法,其總體實(shí)現(xiàn)框圖如圖4所示,其包括以下步驟:

①將待檢測的兩個數(shù)字組合邏輯電路分別記為f(x)和g(x);并設(shè)定f(x)展開有p個乘積項(xiàng),f(x)表示為其p個乘積項(xiàng)的邏輯“或”形式,g(x)展開有q個乘積項(xiàng),g(x)表示為其q個乘積項(xiàng)的邏輯“或”形式;其中,x表示f(x)和g(x)的輸入變量集合,x中至少包含有1個輸入變量,p≥1,q≥1。

②將f(x)的p個乘積項(xiàng)構(gòu)成的集合記為cf(x),將cf(x)中的第i個乘積項(xiàng)記為將g(x)的q個乘積項(xiàng)構(gòu)成的集合記為cg(x),將cg(x)中的第j個乘積項(xiàng)記為其中,1≤i≤p,1≤j≤q。

③令u表示全集;然后對u與cf(x)進(jìn)行兩個布爾邏輯函數(shù)乘積項(xiàng)集合之間的不相交銳積運(yùn)算,再將運(yùn)算結(jié)果保存于集合中,其中,的初始值為空集,符號為兩個布爾邏輯函數(shù)乘積項(xiàng)集合之間的不相交銳積運(yùn)算符號,該運(yùn)算符號的作用是去掉兩個布爾邏輯函數(shù)乘積項(xiàng)集合對應(yīng)的邏輯覆蓋中的公共部分,如就是等于在cf(x)中去除與cg(x)相交的部分,即也即符號“∪”為集合間“并”運(yùn)算符號,符號“θ”為公知的乘積項(xiàng)之間的不相交銳積運(yùn)算符號,表示cg(x)中的第1個乘積項(xiàng),表示cg(x)中的第2個乘積項(xiàng),表示cg(x)中的第3個乘積項(xiàng),表示cg(x)中的第q個乘積項(xiàng)。

④對cg(x)與進(jìn)行兩個布爾邏輯函數(shù)乘積項(xiàng)集合之間的不相交銳積運(yùn)算,再將運(yùn)算結(jié)果保存于集合cg(x)_d中,其中,cg(x)_d的初始值為空集。

⑤對cg(x)與cg(x)_d進(jìn)行兩個布爾邏輯函數(shù)乘積項(xiàng)集合之間的不相交銳積運(yùn)算,再將運(yùn)算結(jié)果保存于集合ct中,ct中的乘積項(xiàng)為用于兩個數(shù)字組合邏輯電路輸出發(fā)生線“或”短接故障檢測的測試輸入組合;其中,ct的初始值為空集。

⑥將步驟⑤得到的測試輸入組合加到f(x)和g(x)的輸入端,若f(x)的輸出值與預(yù)期值不一致,則判定f(x)和g(x)輸出發(fā)生線“或”短接故障。

以下為對本發(fā)明方法進(jìn)行試驗(yàn),以驗(yàn)證本發(fā)明方法的可行性與有效性。

假設(shè)x={x1,x2,x3,x4},x1,x2,x3,x4為x中的四個輸入變量,并假設(shè)p=2,q=4。假設(shè)用數(shù)字“1”表示原變量,用數(shù)字“0”表示反變量,用“-”表示該變量在乘積項(xiàng)中沒有出現(xiàn),則有:cf(x)={-1--,--01},cg(x)={000-,011-,110-,101-},全集u={----}。通過計(jì)算得到與圖3a所示的卡諾圖一致,ct與圖3c所示的卡諾圖一致。當(dāng)的輸出發(fā)生圖2c所示的線“或”短接故障時,可以將ct中的測試輸入組合加到圖2c所示的電路的輸入端進(jìn)行線“或”短接判斷。如假設(shè)將{0000}加到圖2c所示的電路的輸入端,則有:的值為“0”,的值為“1”,如果沒有發(fā)生輸出線“或”短接,那么f'的預(yù)期值應(yīng)該與的值一致,即為“0”,但f'的實(shí)際輸出為f'=f+g=0+1=1,顯然與預(yù)期值不一樣,因此可以判別出電路發(fā)生故障。

表1給出了利用本發(fā)明方法用于兩個數(shù)字組合邏輯電路輸出發(fā)生線“或”短接故障的測試輸入組合的生成。表1中的電路f(x)取自mcnc標(biāo)準(zhǔn)測試電路;電路g(x)為截取電路f(x)的展開表達(dá)式的前10項(xiàng),然后隨意修改部分乘積項(xiàng)得到;t/ms表示利用本發(fā)明方法生成ct的時間,單位為毫秒,“<1”表示生成ct的時間小于1毫秒。從表1中可以看出,本發(fā)明方法可以完成輸入變量數(shù)為66的電路處理,而且處理速度均比較快。

表1本發(fā)明用于實(shí)驗(yàn)測試的結(jié)果

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
读书| 溧阳市| 乐清市| 吴江市| 沁阳市| 南雄市| 太仆寺旗| 利津县| 庄浪县| 仁怀市| 红安县| 龙州县| 博爱县| 彭州市| 榆林市| 玉龙| 铜山县| 安徽省| 建水县| 景泰县| 芦溪县| 大厂| 屏南县| 中卫市| 桑植县| 阿拉善右旗| 深圳市| 汾西县| 黑河市| 黎城县| 伊金霍洛旗| 莱芜市| 城口县| 陇南市| 库尔勒市| 化德县| 泽州县| 小金县| 易门县| 桂阳县| 彭阳县|