測試碼自動生成(automatic test pattern generation , ATPG)是指數字電路中,針對確定的故障模型和電路,可以建立該電路故障表,對於故障表中的每一故障,通過某種算法(如D算法,根據故障點所在路徑推導測試向量(PODEM)算法等),逐一進行故障激勵和檢測以產生電路輸入激勵和輸出回響,實現測試碼自動生成。
基本介紹
- 中文名:測試碼自動生成
- 外文名:automatic test pattern generation , ATPG
- 學科:航空工程
- 領域:航天
- 套用:數字電路中
- 目的:實現測試碼自動生成
簡介,邊界掃描測試碼生成算法,基於Frame結構的測試碼自動生成,
簡介
測試碼自動生成(automatic test pattern generation , ATPG)是指數字電路中,針對確定的故障模型和電路,可以建立該電路故障表,對於故障表中的每一故障,通過某種算法(如D算法,根據故障點所在路徑推導測試向量(PODEM)算法等),逐一進行故障激勵和檢測以產生電路輸入激勵和輸出回響,實現測試碼自動生成。
自動生成的測試碼,不一定具有高的測試故障覆蓋率。通過故障模擬,可以檢查測試故障覆蓋率。現代CAD、CAT等工具,不但能進行故障模擬,而且能進行可測性設計,通過增加掃描通路或其他方法,提高測試故障覆蓋率。
邊界掃描測試碼生成算法
首先要從BSDL (boundary -scan description language)檔案中獲取晶片的邊界掃描暫存器單元的結構和分布信息, 然後從仿真波形檔案中採樣晶片引腳的狀態值, 再根據邊界掃描暫存器單元的屬性和引腳的實際情況設定內部的和用於控制的邊界掃描暫存器單元對應的狀態值。這樣, 全部邊界掃描暫存器單元中除時鐘引腳對應的單元外, 測試矢量中的對應位數據都已經確定。此時根據時鐘引腳對應的邊界掃描暫存器單元的結構來確定時鐘信號的提供方法.其中, 當時鐘輸入引腳對應的邊界掃描暫存器單元的結構為BC-1時, 根據邊界掃描單元的對應順序將每次引腳波形採樣值和設定的內部狀態值與控制值組合成串列測試矢量, 將一個測試矢量分為兩個, 其中第一個矢量中時鐘信號對應的值設定為“0” , 第二個設為“1”;而時鐘引腳對應的邊界掃描暫存器單元的結構為BC -4 時, 測試矢量中時鐘信號對應的位可以隨機設為“0”或“1” 。測試矢量的施加順序與在仿真波形中的數據採樣順序保持相同。
基於Frame結構的測試碼自動生成
測試代碼自動生成的過程分為需求描述、語法分析、推理匹配、途徑生成等幾個階段。
框架可以被定義為一組語義網路的節點和插槽,節點或插槽之間用鏈聯結。這些節點和插槽可以描述固定格式的事物、行動和事件。框架通常由描述事物的各個方面的槽組成,每個槽又對應若干子插槽和值。而鏈可以表示語義網路中成員之間的關係或子類與父類間的繼承關係。
在自然語言理解過程中,首先要對語法和語義進行分析。語法分析是對句子和短語的結構進行分析。通過狀態轉移圖表示的語法分析過程可以如圖就具體語法分析方法來說,模式匹配是最為直觀的方法之一。在模式匹配中,一個句子可以用(pronoun∨(adj*noun))verb(pronoun∨(adj*noun)) 的模型來表達。模型對語法的分析過程可以用狀態轉移圖來表示。使用模式匹配方法可以對測試需求進行語法分析。測試流程的一般化結構模型可描述為:測試需求=操作行為集合+信號對象集合+信號描述集合。
測試需求與系統資源的匹配:由於自動化測試系統的硬體資源所能支持的信號類型是有限的,因此對於測試程式集(testing program suite,TPS)所表達的抽象測試需求必須進行資源匹配,從而判定硬體是否有能力完成此測試流程。
代碼自動生成:對測試需求完成語法分析後,套用推理機技術,可以得到操作儀器硬體的計算機語言代碼。但在這個測試代碼生成過程中,我們要求用戶輸入的需求只能是高度簡化和抽象的語句表達式。而從語句表達到生成計算機語言代碼,則通過推理機系統完成。
推理機系統利用了基於知識與問題的推理體系。該體系對問題的描述為
問題:> <指定域> <可能約束> <問題目標>
其過程是:在指定域的約束下,對問題進行推理,經過途徑生成,達到問題目標。