D演算法講解
A. D演算法的介紹
D演算法,是拓撲結構測試中最經典的方法,也是最早實現自動化的測試生成演算法之一。
B. 解密演算法d是加密演算法e的逆運算嗎
1978年就出現了這種演算法,它是第一個既能用於數據加密
也能用於數字簽名的演算法.它易於理解和操作,也很流行.算
法的名字以發明者的名字命名:Ron Rivest,AdiShamir 和
Leonard Adleman.但RSA的安全性一直未能得到理論上的證明.
RSA的安全性依賴於大數分解.公鑰和私鑰都是兩個大素數
( 大於 100個十進制位)的函數.據猜測,從一個密鑰和密文
推斷出明文的難度等同於分解兩個大素數的積.
密鑰對的產生:選擇兩個大素數,p 和q .計算:
n = p * q
然後隨機選擇加密密鑰e,要求 e 和 ( p - 1 ) * ( q - 1 )
互質.最後,利用Euclid 演算法計算解密密鑰d,滿足
e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) )
其中n和d也要互質.數e和
n是公鑰,d是私鑰.兩個素數p和q不再需要,應該丟棄,不要讓任
何人知道.加密信息 m(二進製表示)時,首先把m分成等長數據
塊 m1 ,m2,...,mi ,塊長s,其中 2^s
C. D演算法介紹
從故障模型到D演算法:測試電路的自動化之旅
在電路設計的世界裡,理解故障模型是關鍵,它為我們構建測試自動化奠定了基礎。現在,讓我們聚焦在實際測試問題上:如何對H處的SA1進行精確的測試?
想像一下,通過控制輸入端ABC的值,我們可以在輸出端K觀察到結果。為了測試SA1,需要選定恰當的測試向量。在簡單的電路中,手動分析可能足夠,但面對復雜電路,D演算法就顯得尤為重要,它能自動生成測試向量,讓測試過程更為高效。
D演算法的思想:邏輯與策略
在深入了解D演算法之前,我們先定義幾個基本概念。D演算法中的5個核心值:0, 1, X, D, D(-)。X代表選擇哪個值都無影響,D和D(-)分別表示正常和故障狀態。測試的首要步驟是激活故障,形成D或D(-),然後通過傳播讓這些值影響輸出,同時合理化其他節點,確保無沖突。D邊界(D-frontier)和J邊界(J-frontier)是演算法的關鍵點,分別對應輸入端的未確定和輸出端的已知狀態。
D演算法巧妙地整合了故障激活、傳播、合理化和回溯等步驟,通過電路線路值表格呈現過程,生成測試向量,確保每個選擇都經過深思熟慮和檢查,確保測試的准確性。
實戰演示:復雜電路的D演算法應用
讓我們通過一個復雜的電路實例,深入理解D演算法。這里,輸入端abcdhjf和輸出端G5是關鍵。D演算法首先激活故障,然後沿著電路路徑傳播D值,同時通過合理化確定輸入端。通過回溯處理可能的沖突,最終當D值抵達輸出G5時,對應的輸入組合abc...j就是測試向量,如圖所示,輸出為11111xx。
從D演算法到更多優化:ATPG的演變
D演算法作為ATPG演算法的基石,它的核心思想是逐步揭示故障對電路輸出的影響路徑。然而,為了尋求更高效的測試策略,後續出現了如PODEM, FAN, CPT等優化演算法,它們雖然各有特色,但目標都是為了提升測試效率。作為測試自動化領域的基石,掌握D演算法的精髓對於進入DFT行業至關重要。