字體:小 中 大 | |
|
|
2009/09/22 21:32:03瀏覽2605|回應0|推薦0 | |
Testbench
Testbench 是一個測試平台,它可針對受測元件的規格,產生一連串的 input pattern,並監測受測元件的 output pattern 是否與預期的結果相符。(請參考圖 5-3-4) 一般而言,testbench 主要是由三大元件所組成,分別為:一、transactor;二、reference model;三、monitor。其中,transactor 負責產生 input pattern (亦稱為 stimulus);reference model 則可執行等同於受測元件所能執行的各項功能,只是其內部的實作方法與受測元件不同;monitor 則負責監視受測元件與 reference model 的輸出結果,並比對兩者的輸出結果是否相同;如果兩者的輸出結果不同,則可能的情況有兩種:一、其中一個做對,另一個則做錯;二、兩者都做錯,但錯得不一樣;如果兩者的輸出結果相同,則可能的情況也是有兩種:一、兩者都做對;二、兩者都做錯,但卻錯得一模一樣。 總括上述四種情況,只有「兩者都做錯而且錯得一模一樣」的情況,才會讓測試者無從察覺錯誤的存在;但是遇到「兩者都做錯而且錯得一模一樣」的情況之機率非常小,因為 reference model 的選擇,通常會找經過驗證的或是業界公認可靠度很高的 model,來作為 testbench 的 reference model,所以會遇上此種情況的機率很小;但如果不幸碰上了,則其瑕疵就很有可能會穿越品管牆。(請參考圖5-3-5) Test Pattern Generation Testbench 中的 transactor,其主要的工作是做 test pattern generation,而依其產生的方式,又可分為三種:一、directed generation;二、random generation;三、directed random generation。其中,directed generation 是指 test pattern 被一個一個直接了當地指定為某固定之值,而且每回的測試都是使用這些固定之值,故此種測試稱為 directed test;random generation 是指 test pattern 是由亂數產生器所產生的亂數值所組成,因此每回的測試之值都不一樣,故此種測試稱為 random test;directed random generation 是指 test pattern 是由亂數產生器所產生的亂數值所組成,但這些亂數值是經過限制條件的篩選,不是全然的隨機亂數值;亦即在 test pattern 的產生過程中,如果當前的這筆亂數值不符合限制條件,就必須再產生另外一筆亂數值,直到某筆亂數值符合限制條件為止;因此,雖然每回的測試之值不盡相同,但是必定符合其所指定的限制條件,故此種測試稱為 directed random test。 |
|
( 創作|其他 ) |