晶元測試的分析(蠻力 分治)

2021-10-06 15:50:29 字數 2295 閱讀 8418

說明:第一行:

假設 a 是好的,那麼 b 是好的,則 a,b 都是好的。

假設 a 是壞的,那麼 b 的報告結果不正確,那麼 b 就也是壞的,則 a,b 都是壞的。

第二行:

假設 a 是好的,那麼 b 的報告結果不正確,那麼 b 就也是壞的,此時一好一壞。

假設 a 是壞的,b 的結果顯示 a 是壞的,但是不確定 b 是否壞,有可能壞,有可能好,也就是一好一壞或者兩個都壞。

綜上所述:至少一片是壞的。

第三行分析過程同第二行。

第四行:

假設 a 是好的,那麼 b 一定是壞的,b 的報告結果就無分析意義,此時一好一壞。

假設 a 是壞的,那麼 b 不確定好壞。

綜上所述:至少一片是壞的。

說明:n = 7時,

(注意:好晶元至少有4個)

假設 a 是好的,那麼剩餘的 6 個晶元中好晶元至少有 3 個,也就是 6 個報告至少 3 個報 「好」。

假設 a 是壞的,那麼剩餘的 6 個晶元中好晶元至少有 4 個,也就是 6 個報告至少 4 個報 「壞」。

說明:n = 8時,

(注意:好晶元至少有5個)

假設 a 是好的,那麼剩餘的 7 個晶元中好晶元至少有 4 個,也就是 7 個報告至少 4 個報 「好」。

假設 a 是壞的,那麼剩餘的 7 個晶元中好晶元至少有 5 個,也就是 7 個報告至少 5 個報 「壞」。

說明:1.淘汰規則分析

由上面測試結果分析,除了 「好,好 」的情況是好壞佔概率二分之一,其他情況都是壞的概率比較大,所以當一組兩個晶元顯示 「好,好」,就選擇留乙個晶元,扔乙個晶元。其他情況將兩個晶元都扔掉。

2.遞迴截止條件分析

當 n <= 3 時,到遞迴結束的條件,

3 片晶元,1 次測試就可以得到好晶元:

在下面可證明分治演算法是正確的,也就滿足子問題的性質和原問題的性質相同,即子問題中好晶元至少比壞晶元多乙個。

3個晶元,那麼至少有兩個好晶元。

假設測試一次顯示結果為 「好,好」,那麼兩個都是好的,可以任取一片,結束。

假設測試一次顯示結果為其他,那麼扔掉這兩個,選擇剩餘那乙個,剩餘那乙個肯定是好的,結束。

1 或 2 個晶元,那麼不需要測試,因為好晶元至少比壞晶元多乙個,那麼這 1 個或者 2 個晶元都是好的,直接選擇就可以了。

說明:證明過程依照淘汰規則:都好的留 1 扔 1,其他情況都扔掉。

分治前情況:

2i + 2j +2k = n;

好晶元:2i + j;

壞晶元:2k+ j;

所以:2i + j > 2k+ j;

一次分治後的情況:

留下:i+k;(只有都好都壞才會顯示都好,才會背留下來)

好晶元:i ;

壞晶元:k ;

所以:i > k;

即證明完畢。

說明:當 n 為奇數時,不能直接按照淘汰原則淘汰,這樣會使得子問題與原問題性質不一樣。

特殊處理就是在淘汰之前加一組蠻力的測試,測試結果為好,則直接結束;

測試結果為壞,則扔掉,數量就變為了偶數,就可以按照分治演算法來做。

分治法之晶元測試

最近在看演算法導論時,看到了這道晶元測試的題,想了很久,總結一下我的思路 diogenes教授有n個被認為是完全相同的vlsi晶元,原則上它們是可以互相測試的。教授的測試裝置一次可測二片,當該裝置中放有兩片晶元時,每一片就對另一片作測試並報告其好壞。乙個好的晶元總是能夠報告另一片的好壞,但乙個壞的晶...

晶元測試及其應用(分治典例)

問題敘述 vlsi晶元測試 diogenes教授有n個被認為是完全相同的vlsi晶元,原則上它們是可以互相測試的。教授的測試裝置一次可測二片,當該裝置中放有兩片晶元 時,每一片就對另一片作測試並報告其好壞。乙個好的晶元總是能夠報告另一片的好壞,但乙個壞的晶元的結果是不可靠的。這樣,每次測試的四種可能...

晶元IC失效分析測試

ic積體電路在研製 生產和使用過程中失效不可避免,隨著人們對產品質量和可靠性要求的不斷提高,失效分析工作也顯得越來越重要,通過晶元失效分析,可以幫助積體電路設計人員找到設計上的缺陷 工藝引數的不匹配或設計與操作中的不當等問題。華碧實驗室整理資料分享晶元ic失效分析測試。ic失效分析的意義主要表現具體...