范學(xué)仕,劉云晶
(中科芯集成電路股份有限公司,江蘇無錫 214072)
MCU設(shè)計(jì)采用IP核的復(fù)用技術(shù),大大縮短了復(fù)雜芯片的設(shè)計(jì)周期,提高了設(shè)計(jì)產(chǎn)量并加快了產(chǎn)品的面世速度,在消費(fèi)電子、工業(yè)控制、醫(yī)療設(shè)備以及人工智能等領(lǐng)域得到廣泛應(yīng)用[1-3]。MCU具有高集成度和復(fù)雜度,使得各IP的I/O端口集成至MCU內(nèi)部,無法通過MCU芯片引腳直接對各IP進(jìn)行訪問和控制,降低了內(nèi)嵌IP的可控性和可觀性,因此需要內(nèi)建DFT(Design for Testability,可測性設(shè)計(jì))以保證芯片的可控性和可觀性[4-6],DFT設(shè)計(jì)方法與技術(shù)成為MCU測試領(lǐng)域的研究熱點(diǎn)[7]。
針對MCU的測試方法主要分為兩類:基于ATE的外部測試方法[8-9]和基于BIST的內(nèi)部測試方法[10-11]。
基于ATE的外部測試方法,由被測電路、ATE和ATE存儲(chǔ)器3個(gè)基本構(gòu)件組成。該方法將芯片測試數(shù)據(jù)(包括測試激勵(lì)和測試響應(yīng))存儲(chǔ)在ATE的存儲(chǔ)器中,由ATE將測試激勵(lì)注入到被測電路,捕捉被測電路實(shí)際響應(yīng)與測試響應(yīng)比較,輸出測試結(jié)果。該方法利用ATE強(qiáng)大的存儲(chǔ)和運(yùn)算能力,采取更為精確的測試評估規(guī)則,有效提高芯片的測試故障覆蓋率,但同時(shí)測試成本較高。
基于BIST的內(nèi)部測試方法,BIST電路主要包括測試激勵(lì)生成器、測試訪問控制電路和響應(yīng)特征分析器。當(dāng)進(jìn)入BIST測試模式時(shí),由測試激勵(lì)生成器產(chǎn)生測試向量,經(jīng)過控制電路傳到被測電路,最后由響應(yīng)特征分析器進(jìn)行響應(yīng)分析,得出測試結(jié)果。這種測試方法將測試激勵(lì)的生成、測試訪問及測試響應(yīng)分析在芯片內(nèi)部采用BIST硬件電路實(shí)現(xiàn),從根本上解決了對于外部ATE設(shè)備的依賴,降低了測試成本,但增加了芯片的面積,提高了芯片硬件開銷。
本文在測試成本、故障覆蓋率和硬件開銷之間尋求平衡,將測試資源劃分技術(shù)[12]和測試端口復(fù)用技術(shù)[13]引入基于ATE的測試方法中。在控制時(shí)間成本的基礎(chǔ)上,采用基于ATE的外部測試方法,設(shè)計(jì)了數(shù)字邏輯SCAN鏈和模擬IP測試模式;在控制芯片硬件成本的基礎(chǔ)上,設(shè)計(jì)了MBIST電路,對Memory進(jìn)行測試;為更高效地下載程序和功能驗(yàn)證,設(shè)計(jì)了支持標(biāo)準(zhǔn)SPI協(xié)議的通用測試接口;同時(shí)結(jié)合端口復(fù)用技術(shù),對整個(gè)可測性設(shè)計(jì)進(jìn)行優(yōu)化,設(shè)計(jì)了測試模式控制模塊,實(shí)現(xiàn)多個(gè)IP同時(shí)測試,以降低成本、提高測試效率。
可測性設(shè)計(jì)總體結(jié)構(gòu)如圖1所示,包含具體的控制信號和數(shù)據(jù)通路。測試控制模塊實(shí)現(xiàn)對整個(gè)測試模式的控制管理,針對不同的測試模式,由測試碼生成模塊生成不同的測試碼,選擇進(jìn)入相應(yīng)的測試模式。管腳復(fù)用模塊實(shí)現(xiàn)了不同測試模式下相同端口的復(fù)用,可以保證在不同封裝形式下均可以進(jìn)行測試。測試寄存器完成對ADC和IO口進(jìn)行測試。SCAN、MBSIT、各模擬IP的測試通路也在圖1中給出,具體介紹將在下文展開。
圖1 可測性設(shè)計(jì)總體結(jié)構(gòu)
為防止芯片在正常使用中誤入測試模式以及便于研發(fā)人員對芯片進(jìn)行調(diào)試,本文設(shè)計(jì)了獨(dú)特的測試模式進(jìn)入方式,基本屏蔽了用戶誤入測試模式的可能性,同時(shí)也保證研發(fā)人員對芯片的調(diào)試、失效分析以及其他特殊操作,具體進(jìn)入方式如圖2所示。在上電復(fù)位以后,端口1為低電平,可以屏蔽鎖定模塊端口2的復(fù)位信號,此時(shí)密鑰在端口4時(shí)鐘驅(qū)動(dòng)下,通過端口3輸入到密鑰判斷鎖定模塊,密鑰匹配后進(jìn)入測試模式。重新上電復(fù)位或者將端口1拉高后按鍵復(fù)位都可以退出測試模式。在測試模式鎖定之前,可以將端口2保持低電平輸入,讓其他邏輯處于復(fù)位狀態(tài);測試模式鎖定后,繼續(xù)通過端口3打入相應(yīng)的測試碼到移位寄存器,可分別進(jìn)入各個(gè)模塊的測試模式。進(jìn)入相應(yīng)的測試模式之后釋放端口1~4,可作其他輸入輸出。
圖2 測試模式鎖定原理圖
在內(nèi)部復(fù)位已結(jié)束、外部復(fù)位使能的條件下,將某個(gè)管腳拉低(端口1,屏蔽端口2的復(fù)位作用)、另外兩個(gè)分別作為時(shí)鐘輸入(端口4,歸零模式,上升沿有效,共100個(gè)周期)和數(shù)據(jù)輸入(端口3),串行輸入50 bit的密鑰和50 bit的測試模式選擇碼,電路即進(jìn)入指定的測試模式;在外部復(fù)位結(jié)束后,時(shí)鐘輸入被屏蔽、移位寄存器處于保持狀態(tài)(即寄存器不復(fù)位),3個(gè)外部輸入端口可作其他用途。具體時(shí)序圖如圖3所示。根據(jù)不同測試項(xiàng)目輸入不同測試碼,電路即進(jìn)入相應(yīng)的測試模式。
圖3 測試模式鎖定時(shí)序圖
本文通過在時(shí)序單元上增加可測性邏輯,在觸發(fā)器輸入端添加一個(gè)2選1選擇器MUX,將其替換成掃描觸發(fā)器,該觸發(fā)器可工作于正常和掃描測試兩種不同模式,SCAN設(shè)計(jì)如圖4所示。
圖4 SCAN基本結(jié)構(gòu)
掃描測試模式下掃描使能信號SE為高電平,選擇掃描輸入SI作為掃描觸發(fā)器的輸入信號;正常工作模式下,SE信號為低,掃描觸發(fā)器選擇原始輸入DI作為輸入信號。SCAN鏈用以掃描移入測試向量、捕獲并掃描移出測試響應(yīng)等測試數(shù)據(jù),并且輸入輸出直接連至芯片管腳,實(shí)現(xiàn)可控和可觀,降低測試向量產(chǎn)生復(fù)雜度、提升測試效率。
本文采用Synopsys公司Design Compiler進(jìn)行SCAN設(shè)計(jì),采用Tetramax進(jìn)行測試碼生成??紤]到全掃描測試帶來的測試生成困難、測試時(shí)間過長、測試成本增加等問題,本文對Vcore區(qū)域進(jìn)行掃描鏈設(shè)計(jì),共一條鏈,故障覆蓋率為87%,總測試碼為1100000行。對于未進(jìn)行掃描鏈設(shè)計(jì)的部分,在相關(guān)IP測試項(xiàng)中已經(jīng)包含,可以保證無遺漏。
BIST通過在待測電路內(nèi)部集成測試向量生成、輸出響應(yīng)分析和測試邏輯控制等可測性設(shè)計(jì)硬件,使待測電路具有自測試能力,在測試時(shí)從外部施加必要的控制信號,即可運(yùn)行內(nèi)建自測硬件,選擇一系列內(nèi)部生成的測試向量,來檢查被測電路的缺陷和故障,其結(jié)構(gòu)如圖5所示。
圖5 MBIST電路總體架構(gòu)
TAP(Test Access Port,測試訪問接口)是一個(gè)通用端口,用來引入控制信號到邊界掃描器件并且為邊界掃描提供串行的輸入(TDI)、輸出(TDO)信號。TAP控制器是一個(gè)16位的狀態(tài)機(jī),可以通過TMS和TCK對TAP控制器進(jìn)行編程以控制其狀態(tài),控制進(jìn)入指令寄存器和數(shù)據(jù)寄存器的數(shù)據(jù)流。TAP控制器是MBIST的測試控制中心,每一個(gè)SRAM的測試都由TAP來控制。指令寄存器對要執(zhí)行的指令進(jìn)行譯碼,同時(shí)可以選擇訪問相應(yīng)的數(shù)據(jù)寄存器。
TCK提供測試時(shí)鐘CLK。而BIST控制器的復(fù)位是由JTAG控制器內(nèi)部信號產(chǎn)生的??刂菩盘枴皽y試1/2”是BIST控制器的使能,而在非測試模式下,SRAM的控制器使用的是SRAM IP的CK端時(shí)鐘,由獨(dú)立時(shí)鐘源提供。
MBIST寄存器指令解析器可以直接對2個(gè)BIST控制器分別發(fā)出指令,因此可以按順序打開測試使能。測試的結(jié)果如測試完成情況、成功與否也將由其綜合后,等待TAP控制器發(fā)出讀取MBIST寄存器的指令,將測試結(jié)果以串行的方式輸出給TDO。
本文涉及的模擬 IP主要包括 ADC、HSI、LSI、HSE、LSE、PLL、PVD、LDO、PAD等。由于芯片封裝類型的不同,有100/64/48/36只管腳,為保證所有封裝的可測性,結(jié)合管腳復(fù)用技術(shù),以36只管腳為基礎(chǔ),針對各IP分別設(shè)計(jì)測試模式,可實(shí)現(xiàn)各IP的單獨(dú)測試和共同測試。
各模擬IP的測試模式結(jié)構(gòu)如圖6所示,輸入測試密鑰之后輸入IP對應(yīng)的唯一測試碼,根據(jù)TEST_MODE_SEL信號選擇進(jìn)入相應(yīng)的IP測試模式,從端口輸入待測信號,測試IP之后再將結(jié)果從端口輸出。
考慮到 HSI、LSI、HSE、LSE、PLL 的數(shù)據(jù)均包含頻率信號,結(jié)合管腳復(fù)用技術(shù),設(shè)計(jì)測試模式管理模塊,將這幾種測試模式結(jié)合到一起,可根據(jù)需求自行選擇其中一個(gè)或多個(gè)IP進(jìn)行測試。PVD和LDO均包含電壓信號,可同時(shí)測試。ADC支持各通道輸入測試,并將轉(zhuǎn)換結(jié)果串行輸出,同時(shí)支持內(nèi)部參考基準(zhǔn)電壓和溫度傳感器的轉(zhuǎn)換輸出。PAD的每個(gè)控制信號(輸入/輸出使能、模式選擇、上/下拉使能)均可自行配置,靈活高效。除此之外,為測試不同內(nèi)核工作電壓下IP的性能,可聯(lián)合LDO測試模式進(jìn)行測試。
圖6 模擬IP測試模式結(jié)構(gòu)
考慮到芯片F(xiàn)LASH測試、出廠相關(guān)配置信息的燒錄,以及量產(chǎn)時(shí)更高效地?zé)浻脩舫绦?,本文基于?biāo)準(zhǔn)SPI協(xié)議設(shè)計(jì)了通用測試接口和FLASH測試模式,可以直接與標(biāo)準(zhǔn)SPI進(jìn)行通信,方便操作,提高燒錄效率,降低成本。此外,該通用測試接口可直接將測試程序下載到SRAM,并屏蔽FLASH的讀寫保護(hù),可以更加快捷迅速地進(jìn)行功能測試、功耗分析等。其整體結(jié)構(gòu)如圖7所示。
圖7 通用測試接口連接結(jié)構(gòu)圖
通用轉(zhuǎn)換接口支持FLASH 32/64位讀、編程、頁擦除、全擦除等基本操作和32位SRAM讀寫操作。SPI采用單主機(jī)全雙工模式,由MOSI口(芯片管腳)串行輸入數(shù)據(jù)至通用測試接口,由M ISO讀出數(shù)據(jù)至SPI主機(jī),SPI主機(jī)非必需,測試過程中可直接由測試及通過管腳進(jìn)行操作。為防止數(shù)據(jù)錯(cuò)亂,不可同時(shí)通過通用測試接口進(jìn)入FLASH和SRAM測試模式。具體工作流程如下:
(1)輸入測試密鑰,芯片測試模式鎖定;
(2)輸入FLASH或SRAM的測試碼,進(jìn)入相應(yīng)測試模式;
(3)輸入FLASH/SRAM的IP解鎖指令;
(4)輸入具體操作指令(讀、編程、頁擦除、全擦除等);
(5)輸入操作地址、個(gè)數(shù)、數(shù)據(jù)等信息;
(6)執(zhí)行操作,等待測試結(jié)果;
(7)復(fù)位,退出測試模式。
為驗(yàn)證本文的可測性設(shè)計(jì),本文搭建了MCU實(shí)驗(yàn)平臺,集成了ARM公司Cortex-M 3的32位低功耗處理器、AHB總線、Flash控制器、ISSI的64位某型Flash、32位SRAM及相關(guān)外設(shè)和IP模型。
圖8 進(jìn)入FLASH測試模式時(shí)序圖
圖8 以進(jìn)入FLASH測試模式為例,說明進(jìn)入測試模式的時(shí)序,Port1拉低屏蔽port2的復(fù)位信號,此時(shí)在port4時(shí)鐘的驅(qū)動(dòng)下,由port3輸入50位測試密鑰和50位FLASH測試模式測試碼,匹配正確之后,flash_test_mode信號拉高,進(jìn)入FLASH測試模式。仿真結(jié)果與圖3一致。
圖 9 以同時(shí)進(jìn)入 HSI、LSI、HSE、LSE 測試模式為例說明模擬IP測試模式管理模塊以及管腳復(fù)用的情況。由圖9可知,4個(gè)不同的IP可以同時(shí)測試,互不干擾,分別從不同管腳(ppa0~ppa3)輸出時(shí)鐘頻率,port3既作為測試模式數(shù)據(jù)輸入,又在LSE測試模式作為相關(guān)控制信號,互不沖突。
圖9 同時(shí)進(jìn)入HSI、LSI、HSE、LSE測試模式時(shí)序圖(隱去測試密鑰)
圖10 FLASH測試模式編程操作時(shí)序圖
圖10 以FLASH測試模式編程操作說明通用測試接口模塊工作時(shí)序。向FLASH 0x102地址寫入64’hfbaa_f000_d004_f8df,在SCK的驅(qū)動(dòng)下,由MOSI按LSB優(yōu)先原則,每次8位傳輸這64位數(shù)據(jù)。同時(shí)M ISO反饋FLASH當(dāng)前狀態(tài),空閑輸出8’hf0,繁忙輸出8’h0f。通過目前商用下載器(JLINK、ULINK 等),每次只可進(jìn)行16位數(shù)據(jù)操作,因此通過該通用測試接口下載程序,至少可以提升4倍的下載速度,有效降低成本。
在實(shí)際測試過程(中測和成測)中,選用TR6836型測試機(jī)進(jìn)行測試,測試項(xiàng)25項(xiàng),測試指標(biāo)50余項(xiàng),總計(jì)測試時(shí)間2~3 s,測試結(jié)果表明設(shè)計(jì)的正確性。
為降低測試成本,提高測試效率,本文將測試資源劃分技術(shù)和測試端口復(fù)用技術(shù)引入基于ATE的測試方法中,基于ATE外部測試和基于BIST內(nèi)部測試的優(yōu)點(diǎn),進(jìn)行可測性設(shè)計(jì),并在實(shí)際芯片中得到驗(yàn)證。在控制時(shí)間成本的基礎(chǔ)之上,采用基于ATE的外部測試方法,設(shè)計(jì)了數(shù)字邏輯SCAN鏈和模擬IP測試模式;在控制芯片硬件成本的基礎(chǔ)之上,設(shè)計(jì)了MBIST電路,對Memory進(jìn)行測試;為更高效地下載程序和功能驗(yàn)證,設(shè)計(jì)了支持標(biāo)準(zhǔn)SPI協(xié)議的通用測試接口,結(jié)果表明整個(gè)下載/測試效率提高至少4倍;同時(shí)結(jié)合端口復(fù)用技術(shù),對整個(gè)可測性設(shè)計(jì)進(jìn)行優(yōu)化,設(shè)計(jì)了測試模式控制模塊,實(shí)現(xiàn)多個(gè)IP同時(shí)測試,進(jìn)一步降低成本。