專利名稱:一種測試向量的生成與驗證方法
技術(shù)領(lǐng)域:
本發(fā)明屬于集成電路測試領(lǐng)域,具體涉及一種可測試性設(shè)計的功能測試向量的產(chǎn)生和驗證。
背景技術(shù):
目前,通常對于集成電路的測試,在ATE上進(jìn)行功能測試時,需要提供功能測試向量,現(xiàn)有技術(shù)是采用功能仿真時生成的VCD文件,通過一定的工具進(jìn)行格式轉(zhuǎn)換和手動處理,生成ATE所需的測試向量。由于VCD文件是基于事件記錄的,對于仿真過程中信號的任何一次翻轉(zhuǎn)都會被記錄到VCD文件中,因此仿真過程中的一些毛刺也會被記錄下來。而 ATE受測試周期長短的限制,測試向量中是不允許這些毛刺的存在的。這些毛刺需要通過對VCD文件的手動處理來去掉,處理速度慢,效率低下。另外VCD文件中對輸出信號高低用 ‘0’ ‘1’來表示,而測試向量中通常用‘H’ ‘L’這也需要通過對V⑶文件的手動處理來去掉。雖然可以采用perl等腳本來處理,但針對不同的項目,信號名稱數(shù)目不同,采用的ATE 和測試環(huán)境不同,腳本的通用性較差,仍存在較大的工作量。利用VCD文件生成的測試向量除了在ATE上實際使用外,無法驗證測試向量是否正確轉(zhuǎn)換,在應(yīng)用中可能會因為測試向量的問題浪費ATE機時,而且工作效率低。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種測試向量的生成和驗證方法,在仿真過程中直接生成ATE所需的測試向量并通過仿真對其進(jìn)行驗證,無需手動處理。本發(fā)明的技術(shù)方案是一種測試向量生成方法,其特殊之處在于該方法包括以下步驟1)建立一個硬件描述語言HDL文件并且再定義一個文件變量,用于記錄測試向量;所述硬件描述語言HDL文件包含有無輸入輸出信號的測試向量產(chǎn)生模塊;2)在步驟1)的模塊中對待測實體的每個輸入輸出信號定義對應(yīng)的信號,用于監(jiān)控待測實體的輸入和輸出值;3)在待測實體DUT的輸入輸出信號翻轉(zhuǎn)時,根據(jù)待測實體DUT的輸入輸出信號翻轉(zhuǎn)后的值以及自動測試設(shè)備ATE對測試向量格式的要求,將步驟幻中的對應(yīng)信號賦于對應(yīng)的測試儀器合法向量表示值,之后進(jìn)行步驟4);4)設(shè)置一個周期與測試儀器ATE的測試周期相同的時鐘信號,且在每個時鐘的上升沿時,將步驟幻中定義的信號記錄到步驟1)所定義的測試向量文件中;5)根據(jù)測試儀器ATE的格式要求,將測試向量的文件頭和尾的文本記錄到步驟1) 所定義的測試向量文件中;6)將步驟幻的HDL文件與待測儀器ATE的其他功能仿真文件一起編譯,運行仿真,當(dāng)功能仿真結(jié)束時,生成測試向量文件。上述步驟1)的模塊名稱為“VeCtor_gen_tb”。
本發(fā)明步驟3)中所述翻轉(zhuǎn)后的輸入輸出值為“ 0 ”、“ 1”、“X”和“ Z ”。本發(fā)明步驟3)所述的測試儀器合法向量表示值是“H”、“L”。本發(fā)明還涉及一種測試向量驗證方法,其特殊之處在于該方法包括以下步驟1)建立一個文件;所述文件包含有無輸入輸出信號的測試向量驗證模塊;2)將待測實體DUT實例化到所述測試向量驗證模塊中,并對待測實體DUT每個輸入輸出分別定義對應(yīng)的信號,用于驅(qū)動輸入和檢測輸出;3)根據(jù)待驗證的測試向量文件的大小,定義一個數(shù)組,將待驗證的測試向量文件內(nèi)容讀入到數(shù)組中;4)定義一個時鐘周期與測試儀器ATE的測試周期相同的時鐘信號,并在每個時鐘的上升沿,按照順序,讀取每行數(shù)組的內(nèi)容,等待時鐘周期內(nèi)的任一時間點后,記錄待測實體DUT輸出信號值;5)讀取步驟4)所讀取的行內(nèi)容按照產(chǎn)生測試向量時的順序,將其對應(yīng)輸入的各個位的值,按照測試向量格式要求重新轉(zhuǎn)換為測試向量翻轉(zhuǎn)后的輸入輸出值,再將其賦給步驟2)所定義的各個對應(yīng)輸入信號;6)將步驟4)中記錄的待測實體DUT的輸出信號值與步驟5)中測試向量格式轉(zhuǎn)換后的輸出的值進(jìn)行比較;若記錄的待測實體DUT輸出信號值與轉(zhuǎn)換后后的輸出信號值不一致,則退出仿真,并記錄出錯的輸出信號值和數(shù)組行數(shù);若記錄的待測實體DUT輸出信號值與轉(zhuǎn)換后后的輸出信號值一致,則測試向量生成無誤。本發(fā)明的方法在步驟6)之后還包括步驟7)將創(chuàng)建的文件和待測實體DUT設(shè)計文件一起仿真,仿真結(jié)束,查看出錯原因;如果仿真結(jié)果報出錯誤,結(jié)合仿真波形,對步驟4) 中記錄輸出信號值的等待時間進(jìn)行調(diào)整。上述步驟1)的模塊名稱為“VeCtor_Verify_tb”。上述步驟3)的數(shù)組是鏈表結(jié)構(gòu)或者可節(jié)約仿真時內(nèi)存用量的結(jié)構(gòu)。上述步驟5)中的測試向量翻轉(zhuǎn)后的輸入輸出值為“0”、“1”、“X”和“Z”。上述步驟4)中的時鐘周期內(nèi)的時間點為1/4時鐘周期。本發(fā)明的測試向量的生成和驗證方法,簡化了整個過程,利用硬件描述語言建立了建立仿真環(huán)境,可以直接在仿真過程中將需要記錄的信號按照自動測試設(shè)備向量格式要求記錄信號變化到指定文件中,并可以通過讀回文件內(nèi)容,將相應(yīng)的輸入激勵加到硬件模型,并比對輸出,實現(xiàn)對所記錄測試向量的驗證,在仿真過程中直接生成ATE所需的測試向量并通過仿真對其進(jìn)行驗證,無需手動處理,提高了生產(chǎn)效率,可以用于數(shù)字集成電路的測試ο
圖1為本發(fā)明的測試向量的生成方法流程圖;圖2為本發(fā)明的測試向量的驗證方法流程圖。
具體實施例方式參見圖1,本發(fā)明的測試向量生成方法,其較佳的實施方式是由以下步驟實現(xiàn)步驟1 建立一個硬件描述語言HDL文件并且再定義一個文件變量,用于記錄測試向量;該硬件描述語言HDL文件包含有無輸入輸出信號的測試向量產(chǎn)生模塊;可將模塊的名稱命名為“VeCt0r_gen_tb”也可以是其他任意符合語法要求的標(biāo)識符;步驟2 在步驟1)的模塊中對待測實體的每個輸入輸出信號定義對應(yīng)的信號,用于監(jiān)控待測實體的輸入和輸出值;在必要時還可以賦予初值;步驟3 在待測實體DUT的輸入輸出信號翻轉(zhuǎn)時,根據(jù)待測實體DUT的輸入輸出信號翻轉(zhuǎn)后的值以及自動測試設(shè)備ATE對測試向量格式的要求,將步驟幻中的對應(yīng)信號賦于對應(yīng)的測試儀器合法向量表示值,之后進(jìn)行步驟4;翻轉(zhuǎn)后的輸入輸出值可以用“0”、“1”、 “X”和“Z”來表示;如,某中測試儀器ATE,對翻轉(zhuǎn)后的輸出值“0”,用“H”來表示,“1”用“L” 來表示時,就需要將“H”賦給步驟2中定義的對應(yīng)該輸出的信號。步驟4 設(shè)置一個周期與測試儀器ATE的測試周期相同的時鐘信號,且在每個時鐘的上升沿時,將步驟幻中定義的信號記錄到步驟1)所定義的測試向量文件中;步驟5 根據(jù)測試儀器ATE的格式要求,將測試向量的文件頭和尾的文本記錄到步驟1)所定義的測試向量文件中;步驟6 將步驟5)的HDL文件與待測儀器ATE的其他功能仿真文件一起編譯,運行仿真,當(dāng)功能仿真結(jié)束時,生成測試向量文件。本發(fā)明還提供了一種測試向量驗證方法,該方法包括以下步驟步驟1 建立一個文件;所述文件包含有無輸入輸出信號的測試向量驗證模塊;該模塊可以命名為“Vect0r_Verify_tb”,或者也可以用其他任意符合語法要求的標(biāo)識符;步驟2 將待測實體DUT實例化到所述測試向量產(chǎn)生模塊中,并對待測實體DUT每個輸入輸出分別定義對應(yīng)的信號,用于驅(qū)動輸入和檢測輸出;步驟3 根據(jù)待驗證的測試向量文件的大小,定義一個數(shù)組,將待驗證的測試向量文件內(nèi)容讀入到數(shù)組中;其中數(shù)組的具體實現(xiàn)可以有多種方式,可以采用某種鏈表結(jié)構(gòu),或者其他可節(jié)約仿真時內(nèi)存用量的數(shù)據(jù)結(jié)構(gòu);當(dāng)向量文件有1000行,記錄了 100個信號,則數(shù)組可定義成 mem[1000]
;步驟4 定義一個時鐘周期與測試儀器ATE的測試周期相同的時鐘信號,并在每個時鐘的上升沿,按照順序,讀取每行數(shù)組的內(nèi)容,等待在所述時鐘周期內(nèi)的任意一個時間點之后,最好是其1/4的時鐘周期后,記錄待測實體DUT輸出信號值;步驟5 讀取步驟4所讀取的行內(nèi)容按照產(chǎn)生測試向量時的順序,將其對應(yīng)輸入的各個位的值,按照測試向量格式要求重新轉(zhuǎn)換為測試向量翻轉(zhuǎn)后的輸入輸出值,再將其賦給步驟2所定義的各個對應(yīng)輸入信號;具體是將對應(yīng)輸入的各個位的值,按照測試向量格式要求重新轉(zhuǎn)換為“0”、“1”、“X”和“Ζ”后,賦給步驟2中定義的各個對應(yīng)輸入信號;步驟6 將步驟4中記錄的待測實體DUT的輸出信號值按照步驟5中測試向量格式轉(zhuǎn)換后的輸出的值進(jìn)行比較;若記錄的待測實體DUT輸出信號值與轉(zhuǎn)換后后的輸出信號值不一致,則退出仿真,并記錄出錯的輸出信號值和數(shù)組行數(shù);若記錄的待測實體DUT輸出信號值與轉(zhuǎn)換后后的輸出信號值一致,則測試向量生成無誤。步驟7 將創(chuàng)建的文件和待測實體DUT設(shè)計文件一起仿真,仿真結(jié)束,查看出錯原因;如果仿真結(jié)果報出錯誤,結(jié)合仿真波形,對步驟4中記錄輸出信號值的等待時間進(jìn)行調(diào)離
iF. ο
權(quán)利要求
1.一種測試向量生成方法,其特征在于所述方法包括以下步驟1)建立一個硬件描述語言HDL文件并且再定義一個文件變量,用于記錄測試向量;所述硬件描述語言HDL文件包含有無輸入輸出信號的測試向量產(chǎn)生模塊;2)在步驟1)的模塊中對待測實體的每個輸入輸出信號定義對應(yīng)的信號,用于監(jiān)控待測實體的輸入和輸出值;3)在待測實體DUT的輸入輸出信號翻轉(zhuǎn)時,根據(jù)待測實體DUT的輸入輸出信號翻轉(zhuǎn)后的值以及自動測試設(shè)備ATE對測試向量格式的要求,將步驟2)中的對應(yīng)信號賦于對應(yīng)的測試儀器合法向量表示值,之后進(jìn)行步驟4);4)設(shè)置一個周期與測試儀器ATE的測試周期相同的時鐘信號,且在每個時鐘的上升沿時,將步驟幻中定義的信號記錄到步驟1)所定義的測試向量文件中;5)根據(jù)測試儀器ATE的格式要求,將測試向量的文件頭和尾的文本記錄到步驟1)所定義的測試向量文件中;6)將步驟幻的HDL文件與待測儀器ATE的其他功能仿真文件一起編譯,運行仿真,當(dāng)功能仿真結(jié)束時,生成測試向量文件。
2.根據(jù)權(quán)利要求1所述的測試向量生成方法,其特征在于所述步驟1)的模塊名稱為 “vector—gen—tb,,。
3.根據(jù)權(quán)利要求2所述的測試向量生成方法,其特征在于步驟3)中所述翻轉(zhuǎn)后的輸入輸出值為“ 0 ”、“ 1”、“X”和“ Z ”。
4.根據(jù)權(quán)利要求3所述的測試向量生成方法,其特征在于步驟幻所述的測試儀器合法向量表示值是“H”、“L”。
5.一種測試向量驗證方法,其特征在于所述方法包括以下步驟1)建立一個文件;所述文件包含有無輸入輸出信號的測試向量驗證模塊;2)將待測實體DUT實例化到所述測試向量驗證模塊中,并對待測實體DUT每個輸入輸出分別定義對應(yīng)的信號,用于驅(qū)動輸入和檢測輸出;3)根據(jù)待驗證的測試向量文件的大小,定義一個數(shù)組,將待驗證的測試向量文件內(nèi)容讀入到數(shù)組中;4)定義一個時鐘周期與測試儀器ATE的測試周期相同的時鐘信號,并在每個時鐘的上升沿,按照順序,讀取每行數(shù)組的內(nèi)容,等待時鐘周期內(nèi)的任一時間點后,記錄待測實體DUT 輸出信號值;5)讀取步驟4)所讀取的行內(nèi)容按照產(chǎn)生測試向量時的順序,將其對應(yīng)輸入的各個位的值,按照測試向量格式要求重新轉(zhuǎn)換為測試向量翻轉(zhuǎn)后的輸入輸出值,再將其賦給步驟 2)所定義的各個對應(yīng)輸入信號;6)將步驟4)中記錄的待測實體DUT的輸出信號值與步驟幻中測試向量格式轉(zhuǎn)換后的輸出的值進(jìn)行比較;若記錄的待測實體DUT輸出信號值與轉(zhuǎn)換后后的輸出信號值不一致, 則退出仿真,并記錄出錯的輸出信號值和數(shù)組行數(shù);若記錄的待測實體DUT輸出信號值與轉(zhuǎn)換后后的輸出信號值一致,則測試向量生成無誤。
6.根據(jù)權(quán)利要求5所述的測試向量驗證方法,其特征在于所述方法在步驟6)之后還包括步驟7)將創(chuàng)建的文件和待測實體DUT設(shè)計文件一起仿真,仿真結(jié)束,查看出錯原因;如果仿真結(jié)果報出錯誤,結(jié)合仿真波形,對步驟4)中記錄輸出信號值的等待時間進(jìn)行調(diào)整。
7.根據(jù)權(quán)利要求6所述的測試向量驗證方法,其特征在于所述步驟1)的模塊名稱為 "vector—verify—tb,,。
8.根據(jù)權(quán)利要求7所述的測試向量驗證方法,其特征在于所述步驟;3)的數(shù)組是鏈表結(jié)構(gòu)或者可節(jié)約仿真時內(nèi)存用量的結(jié)構(gòu)。
9.根據(jù)權(quán)利要求8所述的測試向量驗證方法,其特征在于所述步驟幻中的測試向量翻轉(zhuǎn)后的輸入輸出值為“ 0 ”、“ 1”、“X”和“ Z ”。
10.根據(jù)權(quán)利要求9所述的測試向量驗證方法,其特征在于所述步驟4)中的時鐘周期內(nèi)的時間點為1/4時鐘周期。
全文摘要
本發(fā)明的一種測試向量生成和驗證方法,利用硬件描述語言建立了建立仿真環(huán)境,可以直接在仿真過程中將需要記錄的信號按照自動測試設(shè)備向量格式要求記錄信號變化到指定文件中,并可以通過讀回文件內(nèi)容,將相應(yīng)的輸入激勵加到硬件模型,并比對輸出,實現(xiàn)對所記錄測試向量的驗證,在仿真過程中直接生成ATE所需的測試向量并通過仿真對其進(jìn)行驗證,無需手動處理,簡化了整個過程,提高了生產(chǎn)效率,可以用于數(shù)字集成電路的測試。
文檔編號G01R31/3183GK102565683SQ20101062025
公開日2012年7月11日 申請日期2010年12月31日 優(yōu)先權(quán)日2010年12月31日
發(fā)明者張榮華, 田澤, 蔡葉芳, 趙強, 郭蒙 申請人:中國航空工業(yè)集團公司第六三一研究所