一種自動(dòng)化芯片測試方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于芯片的技術(shù)領(lǐng)域,特別涉及利用Iinux操作系統(tǒng)、內(nèi)嵌ARM處理器硬核的FPGA開發(fā)相互配合而實(shí)現(xiàn)芯片自動(dòng)測試方法。
【背景技術(shù)】
[0002]目前芯片測試設(shè)備中基本上都是低速單片機(jī)開發(fā)的沒有操作系統(tǒng)的裸機(jī)方式實(shí)現(xiàn),通用性較差,高速通信需要外置專用芯片且通信穩(wěn)定性差,芯片測試裝置與計(jì)算機(jī)之間存在通信速率低、硬件成本高、開發(fā)模式單一等瓶頸,而且PC軟件開發(fā)受限于廠商提供的API函數(shù),可操作性與移植性較差;芯片測試效率很低,對于高低溫等需要若干小時(shí)的長時(shí)間測試,基于低速單片機(jī)裸機(jī)架構(gòu)的測試裝置每次只能測試單個(gè)芯片,難以進(jìn)行并行測試,而且需要手工記錄數(shù)據(jù);芯片測試階段研發(fā)人員存在重復(fù)勞動(dòng),自動(dòng)化程度低,研發(fā)人員時(shí)間被大量占用,面臨大量的項(xiàng)目進(jìn)度的要求,被迫步入重復(fù)勞動(dòng),這種周而復(fù)始的惡性循環(huán),無法提高研發(fā)人員的軟件、硬件研發(fā)水平,逐漸成為整個(gè)芯片研發(fā)的瓶頸;測試無法做到遍歷,測試不完備,可能會存在潛在的風(fēng)險(xiǎn)性,直接會影響芯片的質(zhì)量;基于單板的芯片測試裝置由于其存儲空間和外設(shè)接口不豐富,導(dǎo)致層次化設(shè)計(jì)較為簡單,模塊化與可重用性設(shè)計(jì)并不完備,模塊之間的耦合性太強(qiáng),無法快速的開發(fā)新的測試裝置,每次開發(fā)會造成人力物力與時(shí)間資源的嚴(yán)重浪費(fèi)。測試裝置開發(fā)停留在傳統(tǒng)的模式,硬件系統(tǒng)維護(hù)復(fù)雜度高,不利于測試裝置的升級和發(fā)展。
[0003]專利申請201010622301.X公開了一種基于測試向量的測試系統(tǒng),實(shí)現(xiàn)對數(shù)字集成電路的功能測試,功能測試主要測試芯片在一定時(shí)序下的邏輯功能,其基本原理是借助于測試向量,對芯片施加激勵(lì),觀察其響應(yīng)是否和設(shè)想的一致。功能測試可以覆蓋極高比例邏輯電路的失效模型。該調(diào)試技術(shù)支持單步測試系統(tǒng)包括兩大部分:運(yùn)行于PC機(jī)的測試向量文件轉(zhuǎn)換軟件和數(shù)字集成電路芯片測試機(jī)組成。數(shù)字集成電路芯片測試機(jī)由CPU+FPGA的架構(gòu)組成,CPU負(fù)責(zé)pattern文件存儲、轉(zhuǎn)換,測試過程控制、與主機(jī)通信等功能。pattern控制的邏輯電路由一塊FPGA實(shí)現(xiàn),F(xiàn)PGA完成波形產(chǎn)生、Pattern RAM的控制和采樣控制,同時(shí)控制驅(qū)動(dòng)器及比較器以實(shí)現(xiàn)對被測對象的測試控制。然而該專利是借助于測試向量,對芯片施加激勵(lì),觀察其響應(yīng)是否和設(shè)想的一致,不能每次只能測試單個(gè)芯片,難以進(jìn)行并行測試,解決芯片測試效率低的問題,而且測試無法做到遍歷,測試不完備。
【發(fā)明內(nèi)容】
[0004]為解決上述問題,本發(fā)明的目的在于提供一種自動(dòng)化芯片測試方法,該方法旨在提供一個(gè)能夠利用一個(gè)內(nèi)嵌Cortex A9雙核ARM處理器的Xilinx最新的7系列FPGA開發(fā),采用軟硬件協(xié)同的開發(fā)模式,最大程度的節(jié)省硬件成本和軟件設(shè)計(jì)周期,拋棄上下位機(jī)的概念,PC機(jī)運(yùn)行Windows操作系統(tǒng),測試平臺運(yùn)行Linux操作系統(tǒng)的方法。
[0005]本發(fā)明的另一個(gè)目的在于提供一種自動(dòng)化芯片測試方法,該方法能夠快速地對芯片進(jìn)行測試,測試效率高,解決人員重復(fù)勞動(dòng)和效率低下問題;而且增加了系統(tǒng)的可靠性、穩(wěn)定性和節(jié)省了硬件成本。
[0006]為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案如下。
[0007]一種自動(dòng)化芯片測試方法,其特征在于該方法包括步驟:
[0008]101、系統(tǒng)上電,完成初始化;
[0009]根據(jù)裁剪的BootLoader加載Iinux內(nèi)核,內(nèi)核加載完成后由內(nèi)核調(diào)用固件程序?qū)Ω饔布K自檢,端口驅(qū)動(dòng)加載,包含USB驅(qū)動(dòng)、網(wǎng)口驅(qū)動(dòng)、GP1設(shè)置等一系列內(nèi)核啟動(dòng)動(dòng)作,根據(jù)設(shè)定的通信接口建立與PC機(jī)的鏈接,連接成功后整個(gè)系統(tǒng)等待PC機(jī)發(fā)送命令進(jìn)行處理工作,并向PC機(jī)發(fā)送初始化完成指令。
[0010]102、進(jìn)行配置;
[0011]整個(gè)單板系統(tǒng)各個(gè)模塊的初始化完成后,PC機(jī)讀取芯片ID,根據(jù)ID選擇測試芯片的種類,根據(jù)芯片種類確定需要啟動(dòng)的測試線程,對應(yīng)的線程讀取并解析該芯片的測試設(shè)備配置文件即配置溫控設(shè)備、儀表設(shè)備等,然后根據(jù)配置文件生成不同的命令幀,對儀表收發(fā)端進(jìn)行配置。
[0012]103、生成測試命令
[0013]讀取并解析芯片集成測試用例配置文件中的測試項(xiàng)和測試參數(shù)設(shè)置,根據(jù)不同的測試項(xiàng)和測試參數(shù)調(diào)用相應(yīng)的測試用例,將各測試項(xiàng)和測試參數(shù)根據(jù)不同的類型芯片設(shè)置不同的測試命令,測試命令組成命令幀并通過通信接口傳送給單板系統(tǒng)。
[0014]104、解析命令及進(jìn)行設(shè)置
[0015]上位機(jī)PC控制軟件根據(jù)配置文件設(shè)置不同的溫度點(diǎn)并利用定時(shí)器定時(shí),達(dá)到設(shè)定的時(shí)間PC控制軟件根據(jù)配置文件給單板系統(tǒng)發(fā)送測試命令,同時(shí)負(fù)責(zé)接收來自單板系統(tǒng)傳回的測試數(shù)據(jù),單板系統(tǒng)接收到PC機(jī)傳輸?shù)拿顜?,調(diào)用消息出來進(jìn)程進(jìn)行命令解析,分解出測試項(xiàng)和測試參數(shù)并保存,根據(jù)測試項(xiàng)和測試參數(shù)設(shè)置儀表設(shè)備,關(guān)閉芯片測試告警和中斷等信息上報(bào);
[0016]105、測試
[0017]測試用例配置任務(wù)進(jìn)程將分解出來的測試用例和測試參數(shù)逐次配置到被測芯片進(jìn)行測試,測試用例配置任務(wù)進(jìn)程獲取測試參數(shù)配置返回?cái)?shù)據(jù),將各測試參數(shù)配置返回?cái)?shù)據(jù)數(shù)據(jù)上報(bào)給PC機(jī),同時(shí)上報(bào)測試告警信息,清空測試告警信息,完成配置后,消息處理進(jìn)程返回給PC機(jī)配置成功消息幀。
[0018]所述方法中,進(jìn)一步包括有106步驟,所述106步驟包括:所述103步驟中,PC機(jī)接收到命令幀后,清除上一次儀表與設(shè)備上的歷史信息,開始啟動(dòng)芯片測試任務(wù),PC機(jī)控制下發(fā)測試開始指令,單板系統(tǒng)消息接收進(jìn)程接收到消息后,進(jìn)行命令解析和處理,根據(jù)測試項(xiàng)和測試參數(shù)逐個(gè)進(jìn)行測試和配置,單板控制系統(tǒng)將各測試項(xiàng)的測試數(shù)據(jù)上傳到PC機(jī)進(jìn)行處理。
[0019]所述方法中,進(jìn)一步包括有107步驟,所述107步驟包括:PC機(jī)接收到單板測控系統(tǒng)發(fā)送的測試項(xiàng)和測試數(shù)據(jù),生成測試報(bào)告,PC機(jī)讀取芯片各測試項(xiàng)設(shè)計(jì)參數(shù)與測試參數(shù)進(jìn)行比較,按照設(shè)計(jì)規(guī)定誤差范圍確定復(fù)測項(xiàng),并生成復(fù)測項(xiàng)的測試項(xiàng)、測試命令和測試參數(shù)等測試指標(biāo),生成復(fù)測配置表。
[0020]所述方法,可以根據(jù)生成的復(fù)測配置表重復(fù)進(jìn)行以上103、104、105、106、107步驟,設(shè)備測試都會進(jìn)行上述各步驟操作。
[0021]所述方法中,進(jìn)一步包括有109步驟,所述109步驟包括:對偏離設(shè)計(jì)目標(biāo)的測試數(shù)據(jù)進(jìn)行一次復(fù)測后,將測試數(shù)據(jù)追加到107測試報(bào)告上并標(biāo)注,生成最終的測試報(bào)告,在PC機(jī)數(shù)據(jù)顯示器標(biāo)注出現(xiàn)設(shè)計(jì)值與測試值不相符的測試項(xiàng),從而節(jié)省設(shè)計(jì)人員和測試人員時(shí)間,幫助設(shè)計(jì)人員和測試人員進(jìn)行問題查找。
[0022]所述103-105步驟中,定時(shí)采集所述測試項(xiàng)和測試參數(shù)。
[0023]所述的芯片測試方法,為了進(jìn)一步提高其通訊效率,所述下發(fā)的命令幀格式為:幀頭+測試命令項(xiàng)+測試參數(shù)+校驗(yàn)和+幀尾;所述上報(bào)的命令消息格式為:幀頭+上報(bào)消息類型+告警消息字符串+校驗(yàn)和+幀尾。
[0024]所述測試參數(shù),可以包括復(fù)數(shù)個(gè)測試參數(shù),這些測試參數(shù)順序排列。
[0025]本發(fā)明可以實(shí)現(xiàn)芯片的自動(dòng)測試和數(shù)據(jù)保存,能夠快速地對芯片進(jìn)行測試,測試效率高,在一定程度上節(jié)省測試時(shí)間,通過本自動(dòng)化測試平臺的開發(fā),可以達(dá)到被測DUT芯片的自動(dòng)配置、儀表的自動(dòng)配置、測試