IC測試基本原理與ATE測試向量生成
集成電路測試(IC測試)主要的目的是將合格的芯片與不合格的芯片區(qū)分開,保證產(chǎn)品的質(zhì)量與可靠性。隨著集成電路的飛速發(fā)展,其規(guī)模越來越大,對(duì)電路的質(zhì)量與可靠性要求進(jìn)一步提高,集成電路的測試方法也變得越來越困難。因此,研究和發(fā)展IC測試,有著重要的意義。而測試向量作為IC測試中的重要部分,研究其生成方法也日漸重要。
1 IC測試
1.1 IC測試原理
IC測試是指依據(jù)被測器件(DUT)特點(diǎn)和功能,給DUT提供測試激勵(lì)(X),通過測量DUT輸出響應(yīng)(Y)與期望輸出做比較,從而判斷DUT是否符合格。圖1所示為IC測試的基本原理模型。
根據(jù)器件類型,IC測試可以分為數(shù)字電路測試、模擬電路測試和混合電路測試。數(shù)字電路測試是IC測試的基礎(chǔ),除少數(shù)純模擬IC如運(yùn)算放大器、電壓比較器、模擬開關(guān)等之外,現(xiàn)代電子系統(tǒng)中使用的大部分IC都包含有數(shù)字信號(hào)。
圖1 IC測試基本原理模型
數(shù)字IC測試一般有直流測試、交流測試和功能測試。
1.2功能測試
功能測試用于驗(yàn)證IC是否能完成設(shè)計(jì)所預(yù)期的工作或功能。功能測試是數(shù)字電路測試的根本,它模擬IC的實(shí)際工作狀態(tài),輸入一系列有序或隨機(jī)組合的測試圖形,以電路規(guī)定的速率作用于被測器件,再在電路輸出端檢測輸出信號(hào)是否與預(yù)期圖形數(shù)據(jù)相符,以此判別電路功能是否正常。其關(guān)注的重點(diǎn)是圖形產(chǎn)生的速率、邊沿定時(shí)控制、輸入/輸出控制及屏蔽選擇等。
功能測試分靜態(tài)功能測試和動(dòng)態(tài)功能測試。靜態(tài)功能測試一般是按真值表的方法,發(fā)現(xiàn)固定型(Stuckat)故障。動(dòng)態(tài)功能測試則以接近電路工作頻率的速度進(jìn)行測試,其目的是在接近或高于器件實(shí)際工作頻率的情況下,驗(yàn)證器件的功能和性能。
功能測試一般在ATE(Automatic Test Equipment)上進(jìn)行,ATE測試可以根據(jù)器件在設(shè)計(jì)階段的模擬仿真波形,提供具有復(fù)雜時(shí)序的測試激勵(lì),并對(duì)器件的輸出進(jìn)行實(shí)時(shí)的采樣、比較和判斷。
1.3交流參數(shù)測試
交流(AC)參數(shù)測試是以時(shí)間為單位驗(yàn)證與時(shí)間相關(guān)的參數(shù),實(shí)際上是對(duì)電路工作時(shí)的時(shí)間關(guān)系進(jìn)行測量,測量諸如工作頻率、輸入信號(hào)輸出信號(hào)隨時(shí)間的變化關(guān)系等。常見的測量參數(shù)有上升和下降時(shí)間、傳輸延遲、建立和保持時(shí)間以及存儲(chǔ)時(shí)間等。交流參數(shù)最關(guān)注的是最大測試速率和重復(fù)性能,然后為準(zhǔn)確度。
1.4直流參數(shù)測試
直流測試是基于歐姆定律的,用來確定器件參數(shù)的穩(wěn)態(tài)測試方法。它是以電壓或電流的形式驗(yàn)證電氣參數(shù)。直流參數(shù)測試包括:接觸測試、漏電流測試、轉(zhuǎn)換電平測試、輸出電平測試、電源消耗測試等。
直流測試常用的測試方法有加壓測流(FVMI)和加流測壓(FIMV),測試時(shí)主要考慮測試準(zhǔn)確度和測試效率。通過直流測試可以判明電路的質(zhì)量。如通過接觸測試判別IC引腳的開路/短路情況、通過漏電測試可以從某方面反映電路的工藝質(zhì)量、通過轉(zhuǎn)換電平測試驗(yàn)證電路的驅(qū)動(dòng)能力和抗噪聲能力。
直流測試是IC測試的基礎(chǔ),是檢測電路性能和可靠性的基本判別手段。
1.5 ATE測試平臺(tái)
ATE(Automatic Test Equipment)是自動(dòng)測試設(shè)備,它是一個(gè)集成電路測試系統(tǒng),用來進(jìn)行IC測試。一般包括計(jì)算機(jī)和軟件系統(tǒng)、系統(tǒng)總線控制系統(tǒng)、圖形存儲(chǔ)器、圖形控制器、定時(shí)發(fā)生器、精密測量單元(PMU)、可編程電源和測試臺(tái)等。
系統(tǒng)控制總線提供測試系統(tǒng)與計(jì)算機(jī)接口卡的連接。圖形控制器用來控制測試圖形的順序流向,是數(shù)字測試系統(tǒng)的CPU.它可以提供DUT所需電源、圖形、周期和時(shí)序、驅(qū)動(dòng)電平等信息。
2測試向量及其生成
測試向量(Test Vector)的一個(gè)基本定義是:測試向量是每個(gè)時(shí)鐘周期應(yīng)用于器件管腳的用于測試或者操作的邏輯1和邏輯0數(shù)據(jù)。這一定義聽起來似乎很簡單,但在真實(shí)應(yīng)用中則復(fù)雜得多。因?yàn)檫壿?和邏輯0是由帶定時(shí)特性和電平特性的波形代表的,與波形形狀、脈沖寬度、脈沖邊緣或斜率以及上升沿和下降沿的位置都有關(guān)系。
2.1 ATE測試向量
在ATE語言中,其測試向量包含了輸入激勵(lì)和預(yù)期存儲(chǔ)響應(yīng),通過把兩者結(jié)合形成ATE的測試圖形。這些圖形在ATE中是通過系統(tǒng)時(shí)鐘上升和下降沿、器件管腳對(duì)建立時(shí)間和保持時(shí)間的要求和一定的格式化方式來表示的。格式化方式一般有RZ(歸零)、RO(歸1)、NRZ(非歸零)和NRZI(非歸零反)等。
圖2為RZ和R1格式化波形,圖3為NRZ和NRZI格式化波形。
圖2 RZ和R1數(shù)據(jù)格式波形
圖3 NRZ和NRZI數(shù)據(jù)格式波形
RZ數(shù)據(jù)格式,在系統(tǒng)時(shí)鐘的起始時(shí)間T0,RZ測試波形保持為“0”,如果在該時(shí)鐘周期圖形存儲(chǔ)器輸出圖形數(shù)據(jù)為“1”,則在該周期的時(shí)鐘周期期間,RZ測試波形由“0”變換到“1”,時(shí)鐘結(jié)束時(shí),RZ測試波形回到“0”。若該時(shí)鐘周期圖形存儲(chǔ)器輸出圖形數(shù)據(jù)為“0”,則RZ測試波形一直保持為“0”,在時(shí)鐘信號(hào)周期內(nèi)不再發(fā)生變化。歸“1”格式(R1)與RZ相反。
非歸“0”(NRZ)數(shù)據(jù)格式,在系統(tǒng)時(shí)鐘起始時(shí)間T0,NRZ測試波形保持T0前的波形,根據(jù)本時(shí)鐘周期圖形文件存儲(chǔ)的圖形數(shù)據(jù)在時(shí)鐘的信號(hào)沿變化。即若圖形文件存儲(chǔ)數(shù)據(jù)為“1”,那么在相應(yīng)時(shí)鐘邊沿,波形則變化為“1”。NRZI波形是NRZ波形的反相。
在ATE中,通過測試程序?qū)r(shí)鐘周期、時(shí)鐘前沿、時(shí)鐘后沿和采樣時(shí)間的定義,結(jié)合圖形文件中存儲(chǔ)的數(shù)據(jù),形成實(shí)際測試時(shí)所需的測試向量。
ATE測試向量與EDA設(shè)計(jì)仿真向量不同,而且不同的ATE,其向量格式也不盡相同。以JC-3165型ATE為例,其向量格式如圖4所示。
ATE向量信息以一定格式的文件保存,JC-3165向量文件為*.MDC文件。在ATE測試中,需將*.MDC文件通過圖形文件編譯器,編譯成測試程序可識(shí)別的*.MPD文件。在測試程序中,通過裝載圖形命令裝載到程序中。
圖4 ATE測試向量格式 2.2 ATE測試向量的生成[!--empirenews.page--]
對(duì)簡單的集成電路,如門電路,其ATE測試向量一般可以按照ATE向量格式手工完成。而對(duì)于一些集成度高,功能復(fù)雜的IC,其向量數(shù)據(jù)龐大,一般不可能依據(jù)其邏輯關(guān)系直接寫出所需測試向量,因此,有必要探尋一種方便可行的方法,完成ATE向量的生成。
在IC設(shè)計(jì)制造產(chǎn)業(yè)中,設(shè)計(jì)、驗(yàn)證和仿真是不可分離的。其ATE測試向量生成的一種方法是,從基于EDA工具的仿真向量(包含輸入信號(hào)和期望的輸出),經(jīng)過優(yōu)化和轉(zhuǎn)換,形成ATE格式的測試向量。
依此,可以建立一種向量生成方法。利用EDA工具建立器件模型,通過建立一個(gè)Test bench仿真驗(yàn)證平臺(tái),對(duì)其提供測試激勵(lì),進(jìn)行仿真,驗(yàn)證仿真結(jié)果,將輸入激勵(lì)和輸出響應(yīng)存儲(chǔ),按照ATE向量格式,生成ATE向量文件。其原理如圖5所示。
圖5 ATE向量生成示意圖
2.3測試平臺(tái)的建立
(1)DUT模型的建立
?、?64245模型:在Modelsim工具下用Verilog HDL語言[5],建立164245模型。164245是一個(gè)雙8位雙向電平轉(zhuǎn)換器,有4個(gè)輸入控制端:1DIR,1OE,2DIR,2OE;4組8位雙向端口:1A,1B,2A,2B.端口列表如下:
input DIR_1,DIR_2,OE_1,OE_2;
inout [0:7] a_1,a_2,b_1,b_2;
reg [0:7] bfa1,bfb1,bfa2,bfb2;//緩沖區(qū)
?、诰彌_器模型:建立一個(gè)8位緩沖器模型,用來做Test bench與164245之間的數(shù)據(jù)緩沖,通過在Testbench總調(diào)用緩沖器模塊,解決Test bench與164245模型之間的數(shù)據(jù)輸入問題。
(2)Test bench的建立
依據(jù)器件功能,建立Test bench平臺(tái),用來輸入仿真向量。
Test bench中變量定義:
reg dir1,dir2,oe1,oe2;//輸入控制端
reg[0:7] a1,a2,b1,b2;//數(shù)據(jù)端
reg[0:7] A1_out[0:7];//存儲(chǔ)器,用來存儲(chǔ)數(shù)據(jù)
reg[0:7] A2_out[0:7];
reg[0:7] B1_out[0:7];
reg[0:7] B2_out[0:7];
通過Test bench提供測試激勵(lì),經(jīng)過緩沖區(qū)接口送入DUT,觀察DUT輸出響應(yīng),如果滿足器件功能要求,則存儲(chǔ)數(shù)據(jù),經(jīng)過處理按照ATE圖形文件格式產(chǎn)生*.MDC文件;若輸出響應(yīng)有誤,則返回Test bench和DUT模型進(jìn)行修正。其原理框圖可表示如圖6所示。
圖6 Test bench驗(yàn)證平臺(tái)框圖
(3)仿真和驗(yàn)證
通過Test bench給予相應(yīng)的測試激勵(lì)進(jìn)行仿真,得到預(yù)期的結(jié)果,實(shí)現(xiàn)了器件功能仿真,并獲得了測試圖形。圖7和圖8為部分仿真結(jié)果。
圖7仿真數(shù)據(jù)結(jié)果
在JC-3165的*.MDC圖形文件中,對(duì)輸入引腳,用“1”和“0”表示高低電平;對(duì)輸出引腳,用“H”和“L”表示高低電平:“X”則表示不關(guān)心狀態(tài)。由于在仿真時(shí),輸出也是“0”和“1”,因此在驗(yàn)證結(jié)果正確后,對(duì)輸出結(jié)果進(jìn)行了處理,分別將“0”和“1”轉(zhuǎn)換為“L”和“H”,然后放到存儲(chǔ)其中,最后生成*.MDC圖形文件。
圖8生成的*.MDC文件
3結(jié)論
本文在Modelsim環(huán)境下,通過Verilog HDL語言建立一個(gè)器件模型,搭建一個(gè)驗(yàn)證仿真平臺(tái),對(duì)164245進(jìn)行了仿真,驗(yàn)證了164245的功能,同時(shí)得到了ATE所需的圖形文件,實(shí)現(xiàn)了預(yù)期所要完成的任務(wù)。
隨著集成電路的發(fā)展,芯片設(shè)計(jì)水平的不斷提高,功能越來越復(fù)雜,測試圖形文件也將相當(dāng)復(fù)雜且巨大,編寫出全面、有效,且基本覆蓋芯片大多數(shù)功能的測試圖形文件逐漸成為一種挑戰(zhàn),在ATE上實(shí)現(xiàn)測試圖形自動(dòng)生成已不可能。因此,有必要尋找一種能在EDA工具和ATE測試平臺(tái)之間的一種靈活通訊的方法。
目前常用的一種方法是,通過提取EDA工具產(chǎn)生的VCD仿真文件中的信息,轉(zhuǎn)換為ATE測試平臺(tái)所需的測試圖形文件,這需要對(duì)VCD文件有一定的了解,也是進(jìn)一步的工作。