具有存儲(chǔ)器上的加速以及用于fpga塊內(nèi)自動(dòng)模式生成的加速的測試器的制造方法
【技術(shù)領(lǐng)域】
[0001]本公開總體涉及電子器件測試系統(tǒng)領(lǐng)域,并且更具體地涉及用于測試受測器件(DUT)的電子器件測試設(shè)備領(lǐng)域。
【背景技術(shù)】
[0002]自動(dòng)測試設(shè)備(ATE)可以是對半導(dǎo)體器件或電子部件執(zhí)行測試的任何測試裝備。ATE裝配組可用于執(zhí)行快速執(zhí)行測量的自動(dòng)測試、并生成然后可分析的測試結(jié)果。ATE裝配組可以是可以包括定制的專用計(jì)算機(jī)控制系統(tǒng)、和具有自動(dòng)測試電子部件和/或半導(dǎo)體晶片的測試(例如片上系統(tǒng)(SOC)測試、或集成電路測試)能力的許多不同的測試器件的任何事物,從耦接到儀表的計(jì)算機(jī)系統(tǒng)到復(fù)雜的自動(dòng)化裝備。ATE系統(tǒng)既減少花費(fèi)于對器件進(jìn)行測試以確保器件的功能如設(shè)計(jì)那樣的時(shí)間、也用做在給定器件到達(dá)消費(fèi)者手中前判定此給定器件內(nèi)的故障組件的存在的診斷工具。
[0003]圖1是用于測試某些典型DUT (例如,諸如DRAM之類的半導(dǎo)體存儲(chǔ)器件)的傳統(tǒng)自動(dòng)測試設(shè)備主體100的示意框圖。ATE包括具有硬件總線適配器卡座110A-110N的ATE主體100。針對特定通信協(xié)議(如PCIe、USB、SAS、SATA等)的硬件總線適配卡110A-110N連接至在ATE主體上所提供的硬件總線適配器卡座,并經(jīng)由特定于相應(yīng)協(xié)議的線纜與DUT接口連接。ATE主體100還包括測試器處理器101,測試器處理器101與相關(guān)聯(lián)的存儲(chǔ)器108控制構(gòu)建于ATE主體100中的硬件組件、以及生成經(jīng)由硬件總線適配器卡來與正被測試的DUT通信所必須的數(shù)據(jù)和命令。測試器處理器101通過系統(tǒng)總線130與硬件總線適配器卡通信。測試器處理器可以被編程為包括某些功能塊,這些功能塊包括算法模式(pattern)生成器102和比較器106。替代地,算法模式生成器102和比較器106可以是安裝在插入ATE主體100的擴(kuò)充卡或適配器卡上的硬件組件。
[0004]ATE主體100測試受測器件DUT 112A-112N的電氣功能,DUT112A-112N通過插入ATE主體100的硬件總線適配器卡座中的硬件總線適配器連接到ATE主體100。據(jù)此,測試器處理器101被編程為使用對硬件總線適配器而言唯一的協(xié)議,來向DUT傳輸需要運(yùn)行的測試程序。同時(shí),構(gòu)建于ATE主體100中的其它硬件組件根據(jù)在測試器處理器101中操作的測試程序,來彼此傳輸信號以及與DUT傳輸信號。
[0005]由測試處理器101運(yùn)行的測試程序可包括涉及下述項(xiàng)的功能測試:將由算法模式生成器102創(chuàng)建的信號寫到DUT、W DUT讀出寫入的信號、以及使用比較器106來將輸出與預(yù)期模式進(jìn)行比較。如果輸出與輸入失配,則測試器處理器101將該DUT識別為有缺陷的。例如,如果DUT是諸如DRAM之類的存儲(chǔ)器件,則測試程序?qū)⒗脤懖僮鱽韺⒂伤惴J缴善?02創(chuàng)建的信號寫到DUT、利用讀操作來從DUT讀出寫入的信號、并且利用比較器106來將輸出與預(yù)期模式進(jìn)行比較。
[0006]在傳統(tǒng)系統(tǒng)中,測試器處理器101具有生成在測試DUT中所使用的命令和測試模式(pattern)的功能邏輯塊,例如直接在處理器上以軟件模式編程的算法模式生成器102和比較器106。然而某些情況下,某些功能塊(例如比較器106)可以在現(xiàn)場可編程門陣列(FPGA)上實(shí)現(xiàn),F(xiàn)PGA是可根據(jù)用戶的需要編程邏輯電路的專用集成電路(ASIC)型半導(dǎo)體。
[0007]用在傳統(tǒng)系統(tǒng)中的FPGA有賴于測試器處理器101來向FPGA傳送命令和測試模式,F(xiàn)PGA轉(zhuǎn)而將命令和測試模式中繼到DUT。由于測試器處理器負(fù)責(zé)生成命令和測試模式,能夠在給定ATE主體中測試的DUT數(shù)目由該測試器處理器的處理能力所限制。在測試器處理器生成所有命令和測試模式的情形中,將測試器處理器連接到各種硬件組件(包括任何FPGA器件、以及硬件總線適配器卡座)的系統(tǒng)總線130上的帶寬約束也為能夠同時(shí)接受測試的DUT數(shù)目設(shè)置了上限。
[0008]同樣,在傳統(tǒng)系統(tǒng)中,由于插入ATE主體100的硬件總線適配器卡是被設(shè)計(jì)為以僅一種協(xié)議來通信、并且不能被重新編程來以不同協(xié)議通信的單一用途器件,用于與DUT通信的通信協(xié)議是固定的。例如,被配置為測試PCIe器件的ATE主體將在主體中插入有僅支持PCIe協(xié)議的硬件總線適配器卡。為了測試支持不同協(xié)議的DUT,用戶通常會(huì)需要以支持其它協(xié)議的總線適配器卡來更換PCIe硬件總線適配器卡。除非物理上將PCIe硬件總線適配器卡替換為支持其它協(xié)議的卡,否則這樣的系統(tǒng)僅能夠測試支持PCIe協(xié)議的DUT。因此在測試層面,當(dāng)需要測試運(yùn)行著與現(xiàn)有的適配卡所支持的協(xié)議不同的協(xié)議的DUT時(shí),關(guān)鍵的時(shí)間被消耗在更換硬件總線適配器卡上。
【發(fā)明內(nèi)容】
[0009]因此,存在對能夠解決上述系統(tǒng)的問題的測試器架構(gòu)的需求。所需要的是這樣的測試架構(gòu):該測試架構(gòu)夠能把命令和測試模式生成功能轉(zhuǎn)移到FPGA上,從而測試器處理器上的處理負(fù)荷和系統(tǒng)總線的帶寬需求可被保持在最低限度。這隨后允許同時(shí)測試比在先配置中多的DUT,在在先配置中,測試器處理器承擔(dān)全部的處理負(fù)荷、并且系統(tǒng)總線為連接至ATE主體的所有DUT傳遞測試數(shù)據(jù)和命令。
[0010]此外,所需要的是能夠把通信協(xié)議引擎編程在FPGA器件上,從而用于與DUT通信的協(xié)議能重新配置的測試架構(gòu)。這就會(huì)消除對單一用途的硬件總線適配卡的需求,因?yàn)閰f(xié)議引擎將駐留在FPGA器件上的可編程邏輯塊內(nèi),而不是在總線適配卡上的硬件中。
[0011]本發(fā)明的實(shí)施例提供了解決這些問題的新穎解決方案,該方案利用了上述系統(tǒng)的有益方面,但沒有他們各自的限制。
[0012]在一個(gè)實(shí)施例中,提供了一種自動(dòng)測試設(shè)備裝置。該裝置包括包括測試器處理器的計(jì)算機(jī)系統(tǒng),其中測試器處理器通信地耦接到多個(gè)FPGA組件。多個(gè)FPGA組件中的每個(gè)耦接到存儲(chǔ)器模塊,并包括:可操作來從測試器處理器接收命令和數(shù)據(jù)的上游端口 ;可操作來與多個(gè)DUT中的相應(yīng)DUT進(jìn)行通信的下游端口 ;以及多個(gè)硬件加速器電路,其中每個(gè)加速器電路被配置為與多個(gè)DUT中的一個(gè)進(jìn)行通信。多個(gè)硬件加速器電路中的每個(gè)包括模式生成器電路以及比較器電路,該模式生成器電路可配置來自動(dòng)生成要被寫入多個(gè)DUT中的一個(gè)的測試模式數(shù)據(jù),并且該比較器電路被配置為將從多個(gè)DUT中的一個(gè)讀取的數(shù)據(jù)與寫入到多個(gè)DUT中的所述一個(gè)的測試模式數(shù)據(jù)進(jìn)行比較。
[0013]在另一實(shí)施例中,提供了一種使用自動(dòng)測試設(shè)備的測試方法。該方法包括:使用測試器處理器來生成用于將數(shù)據(jù)路由至多個(gè)DUT的命令,該測試器處理器耦接至模塊的多個(gè)實(shí)例化FPGA塊。此外,該方法包括使用模式生成器電路來自動(dòng)生成測試模式數(shù)據(jù),該模式生成器電路編程在多個(gè)實(shí)例化FPGA塊中的第一實(shí)例化FPGA塊上。接下來,該方法包括:根據(jù)由測試器處理器生成的命令來將測試模式數(shù)據(jù)路由到多個(gè)DUT中的第一 DUT,并且根據(jù)由測試器處理器生成的命令來從第一DUT讀取數(shù)據(jù)。最后,該方法包括:使用編程在第一實(shí)例化FPGA塊上的比較器電路,來將寫入第一 DUT的測試模式數(shù)據(jù)與從第一 DUT讀取的數(shù)據(jù)進(jìn)行比較。
[0014]在一個(gè)實(shí)施例中,提供了一種自動(dòng)測試設(shè)備裝置。該裝置包括包括測試器處理器的計(jì)算機(jī)系統(tǒng),其中測試器處理器通信地耦接到多個(gè)FPGA組件。多個(gè)FPGA組件中的每個(gè)耦接到存儲(chǔ)器模塊,并包括:可操作來從測試器處理器接收命令和數(shù)據(jù)的上游端口 ;可操作來與多個(gè)DUT中的相應(yīng)DUT進(jìn)行通信的下游端口 ;以及多個(gè)硬件加速器電路,其中每個(gè)加速器電路被配置為與多個(gè)DUT中的一個(gè)進(jìn)行通信。多個(gè)硬件加速器電路中的每個(gè)包括存儲(chǔ)器控制電路以及比較器電路,該存儲(chǔ)器控制電路被配置為從所述存儲(chǔ)器模塊讀取要被寫入所述多個(gè)DUT中的所述一個(gè)DUT的測試模式數(shù)據(jù),并且該比較器電路被配置為將寫入到多個(gè)DUT中的所述一個(gè)DUT的測試模式數(shù)據(jù)與從多個(gè)DUT中的所述一個(gè)DUT讀取的數(shù)據(jù)進(jìn)行比較。
[0015]在另一實(shí)施例中,提供了一種使用自動(dòng)測試設(shè)備的測試方法。該方法包括:使用測試器處理器來生成用于將數(shù)據(jù)路由至多個(gè)DUT的命令,該測試器處理器耦接至模塊的多個(gè)實(shí)例化FPGA塊。此外,該方法包括使用存儲(chǔ)器控制器電路來自動(dòng)從耦接至多個(gè)實(shí)例化FPGA塊中的第一實(shí)例化FPGA塊的存儲(chǔ)器模塊讀取測試模式數(shù)據(jù),該存儲(chǔ)器控制器編程在第一實(shí)例化FPGA塊上。接下來,該方法包括:根據(jù)由測試器處理器生成的命令來將測試模式數(shù)據(jù)路由到多個(gè)DUT中的第一DUT,并且根據(jù)由測試器處理器生成的命令來從第一DUT讀取數(shù)據(jù)。最后,該方法包括:使用編程在第一實(shí)例化FPGA塊上的比較器電路,來將寫入第一 DUT的測試模式數(shù)據(jù)與從第一 DUT讀取的數(shù)據(jù)進(jìn)行比較。
[0016]以下示例實(shí)施方式和附圖一起會(huì)對本發(fā)明的本質(zhì)和優(yōu)勢提供更好的理解。
【附圖說明】
[0017]以示例而并非限制的方式示出了本發(fā)明的實(shí)施例,在附圖中的圖示中并且相似的標(biāo)號指代類似的元件。
[0018]圖1是用于測試典型受測器件(DUT)的傳統(tǒng)自動(dòng)測試設(shè)備主體的示意框圖;
[0019]圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)控制器、現(xiàn)場模塊(site module)、和DUT之間的互聯(lián)的高層次示意框圖;
[0020]圖3是根據(jù)本發(fā)明的實(shí)施例的系統(tǒng)控制器與現(xiàn)場模塊和DUT之間的互聯(lián)的詳細(xì)示意框圖;
[0021]圖4是根據(jù)本發(fā)明的實(shí)施例的圖2的實(shí)例化FPGA測試器塊的詳細(xì)示意性框圖;
[0022]圖5是根據(jù)本發(fā)明的實(shí)施例的測試DUT的示例性方法的高層次流程圖;
[0023]圖6是圖5的接續(xù)并且是在本發(fā)明的一個(gè)實(shí)施例中以旁路模式(bypassmode)測試DUT的示例性方法的流程圖;
[0024]圖7是圖5的接續(xù)并且是在本發(fā)明的一個(gè)實(shí)施例中以硬件加速器模式生成器模式測試DUT的示例性方法的流程圖;
[0025]圖8是圖5的接續(xù)并且是在本發(fā)明的一個(gè)實(shí)施例中以硬件加速器存儲(chǔ)器模式測試DUT的示例性方法的流程圖;
[0026]圖9是圖5的接續(xù)并且是在本發(fā)明的一個(gè)實(shí)施例中以硬件加速器分組構(gòu)建器模式測試DUT的示例性方法的流程圖;
[0027]圖1OA是在本發(fā)明的一個(gè)實(shí)施例中根據(jù)圖6的方法生成的示例性分組的框圖表示;
[0028]圖1OB是是在本發(fā)明的一個(gè)實(shí)施例中根據(jù)圖7的方法生成的示例性分組的框圖表示;
[0029]圖1OC是在本發(fā)明的一個(gè)實(shí)施例中根據(jù)圖8的方法生成的示例性分組的框圖表示;
[0030]圖1OD是在本發(fā)明的一個(gè)實(shí)施例中根據(jù)圖9的方法生成的示例性分組的框圖表不O
[0031]在圖中,具有相同名稱的元件具有相同或相似的功能。
【具體實(shí)施方式】
[0032]現(xiàn)將詳細(xì)參考實(shí)施例,附圖中圖示了