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