專利名稱:測(cè)試點(diǎn)得知對(duì)象的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及一種具有多個(gè)用于測(cè)試多個(gè)器件的測(cè)試點(diǎn)的自 動(dòng)測(cè)試設(shè)備(ATE),更具體地說,本發(fā)明涉及在測(cè)試多個(gè)器件的過程 中ATE使用的測(cè)試點(diǎn)得知對(duì)象(site-aware object)。
背景技術(shù):
ATE指通常由計(jì)算機(jī)驅(qū)動(dòng)的自動(dòng)化方式的測(cè)試器件,例如,半導(dǎo) 體、電子電路以及印刷電路板組件。ATE測(cè)試的器件,例如半導(dǎo)體器 件,被稱為被測(cè)器件(DUT)。
當(dāng)今的ATE支持多點(diǎn)測(cè)試。支持多點(diǎn)測(cè)試的ATE包括多個(gè)測(cè)試 槽,或"測(cè)試點(diǎn)"。將要測(cè)試的器件插入每個(gè)測(cè)試點(diǎn)內(nèi),ATE對(duì)測(cè)試 點(diǎn)內(nèi)的器件執(zhí)行其所需的測(cè)試。在測(cè)試中通常涉及計(jì)算機(jī)程序。無需 改變這些計(jì)算機(jī)程序中的代碼而能測(cè)試在多個(gè)測(cè)試點(diǎn)中的器件的能力 被稱為"測(cè)試點(diǎn)透明性"。更具體地說,測(cè)試點(diǎn)透明性指自動(dòng)管理測(cè) 試點(diǎn)和測(cè)試點(diǎn)數(shù)據(jù),使得用戶幾乎不用負(fù)責(zé)這種任務(wù),以及幾乎不需 要考慮其測(cè)試是多測(cè)試點(diǎn)的,直到被要求這樣做。如果有效,用戶將 不會(huì)一直意識(shí)到其編程的測(cè)試點(diǎn)維數(shù)。
測(cè)試點(diǎn)透明性是ATE的一個(gè)顯著優(yōu)點(diǎn),因?yàn)樗试S用戶配置多個(gè) 被測(cè)試的器件,而無需對(duì)測(cè)試程序代碼做較大修改。
發(fā)明內(nèi)容
本申請(qǐng)描述了包括用于實(shí)現(xiàn)測(cè)試點(diǎn)得知對(duì)象的計(jì)算機(jī)程序產(chǎn)品的 設(shè)備和方法。
總之,在一個(gè)方面中,本發(fā)明涉及一種用于具有多個(gè)測(cè)試點(diǎn)的自
動(dòng)測(cè)試設(shè)備(ATE)的方法,其中每個(gè)測(cè)試點(diǎn)分別容納被測(cè)器件(DUT)。
該方法包括定義用于多個(gè)測(cè)試點(diǎn)的對(duì)象,其中該對(duì)象包括至少與多
個(gè)測(cè)試點(diǎn)中的一些測(cè)試點(diǎn)相關(guān)的數(shù)據(jù),而且其中該對(duì)象確定哪些測(cè)試
點(diǎn)是激活的;以及在利用ATE測(cè)試DUT期間,使用該對(duì)象。該方面 還可以包括如下特征中的一個(gè)或者多個(gè)。
ATE可以包括用于管理測(cè)試點(diǎn)的相關(guān)ATE軟件測(cè)試點(diǎn)管理基礎(chǔ)架 構(gòu)(ATE software site management infrastructure)。 該對(duì)象可以與ATE 軟件測(cè)試點(diǎn)管理基礎(chǔ)架構(gòu)通信,以確定哪些測(cè)試點(diǎn)是激活的。在測(cè)試 期間使用該對(duì)象可以包括如下之一個(gè)或者多個(gè)通過該對(duì)象對(duì)ATE編 程;將來自ATE的儀器讀數(shù)存儲(chǔ)在該對(duì)象中;利用該對(duì)象處理儀器讀 數(shù);以及將測(cè)試結(jié)果記錄在該對(duì)象中。處理可以包括改變儀器讀數(shù)和/ 或向測(cè)試子系統(tǒng)報(bào)告該讀數(shù)。
可以用編程語言定義該對(duì)象。編程語言可以象處理單個(gè)數(shù)據(jù)單元 一樣處理該對(duì)象。該數(shù)據(jù)可以包括用于標(biāo)識(shí)哪些測(cè)試點(diǎn)是激活的的布 爾數(shù)據(jù)。該數(shù)據(jù)可以包括引腳清單數(shù)據(jù)。該引腳清單數(shù)據(jù)可以包括對(duì) 應(yīng)于至少一個(gè)DUT的各引腳的儀器測(cè)量值的引腳數(shù)據(jù)。
可以用編程語言定義該對(duì)象,而且該方法還可以包括在該編程 語言中定義操作,其中該操作是該對(duì)象特有的。該操作可以包括對(duì)應(yīng) 于對(duì)編程語言中的本地變量執(zhí)行的數(shù)學(xué)運(yùn)算的一種數(shù)學(xué)運(yùn)算。
總之,在另一個(gè)方面中,本發(fā)明涉及一種系統(tǒng),該系統(tǒng)包括具
有多個(gè)測(cè)試點(diǎn)的自動(dòng)測(cè)試設(shè)備(ATE),其中分別配置每個(gè)測(cè)試點(diǎn)以適
應(yīng)被測(cè)器件(DUT);以及與ATE通信的處理裝置。該處理裝置執(zhí)行 指令,以便實(shí)施前述方面的方法。本方面還可以包括與前述方面相同 或者不同的特征。
在下面的附圖和說明書中詳細(xì)描述了一個(gè)或者多個(gè)例子。根據(jù)說 明書、附圖以及權(quán)利要求書,本發(fā)明的其他特征、方面以及優(yōu)點(diǎn)將是 顯而易見的。
圖1是ATE系統(tǒng)的方框圖。
圖2是測(cè)試點(diǎn)得知對(duì)象的示意圖。
圖3是在測(cè)試期間使用測(cè)試點(diǎn)得知對(duì)象的過程的流程圖。 不同附圖中同樣的參考編號(hào)表示同樣的單元。
具體實(shí)施例方式
圖1示出測(cè)試多個(gè)DUT使用的系統(tǒng)10。系統(tǒng)10包括ATE 12。 ATE 12包括器件接口板(DIB) 14,用于將器件連接到ATE。 DIB 14 具有多個(gè)測(cè)試點(diǎn)16a至16d。 DUT可以插入每個(gè)測(cè)試點(diǎn)內(nèi),以便利用 ATE進(jìn)行測(cè)試。盡管圖1僅示出4個(gè)測(cè)試點(diǎn),但是ATE 12可以包括任 意數(shù)量的測(cè)試點(diǎn)。此外,在圖1所示的例子中,每個(gè)測(cè)試槽有一個(gè)DUT, 然而,并不要求所有測(cè)試點(diǎn)都被占據(jù)。
每個(gè)DUT可以是利用ATE可以測(cè)試的任意類型的器件,其例子 包括但是并不局限于半導(dǎo)體器件和電子組件。
ATE 12包括內(nèi)部處理裝置,例如,數(shù)字信號(hào)處理器(DSP) 18。 DSP 18可以執(zhí)行全部或者部分ATE軟件20,即,由可執(zhí)行代碼組成 的計(jì)算機(jī)程序,以測(cè)試測(cè)試點(diǎn)16a至16d內(nèi)的DUT。可以將ATE軟件 20存儲(chǔ)在ATE 12上的存儲(chǔ)器(未示出)內(nèi),也可以由諸如下面描述的
計(jì)算機(jī)22的外部處理裝置提供ATE軟件20。 ATE軟件20包括用于管 理測(cè)試點(diǎn)16a至16d的ATE軟件測(cè)試點(diǎn)管理基礎(chǔ)架構(gòu)24。
此外,ATE軟件測(cè)試點(diǎn)管理基礎(chǔ)架構(gòu)對(duì)ATE軟件20與測(cè)試點(diǎn)16a 至16d之間的信息交換進(jìn)行控帝'j。該信息可以包括來自測(cè)試點(diǎn)內(nèi)的DUT 的數(shù)據(jù)和/或者發(fā)送到測(cè)試點(diǎn)內(nèi)的DUT的數(shù)據(jù)。發(fā)送到DUT的數(shù)據(jù)的 例子包括但是并不局限于諸如波形或者其他激勵(lì)的測(cè)試數(shù)據(jù)以及ATE 軟件20用于對(duì)DUT編程的配置數(shù)據(jù)(請(qǐng)注意,在一個(gè)實(shí)施例中,DSP 僅處理來自DUT的信號(hào))。來自DUT的數(shù)據(jù)的例子包括但是并不局 限于測(cè)試點(diǎn)是否是激活的指示符以及來自測(cè)試點(diǎn)內(nèi)的DUT的讀數(shù),包 括來自DUT內(nèi)的各引腳的讀數(shù)。請(qǐng)注意,如果該測(cè)試點(diǎn)是空的,則可 以認(rèn)為該測(cè)試點(diǎn)不是激活的,這意味著,該測(cè)試點(diǎn)內(nèi)的DUT已經(jīng)完成 而且通過了所有必要測(cè)試,或者該DUT沒有通過一個(gè)或者多個(gè)必要測(cè) 試。在這兩種的任一種情況下,不再做進(jìn)一步測(cè)試。作為一種選擇, 如果測(cè)試點(diǎn)內(nèi)沒有DUT,或者如果運(yùn)行測(cè)試的管理員關(guān)閉了測(cè)試點(diǎn), 則可以認(rèn)為該測(cè)試點(diǎn)不是激活的。
ATE 12與計(jì)算機(jī)22通信。計(jì)算機(jī)22可以是任意類型的處理裝置, 包括但是并不局限于常規(guī)個(gè)人計(jì)算機(jī)(PC)、臺(tái)式機(jī)或者手持機(jī)、多 處理器計(jì)算機(jī)、基于微處理器的或者可編程的消費(fèi)類電子裝置、微型 計(jì)算機(jī)、大型計(jì)算機(jī)和/或個(gè)人移動(dòng)計(jì)算裝置。在圖l所示的例子中, 計(jì)算機(jī)22包括一個(gè)或者多個(gè)被簡稱為"處理器26"的處理器和存儲(chǔ)器 28。存儲(chǔ)器28存儲(chǔ)處理器26所執(zhí)行以測(cè)試ATE 12內(nèi)的DUT的測(cè)試 軟件30。在測(cè)試期間,測(cè)試軟件30與包括上面描述的ATE軟件測(cè)試 點(diǎn)管理基礎(chǔ)架構(gòu)的ATE軟件20交互。例如,通過指示ATE軟件20 將測(cè)試數(shù)據(jù)提供給測(cè)試點(diǎn)16a至16d內(nèi)的DUT并向測(cè)試軟件30或者 指定的子系統(tǒng)報(bào)告這種測(cè)試結(jié)果,測(cè)試軟件30可以控制測(cè)試。為此, 測(cè)試軟件30可以生成一個(gè)或者多個(gè)圖形用戶界面(GUI)(未示出), 通過該圖形用戶界面,管理員可以控制ATE 12的測(cè)試。 到目前為止,計(jì)算機(jī)22上的測(cè)試軟件和被稱為過程開發(fā)環(huán)境
(PDE)的交互式圖形環(huán)境相結(jié)合一起運(yùn)行。PDE包括實(shí)現(xiàn)測(cè)試點(diǎn)透 明性的代碼,因此使測(cè)試軟件開發(fā)者能將注意力集中在過程流程上。 因此,所獲得的測(cè)試軟件依賴于PDE。然而,系統(tǒng)10不需要包括PDE。 相反,測(cè)試軟件30利用測(cè)試點(diǎn)得知對(duì)象(下面將說明)在測(cè)試期間實(shí) 現(xiàn)測(cè)試點(diǎn)透明性。
在本實(shí)施例中,以Visual Basic for Application (Visual Basic)編 寫測(cè)試軟件30。 Visual Basic是由被稱為Basic的早期DOS版本演化來 的高級(jí)編程語言。Visual Basic是可視的而且是事件驅(qū)動(dòng)編程語言。這 是它與早期Basic的主要區(qū)別。在Basic中是在純文本環(huán)境下進(jìn)行編程 并且程序是順序執(zhí)行的。在Visual Basic中,利用對(duì)象,在圖形環(huán)境下 進(jìn)行編程。
對(duì)象是包括數(shù)據(jù)和為處理該數(shù)據(jù)而執(zhí)行的代碼的自含式實(shí)體。因 為在Visual Basic中用戶可以隨機(jī)選擇對(duì)象,所以對(duì)每個(gè)對(duì)象獨(dú)立編程 以使其能夠?qū)@種動(dòng)作做出響應(yīng)。因此,Visual Basic程序可以由大量 子程序構(gòu)成,每個(gè)子程序分別具有自己的程序代碼,而且可以被獨(dú)立 執(zhí)行以及與其他子程序同時(shí)執(zhí)行。
ATE 12使用的測(cè)試點(diǎn)得知對(duì)象是設(shè)計(jì)為表示多個(gè)測(cè)試點(diǎn)的數(shù)據(jù) 的數(shù)據(jù)對(duì)象??梢岳眠@種數(shù)據(jù)來對(duì)ATE儀器編程,保持測(cè)量讀數(shù)、 處理這些讀數(shù)和/或向負(fù)責(zé)布置DUT (例如,入倉(binning))以及記 錄測(cè)試結(jié)果(數(shù)據(jù)記錄)的子系統(tǒng)報(bào)告這些讀數(shù)。測(cè)試點(diǎn)得知對(duì)象從 它們是從內(nèi)部連接到ATE軟件測(cè)試點(diǎn)管理基礎(chǔ)架構(gòu)24的事實(shí)而獲取其 名稱的,因此,它是知曉ATE系統(tǒng)測(cè)試點(diǎn)的環(huán)境隨時(shí)間發(fā)生的變化的, 例如,每小時(shí)、每分鐘、每秒鐘檢測(cè)到的周期性的變化等。測(cè)試點(diǎn)得 知對(duì)象向用戶展示了兩種似乎相互沖突的模型。測(cè)試點(diǎn)得知對(duì)象允許 用戶在基本上忽略測(cè)試點(diǎn)的概念的情況下編寫測(cè)試代碼,而且在需要 時(shí),用戶可以訪問各測(cè)試點(diǎn)特有的數(shù)據(jù)。
參考圖2,在本實(shí)施例中,測(cè)試點(diǎn)得知對(duì)象32包括識(shí)別DIB 14 上的每個(gè)測(cè)試點(diǎn)16a至16d的數(shù)據(jù)34。測(cè)試點(diǎn)得知對(duì)象32還包括與位 于每個(gè)測(cè)試點(diǎn)內(nèi)的DUT相關(guān)的數(shù)據(jù)36。與DUT相關(guān)的數(shù)據(jù)可以是從 DUT接收的數(shù)據(jù),例如,讀數(shù)、測(cè)試結(jié)果或類似數(shù)據(jù),也可以是傳送 到DUT的數(shù)據(jù),例如,程序信息、測(cè)試數(shù)據(jù)或類似數(shù)據(jù)。
在測(cè)試點(diǎn)得知對(duì)象32使各測(cè)試點(diǎn)與和這些測(cè)試點(diǎn)內(nèi)的DUT有關(guān) 的數(shù)據(jù)相關(guān)聯(lián)的意義上,測(cè)試點(diǎn)得知對(duì)象32與陣列類似。然而,測(cè)試 點(diǎn)得知對(duì)象32與陣列的不同之處在于,測(cè)試點(diǎn)得知對(duì)象32在測(cè)試期 間知道哪個(gè)測(cè)試點(diǎn)是激活的/非激活的。為此,測(cè)試點(diǎn)得知對(duì)象32還包 括可執(zhí)行代碼38,用于與ATE軟件測(cè)試點(diǎn)管理基礎(chǔ)架構(gòu)24通信,以 確定哪個(gè)測(cè)試點(diǎn)16a至16d是激活的/非激活的,相應(yīng)地更新其存儲(chǔ)的 數(shù)據(jù),以及與測(cè)試軟件30通信。
在本實(shí)施例中,在Visual Basic中使用測(cè)試點(diǎn)得知對(duì)象。然而,請(qǐng) 注意,測(cè)試點(diǎn)得知對(duì)象并不局限于在Visual Basic環(huán)境下使用,可以利 用任意編程語言實(shí)現(xiàn)測(cè)試點(diǎn)得知對(duì)象。然而,下面的描述適用于在 Visual Basic中使用的測(cè)試點(diǎn)得知對(duì)象。
在Visual Basic中,最通用的變量類型是Variant。這種變量類型 用于容納可以在Visual Basic編程環(huán)境下使用的任何其他的變量類型。 在本實(shí)施例中,定義了被稱為SiteVariant的與Variant對(duì)應(yīng)的測(cè)試點(diǎn)得 知的變量類型。SiteVariant可以容納任意類型的多個(gè)測(cè)試點(diǎn)的值。
下面概括說明SiteVariant對(duì)象的行為。SiteVariant對(duì)象包括用于 多個(gè)測(cè)試點(diǎn)的數(shù)據(jù)。如果在單賦值語句中被賦予單標(biāo)量值,則該數(shù)據(jù) 可以是對(duì)各測(cè)試點(diǎn)都一樣的(site-uniform),而如果是測(cè)量所返回的, 則該數(shù)據(jù)可以是各測(cè)試點(diǎn)特有的(site-specific)。 SiteVariant對(duì)象是"測(cè) 試點(diǎn)得知的(site-aware)"。在使用時(shí),它知道測(cè)試程序是否正處于
當(dāng)前僅選定了一個(gè)測(cè)試點(diǎn)的測(cè)試點(diǎn)回路中。在Site Variant對(duì)象處于測(cè) 試點(diǎn)回路(并且選定了單個(gè)測(cè)試點(diǎn))時(shí),或者在它是對(duì)各測(cè)試點(diǎn)都一 樣(對(duì)于所有測(cè)試點(diǎn),具有單個(gè)標(biāo)量值)時(shí),可以與其他任意Visual Basic 變量類似地使用該SiteVariant對(duì)象。此外,在它位于測(cè)試點(diǎn)回路之外 而容納了各測(cè)試點(diǎn)特有的數(shù)據(jù)時(shí),它被當(dāng)作是多個(gè)測(cè)試點(diǎn)的 (multisite)。下面的代碼表示了根據(jù)SiteVariant是否容納了多個(gè)測(cè)試 點(diǎn)數(shù)據(jù)以及是在測(cè)試點(diǎn)回路內(nèi)還是測(cè)試點(diǎn)回路外將其使用的 SiteVariant的雙重功能。在下面的例子中的Dubug Print的使用是要求 單個(gè)標(biāo)量變量的任意用途的替代。在該例中,諸如XY的雙字母變量名 稱表示它容納了多個(gè)測(cè)試點(diǎn)的數(shù)據(jù)。諸如X的單字母變量名稱容納了 標(biāo)量,并且在本例中,其所起的作用與標(biāo)準(zhǔn)的Visual Basic的Double 完全類似。
Dim Site As Variant
Dim X As New SiteDouble
Dim YY As New SiteDouble
X = 2.5 'Variable holds one number - same number for all sites Debug.Print X 'Prints 2.5
YY = thehdw.DCVI.Pins("Vdd").Meter.Read 'Meter Read returns site-specific data
—a separate value for each site.
Debug.Print YY ' Runtime Error: "Object contains site-specific data" For Each Site In theExec.Sites Debug.Print Site
Debug.Print YY 'Works here. Object always evaluates to a scalar in a
site
loop Next site
SiteVariant或者是對(duì)各測(cè)試點(diǎn)都一樣的,或者是各測(cè)試點(diǎn)特有的。 "對(duì)各測(cè)試點(diǎn)都一樣"意味著所有測(cè)試點(diǎn)從單個(gè)賦值中共享一個(gè)公用 值。"各測(cè)試點(diǎn)特有"意味著每個(gè)測(cè)試點(diǎn)具有自己的值。請(qǐng)注意,這 些術(shù)語是指共享單個(gè)數(shù)值,而非指該值的對(duì)應(yīng)數(shù)字。例如,如果測(cè)試 點(diǎn)回路對(duì)所有為SiteDouble類型的測(cè)試點(diǎn)賦值5.0,則即使所有測(cè)試點(diǎn) 具有相同值,它也是各測(cè)試點(diǎn)特有的。
可以從SiteVariant導(dǎo)出更具體的對(duì)象類型,以容納具體的Visual Basic變量類型。這些對(duì)象類型可以對(duì)應(yīng)于Visual Basic固有的變量類 型。這些更具體的對(duì)象類型的例子包括SiteDouble 、 SiteBoolean 、 SiteLong以及PinData。對(duì)象類型SiteDouble、 SiteBoolean禾口 SiteLong 表示分別對(duì)應(yīng)于Visual Basic的固有類型Double (64位精確浮點(diǎn)數(shù))、 Boolean (邏輯真或者假)以及Long (32位整數(shù))的SiteVariant數(shù)據(jù)。 PinData擴(kuò)展了 SiteVariant,以包括與器件引腳相關(guān)的特性,例如,引 腳名稱和通道標(biāo)識(shí)符。在封裝了多引腳的、多測(cè)試點(diǎn)的儀器讀數(shù)的 PinlistData集合類中使用PinData。艮卩,PinlistData為多個(gè)測(cè)試點(diǎn)和激 活的測(cè)試點(diǎn)識(shí)別DUT的各引腳以及與各引腳的測(cè)量值相關(guān)的數(shù)據(jù)值。
更具體地說,PinlistData對(duì)象已被并入新的SiteVariant使用模型 中。PinlistData對(duì)象將引腳維度添加到多測(cè)試點(diǎn)的數(shù)據(jù)中。這樣,可以 將它看作含有每個(gè)引腳和測(cè)試點(diǎn)的數(shù)據(jù)的矩陣。它容納了與每個(gè)引腳 一一對(duì)應(yīng)的PinData對(duì)象。PinlistData的每個(gè)引腳片段是具有引腳名稱 的SiteVariant。它被稱為PinData對(duì)象。實(shí)際上,含有單個(gè)引腳的任意 PinlistData對(duì)象都可以用作SiteVariant,或者如果所容納的數(shù)據(jù)類型與 派生出的數(shù)據(jù)類型相匹配,則用作其更為具體的派生類型之一。因?yàn)?該原因,如果用戶的驅(qū)動(dòng)程序語法含有單個(gè)引腳,則不再需要使用 PinlistData對(duì)象。例如,用戶可以選擇將單引腳測(cè)量值直接放入 SiteDouble中。因?yàn)镻inlistData對(duì)象容納了 SiteVariant,所以PinlistData 對(duì)象具有相同的測(cè)試點(diǎn)得知的行為和相同的對(duì)各測(cè)試點(diǎn)都一樣的屬性/ 各測(cè)試點(diǎn)特有的屬性。雖然PinlistData的遺留語法仍將發(fā)揮作用,但
是大多數(shù)語法被隱藏起來,以支持與SiteVariant模型一致的接口。提 供PinlistData算術(shù)方法,以在單次調(diào)用中對(duì)多個(gè)測(cè)試點(diǎn)和多個(gè)引腳進(jìn) 行運(yùn)算。下面的代碼接受了對(duì)4個(gè)測(cè)試點(diǎn)內(nèi)的3對(duì)引腳進(jìn)行的儀器測(cè) 量值,然后,利用單個(gè)語句對(duì)所有測(cè)試點(diǎn)內(nèi)的兩兩之間的所有各個(gè)對(duì) 的三角形進(jìn)行了數(shù)據(jù)記錄。
Dim HighReading As New PinlistData Dim LowReading As New PinlistData Dim Delta As New PinlistData
HighReading=thehdw.DCVI.Pins("A—pos,B—pos,C—pos,,).Meter.Read LowReading=thehdw.DCVI.Pins("A—neg,B_neg,C—neg,,).Meter.Read Delta= HighReading.Subtract(LowReading) TheExec.Flow.TestLimit Delta
上述對(duì)象類型不是可以派生出來的唯一類型。在Variant內(nèi)可以出 現(xiàn)的任意類型都可以成為從SiteVariant派生的基礎(chǔ)。這些類型可以包 括但并不僅限于用戶定義的類型和非Visual Basic固有的類型。
測(cè)試點(diǎn)得知對(duì)象在可能的范圍內(nèi)模仿與其對(duì)應(yīng)的Visual Basic類 型。這樣,SiteVariant的編程模型與Variant、 Double的SiteDouble等
的編程模型幾乎相同。對(duì)象類型與固有類型的一個(gè)差別是對(duì)象類型被 定義并被分配地址。另一個(gè)差別是,在Visual Basic中,對(duì)固有類型進(jìn) 行的大多數(shù)數(shù)學(xué)運(yùn)算包括使用符號(hào)運(yùn)算符,例如,"+ "、"一"、 、 "/"。然而,測(cè)試點(diǎn)得知對(duì)象的編程接口定義了對(duì)應(yīng)于這些運(yùn)
算符的方法。
更具體地說,使用Visual Basic編程語言,可以定義可以對(duì)測(cè)試點(diǎn) 得知對(duì)象執(zhí)行的運(yùn)算(例如,數(shù)學(xué)運(yùn)算、邏輯運(yùn)算等)。這些運(yùn)算對(duì) 應(yīng)于Visual Basic的固有運(yùn)算,但是是利用代碼定義的。這是必需的,
因?yàn)闇y(cè)試點(diǎn)得知對(duì)象與Visual Basic的固有變量具有不同的結(jié)構(gòu)。作為 例子,可以對(duì)Visual Basic的固有變量"y"和"x"執(zhí)行加法運(yùn)算
y=x+0.1
以對(duì)"x"加0.1,然后,將結(jié)果值賦予"y"。可以在Visual Basic
中對(duì)測(cè)試點(diǎn)得知對(duì)象"X"和"Y"執(zhí)行類似的運(yùn)算,但是不使用數(shù)學(xué) 運(yùn)算符"+ "。相反,可以在Visual Basic中定義函數(shù)"add",以用 于測(cè)試點(diǎn)得知對(duì)象。如下所示,利用該函數(shù),可以對(duì)測(cè)試點(diǎn)得知對(duì)象
"X"中的每個(gè)數(shù)據(jù)項(xiàng)(測(cè)試點(diǎn)的)加數(shù)值0.1,然后,將這些值賦予
"Y"內(nèi)的相應(yīng)數(shù)據(jù)項(xiàng)
Y=X.add(0.1)
可以利用其它函數(shù)定義其它運(yùn)算。利用這種函數(shù),Visual Basic (或者其他編程語言)可以象在處理單個(gè)固有的數(shù)據(jù)單元那樣處理測(cè) 試點(diǎn)得知對(duì)象。這種功能提升了測(cè)試點(diǎn)透明性,因?yàn)樗试S以本質(zhì)上 的Visual Basic對(duì)象來處理測(cè)試點(diǎn)得知對(duì)象,由此允許程序員將注意力 集中在過程流程上,而無需考慮ATE 12內(nèi)的多個(gè)測(cè)試點(diǎn)。
上面的運(yùn)算定義不是測(cè)試點(diǎn)得知對(duì)象的固有局限。相反,需要對(duì) 運(yùn)算進(jìn)行定義是不支持運(yùn)算符重載(overloading)的Visual Basic編程
環(huán)境的特征。在不同的編程環(huán)境下,可以有對(duì)測(cè)試點(diǎn)得知對(duì)象進(jìn)行符 號(hào)運(yùn)算的支持。
圖3示出利用測(cè)試點(diǎn)得知對(duì)象采用ATE 12執(zhí)行的過程40。過程 40定義(42) 了用于測(cè)試點(diǎn)16a至16d的測(cè)試點(diǎn)得知對(duì)象??梢愿鶕?jù) 用戶輸入定義測(cè)試點(diǎn)得知對(duì)象。在測(cè)試測(cè)試點(diǎn)16a至16d內(nèi)的DUT期 間,ATE12使用(44)測(cè)試點(diǎn)得知對(duì)象。如上所述,測(cè)試點(diǎn)得知對(duì)象 與ATE軟件測(cè)試點(diǎn)管理基礎(chǔ)架構(gòu)24通信,以確定哪些測(cè)試點(diǎn)是激活的。 特別是,測(cè)試點(diǎn)得知對(duì)象接收(46)指示選定了特定DUT的指示符, 然后,將該指示符存儲(chǔ)(48)在測(cè)試點(diǎn)得知對(duì)象中。
在測(cè)試期間,測(cè)試點(diǎn)得知對(duì)象可以用于任意用途,包括但并不僅 限于對(duì)ATE編程、將來自ATE的讀數(shù)存儲(chǔ)在測(cè)試點(diǎn)得知對(duì)象中,將測(cè) 試結(jié)果記錄在測(cè)試點(diǎn)得知對(duì)象中,以及利用測(cè)試點(diǎn)得知對(duì)象處理該讀 數(shù),包括改變讀數(shù)和/或向測(cè)試子系統(tǒng)報(bào)告該讀數(shù)。
在本實(shí)施例中,SiteVariant對(duì)象以類似Visual Basic式的標(biāo)量變量 使用模型來呈現(xiàn)。這是通過下述Visual Basic特征的組合來實(shí)現(xiàn)的可 選參數(shù)的默認(rèn)隱藏屬性,以及對(duì)該相同屬性設(shè)置(Let)并獲得(Get)不 同類型的能力。每個(gè)SiteVariant對(duì)象分別具有其可選參數(shù)為Site as Long--l的隱藏默認(rèn)屬性.Value()。該默認(rèn)測(cè)試點(diǎn)參數(shù)調(diào)用測(cè)試點(diǎn)得知 行為,對(duì)測(cè)試點(diǎn)回路中所選定的所有測(cè)試點(diǎn)或者選定的單個(gè)測(cè)試點(diǎn)采 取措施。比較下面的等效語法(X和Z是SiteDouble,而y是普通的 Visual Basic Double):
用法 等效用法
X=5 X.Value(-l)=5
y=X y=X.Value(-l)
Z=X Z.Value(-l)=X
上面是等效的,因?yàn)?Value和一l都是默認(rèn)值。
在該使用模型中,使.Value屬性成為隱藏的默認(rèn)值不僅僅是一條 捷徑。使用了一種默認(rèn)機(jī)制以增加多性行為。這些SiteVariant可以根 據(jù)語法作為數(shù)字或者對(duì)象。在Visual Basic遇到?jīng)]有確定屬性或者方法 的對(duì)象時(shí),根據(jù)使用中所要求什么類型,它可以將該對(duì)象解釋為對(duì)象 本身,或者是調(diào)用對(duì)象的默認(rèn)屬性的結(jié)果。在上面的廣X行,左側(cè)要 求是Double的。由于X不是Double,所以Visual Basic嘗試對(duì)象X的 默認(rèn)屬性,然后,發(fā)現(xiàn)該默認(rèn)屬性的確返回Double。在Z = X行,在 右側(cè),Z的默認(rèn)屬性接受對(duì)象(Variant),因此Visual Basic將對(duì)象X 直接賦值給Z。這之所以可行,是因?yàn)榧词乖谕粋€(gè)屬性的Get版本是 Double時(shí),Visual Basic仍允許.Value()屬性的Let版本為Variant。默 認(rèn)使用的簡潔性,以及其與Visual Basic變量的一致性使得.Value屬性 被隱藏。
在此描述的過程和測(cè)試點(diǎn)得知對(duì)象并不局限于使用任何特定的硬 件、軟件或者編程語言,它們可以應(yīng)用于任意計(jì)算環(huán)境或者處理環(huán)境, 并且可以使用在能夠運(yùn)行機(jī)器可讀指令的任意類型的機(jī)器上。可以在 數(shù)字電子電路系統(tǒng),或者在計(jì)算機(jī)硬件、固件、軟件或者其組合上實(shí) 現(xiàn)全部或者部分的過程以及測(cè)試點(diǎn)得知對(duì)象。
可以將全部或者部分的過程以及測(cè)試點(diǎn)得知對(duì)象實(shí)現(xiàn)為計(jì)算機(jī)程 序產(chǎn)品,S卩,實(shí)際嵌入在信息載體內(nèi)例如機(jī)器可讀存儲(chǔ)裝置或者傳輸 信號(hào)內(nèi)的計(jì)算機(jī)程序,以便讓諸如可編程處理器、計(jì)算機(jī)或者多個(gè)計(jì) 算機(jī)的數(shù)據(jù)處理設(shè)備來執(zhí)行,或者控制數(shù)據(jù)處理設(shè)備的運(yùn)行??梢岳?用包括匯編語言或者解釋語言的任意形式的編程語言編寫計(jì)算機(jī)程 序,而且可以以任意方式部署該計(jì)算機(jī)程序,包括用作獨(dú)立程序或者 模塊、組件、子例程或者適合用于計(jì)算環(huán)境的其它單元??梢詫⒂?jì)算 機(jī)程序部署為,讓位于一個(gè)點(diǎn)的一臺(tái)計(jì)算機(jī)或者分布在多個(gè)點(diǎn)而由通 信網(wǎng)絡(luò)互聯(lián)的多臺(tái)計(jì)算機(jī)來執(zhí)行。
可以由執(zhí)行一個(gè)或者多個(gè)計(jì)算機(jī)程序的一個(gè)或者多個(gè)可編程處理 器來執(zhí)行與過程和測(cè)試點(diǎn)得知對(duì)象相關(guān)的方法步驟,以執(zhí)行該過程和 測(cè)試點(diǎn)得知對(duì)象的功能。也可以利用專用邏輯電路,例如,F(xiàn)PGA (現(xiàn) 場(chǎng)可編程門陣列)禾Q/或ASIC (專用集成電路)執(zhí)行該方法步驟,并且 可以將該過程和測(cè)試點(diǎn)得知對(duì)象實(shí)現(xiàn)為該專用邏輯電路。
作為例子,適合執(zhí)行計(jì)算機(jī)程序的處理器包括通用和專用微處理
器以及任意類型的數(shù)字計(jì)算機(jī)的一個(gè)或者多個(gè)處理器。通常,處理器
從只讀存儲(chǔ)區(qū)或者隨機(jī)存取存儲(chǔ)區(qū)或者它們二者接收指令和數(shù)據(jù)。計(jì) 算機(jī)的單元包括用于執(zhí)行指令的處理器和用于存儲(chǔ)指令和數(shù)據(jù)的一個(gè)
或者多個(gè)存儲(chǔ)區(qū)器件。通常,計(jì)算機(jī)還包括一個(gè)或者多個(gè)用于存儲(chǔ)數(shù) 據(jù)的大容量存儲(chǔ)器件,例如,磁盤、磁光盤、或者光盤,以便與其可 操作地連接并從其接收或者向其發(fā)送數(shù)據(jù),或者兩者兼有。適合嵌入 計(jì)算機(jī)程序指令和數(shù)據(jù)的信息載體包括所有形式的非易失性存儲(chǔ)區(qū),
作為例子,包括半導(dǎo)體存儲(chǔ)區(qū)器件,例如,EPROM、 EEPROM以及閃 速存儲(chǔ)區(qū)器件,磁盤,例如,內(nèi)部硬盤或者移動(dòng)盤,磁光盤以及CD-ROM 禾口 DVD-ROM盤。
在包括例如作為數(shù)據(jù)服務(wù)器的后端部件,或者包括例如應(yīng)用服務(wù) 器的中間件部件,或者包括例如具有圖形用戶界面的客戶端計(jì)算機(jī)的 前端部件,或者在包括這種后端部件、中間件部件或者前端部件的任 何組合的計(jì)算系統(tǒng)中,可以實(shí)現(xiàn)全部或者部分的過程以及測(cè)試點(diǎn)得知 對(duì)象。該系統(tǒng)的各部件可以以任意方式或者通過諸如通信網(wǎng)絡(luò)的數(shù)字 數(shù)據(jù)通信的媒介來互連。通信網(wǎng)絡(luò)的例子包括LAN和WAN,例如, 因特網(wǎng)。
可以重新排列與過程和測(cè)試點(diǎn)得知對(duì)象相關(guān)的方法步驟,和/或可 以省略一個(gè)或者多個(gè)這種步驟,以實(shí)現(xiàn)與在此描述的效果相同或者類 似的結(jié)果。
可以在過程語言的環(huán)境中而不是面向?qū)ο缶幊讨惺褂迷诖嗣枋龅?過程。例如,可以如下定義測(cè)試點(diǎn)得知對(duì)象X,Y:
X=Instrument.ReadMeasurement(PinA) Y=X.Add(0.1)
在過程語言中,例如,C語言中,如下所示,可以利用數(shù)據(jù)結(jié)構(gòu)
(下面的X,Y)和外部函數(shù)(Add())來實(shí)現(xiàn)X, Y的對(duì)應(yīng)物
X=ReadMeasurement(InstrumentID,PinA) Y=X.Add(X,0.1)
一個(gè)差別是,在過程語言中,X和Y僅包含數(shù)據(jù),而且存在可以 執(zhí)行任意處理的外部函數(shù),例如,Add()。
可以將在此描述的不同的實(shí)施例的單元組合在一起,以構(gòu)成上面 沒有具體描述的其它的實(shí)施例。在此沒有具體描述的其它實(shí)施例也在
權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種用于具有多個(gè)測(cè)試點(diǎn)的自動(dòng)測(cè)試設(shè)備(ATE)的方法,每個(gè)所述測(cè)試點(diǎn)分別容納被測(cè)器件(DUT),該方法包括定義用于所述多個(gè)測(cè)試點(diǎn)的對(duì)象,所述對(duì)象包括至少與所述多個(gè)測(cè)試點(diǎn)中的一些測(cè)試點(diǎn)相關(guān)的數(shù)據(jù),所述對(duì)象確定哪些測(cè)試點(diǎn)是激活的;以及在利用所述ATE測(cè)試DUT期間,使用所述對(duì)象。
2. 根據(jù)權(quán)利要求1所述的方法,其中所述ATE具有用于管理所述 測(cè)試點(diǎn)的相關(guān)的ATE軟件測(cè)試點(diǎn)管理基礎(chǔ)架構(gòu),所述對(duì)象與所述ATE 軟件測(cè)試點(diǎn)管理基礎(chǔ)架構(gòu)通信,以確定哪些測(cè)試點(diǎn)是激活的。
3. 根據(jù)權(quán)利要求1所述的方法,其中在測(cè)試期間使用所述對(duì)象包 括如下之一個(gè)或者多個(gè)-通過所述對(duì)象對(duì)所述ATE編程;將來自所述ATE的儀器讀數(shù)存儲(chǔ)在所述對(duì)象中;利用所述對(duì)象處理儀器讀數(shù);以及將測(cè)試結(jié)果記錄在所述對(duì)象中。
4. 根據(jù)權(quán)利要求3所述的方法,其中處理包括改變所述儀器讀數(shù) 和/或向測(cè)試子系統(tǒng)報(bào)告所述讀數(shù)。
5. 根據(jù)權(quán)利要求1所述的方法,其中在編程語言中定義所述對(duì)象, 所述編程語言能夠象在所述編程語言中處理單個(gè)數(shù)據(jù)單元一樣處理所 述對(duì)象。
6. 根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)包括標(biāo)識(shí)哪些測(cè)試 點(diǎn)是激活的布爾數(shù)據(jù)。
7. 根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)包括引腳清單數(shù)據(jù),該引腳清單數(shù)據(jù)包括與至少一個(gè)DUT的各引腳的儀器測(cè)量值相對(duì)應(yīng)的引腳數(shù)據(jù)。
8. 根據(jù)權(quán)利要求1所述的方法,其中在編程語言中定義所述對(duì)象,而且該方法進(jìn)一步包括在所述編程語言中定義操作,該操作是所述對(duì)象特有的。
9. 根據(jù)權(quán)利要求8所述的方法,其中所述操作包括與在所述編程語言中的固有變量上執(zhí)行的數(shù)學(xué)運(yùn)算相對(duì)應(yīng)的數(shù)學(xué)運(yùn)算。
10. —種系統(tǒng),包括具有多個(gè)測(cè)試點(diǎn)的自動(dòng)測(cè)試設(shè)備(ATE),每個(gè)所述測(cè)試點(diǎn)分別容納被測(cè)器件(DUT);與所述ATE通信的處理裝置,該處理裝置執(zhí)行指令,以便 定義用于所述多個(gè)測(cè)試點(diǎn)的對(duì)象,所述對(duì)象包括與所述多個(gè)測(cè)試點(diǎn)中的至少一些測(cè)試點(diǎn)相關(guān)的數(shù)據(jù),所述對(duì)象確定哪些測(cè)試點(diǎn)是激活的;以及在利用所述ATE測(cè)試DUT期間,使用所述對(duì)象。
11. 根據(jù)權(quán)利要求IO所述的系統(tǒng),其中所述ATE包括用于管理所 述測(cè)試點(diǎn)的ATE軟件測(cè)試點(diǎn)管理基礎(chǔ)架構(gòu),所述對(duì)象與所述ATE軟件 測(cè)試點(diǎn)管理基礎(chǔ)架構(gòu)通信,以確定哪些測(cè)試點(diǎn)是激活的。
12. 根據(jù)權(quán)利要求IO所述的系統(tǒng),其中在測(cè)試期間使用所述對(duì)象 包括如下之一個(gè)或者多個(gè)通過所述對(duì)象對(duì)所述ATE編程;將來自所述ATE的儀器讀數(shù)存儲(chǔ)在所述對(duì)象中;利用所述對(duì)象處理所述儀器讀數(shù);以及
13. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中處理包括改變所述儀器讀 數(shù)和/或向測(cè)試子系統(tǒng)報(bào)告所述讀數(shù)。
14. 根據(jù)權(quán)利要求IO所述的系統(tǒng),其中在編程在所述處理裝置上 的編程語言中定義所述對(duì)象,所述編程語言能夠象在所述編程語言中 處理單個(gè)數(shù)據(jù)單元一樣處理所述對(duì)象。
15. 根據(jù)權(quán)利要求IO所述的系統(tǒng),其中所述數(shù)據(jù)包括標(biāo)識(shí)哪些測(cè)試點(diǎn)是激活的布爾數(shù)據(jù)。
16. 根據(jù)權(quán)利要求IO所述的系統(tǒng),其中所述數(shù)據(jù)包括引腳清單數(shù) 據(jù),該引腳清單數(shù)據(jù)包括與至少一個(gè)DUT的各引腳的儀器測(cè)量值相對(duì) 應(yīng)的引腳數(shù)據(jù)。
17. 根據(jù)權(quán)利要求IO所述的系統(tǒng),其中在編程在所述處理裝置上 的編程語言中定義所述對(duì)象,以及其中所述處理裝置執(zhí)行指令以在所述編程語言中定義操作,該操 作是所述對(duì)象特有的。
18. 根據(jù)權(quán)利要求17所述的系統(tǒng),其中所述操作包括與在所述編 程語言中的固有變量上執(zhí)行的數(shù)學(xué)運(yùn)算相對(duì)應(yīng)的數(shù)學(xué)運(yùn)算。
全文摘要
一種用于具有多個(gè)測(cè)試點(diǎn)的自動(dòng)測(cè)試設(shè)備(ATE)的方法,每個(gè)測(cè)試點(diǎn)分別容納被測(cè)器件(DUT),該方法包括定義用于多個(gè)測(cè)試點(diǎn)的對(duì)象,其中該對(duì)象包括至少與多個(gè)測(cè)試點(diǎn)中的一些測(cè)試點(diǎn)相關(guān)的數(shù)據(jù),而且該對(duì)象確定哪些測(cè)試點(diǎn)是激活的。該方法還包括在利用ATE測(cè)試DUT期間使用該對(duì)象。
文檔編號(hào)G01R31/26GK101166985SQ200680014631
公開日2008年4月23日 申請(qǐng)日期2006年4月12日 優(yōu)先權(quán)日2005年4月29日
發(fā)明者丹尼爾·P·桑頓, 蘭德爾·B·斯廷森, 斯蒂芬·J·霍特亞克 申請(qǐng)人:泰拉丁公司