張 鍵, 鮑宜鵬
(中科芯集成電路有限公司, 江蘇 無(wú)錫 214072)
在工業(yè)控制、安防、物聯(lián)網(wǎng)、消費(fèi)類電子等諸多領(lǐng)域,MCU 的應(yīng)用處處可見(jiàn)。 隨著智能時(shí)代的來(lái)臨和安全意識(shí)的提升,MCU 的設(shè)計(jì)更加復(fù)雜化、 高集成化,為了保證MCU 產(chǎn)品的質(zhì)量, 測(cè)試設(shè)計(jì)是MCU 芯片必不可少的設(shè)計(jì)內(nèi)容。
MCU 芯片的可測(cè)性設(shè)計(jì)面臨測(cè)試電路安全性能差、可靠性低、易測(cè)性差、硬件資源緊張、測(cè)試成本高等問(wèn)題。 許多實(shí)驗(yàn)指出,電路規(guī)模每增加1 個(gè)數(shù)量級(jí),測(cè)試生成時(shí)間將增大3 個(gè)數(shù)量級(jí)[1]。 由此可見(jiàn),必須將測(cè)試電路的安全性、可靠性、易測(cè)性、復(fù)用性、低成本性等要求納入設(shè)計(jì)規(guī)范, 通過(guò)附加硬件或者改變電路結(jié)構(gòu),使所設(shè)計(jì)的電路易于測(cè)試。
本文通過(guò)研究傳統(tǒng)的測(cè)試結(jié)構(gòu)及其局限性,提出了一種新的測(cè)試架構(gòu),其測(cè)試電路在安全性、可靠性、易測(cè)性、復(fù)用性、低成本性上有所增強(qiáng),在與合理的測(cè)試策略相結(jié)合后,對(duì)CKS32F0XX 芯片進(jìn)行了整體測(cè)試。
測(cè)試一般分為功能測(cè)試和制造測(cè)試[2]。 MCU 芯片的測(cè)試項(xiàng)目主要有模擬模塊、I/O、存儲(chǔ)器、數(shù)字內(nèi)核。模擬模塊主要有HSE、LSE、HSI、ADC 等模塊,I/O 主要測(cè)試芯片的引腳功能與性能, 存儲(chǔ)器是指FLASH、SRAM 等存儲(chǔ)器件,數(shù)字內(nèi)核是指MCU 的數(shù)字邏輯電路。
傳統(tǒng)的MCU 測(cè)試架構(gòu)如圖1 所示, 是將被測(cè)模塊的輸入輸出信號(hào)直接連接到芯片的引腳上,加上測(cè)試模式的使能與選擇信號(hào)構(gòu)成的一種測(cè)試架構(gòu)。PIN0、PIN1、PIN2、PIN3 為測(cè)試模式選擇信號(hào),TEST_EN 為測(cè)試模式使能信號(hào)。
采用圖1 的測(cè)試架構(gòu)會(huì)產(chǎn)生以下問(wèn)題。 首先,在對(duì)芯片進(jìn)行測(cè)試時(shí),芯片的狀態(tài)不能確定,可能導(dǎo)致芯片的測(cè)試結(jié)果不正確。 其次,客戶可能因?yàn)檎`操作進(jìn)入了芯片的測(cè)試模式、 對(duì)芯片造成不可逆的損害,例如對(duì)Flash 的信息塊進(jìn)行操作, 從而導(dǎo)致芯片重要信息丟失。 最后,芯片引腳資源使用較多,而外圍管腳數(shù)量有限[3],不能在有限的管腳上實(shí)現(xiàn)測(cè)試的可控性與可觀察性。 同時(shí),引腳資源的使用與測(cè)試機(jī)采用site的最多數(shù)量有關(guān),較多引腳的使用將使得芯片只能用較少site 進(jìn)行測(cè)試,從而增加了測(cè)試時(shí)間。
MCU 改進(jìn)后的傳統(tǒng)測(cè)試架構(gòu)如圖2 所示,雖然使用的引腳數(shù)減少,但是其安全性與可靠性依然得不到保障。 首先圖2 中的測(cè)試碼生成電路沒(méi)有密鑰判定單元,不具有安全性;其次,在測(cè)試時(shí)電路狀態(tài)不能確定,不具有可靠性;最后測(cè)試碼沒(méi)有充分應(yīng)用,測(cè)試碼沒(méi)有當(dāng)成輸入信號(hào)在使用,只用在控制邏輯上。
圖1 MCU 傳統(tǒng)測(cè)試架構(gòu)
圖2 MCU 改進(jìn)后的傳統(tǒng)測(cè)試架構(gòu)
測(cè)試代價(jià)主要分為測(cè)試生成代價(jià)和測(cè)試碼置入代價(jià)[4]。 采用傳統(tǒng)測(cè)試結(jié)構(gòu),滿足不了復(fù)雜MCU 芯片的可測(cè)性設(shè)計(jì)要求,故需要采用新的測(cè)試架構(gòu)。
測(cè)試碼生成電路如圖3 所示, 上述測(cè)試碼生成電路包括N 位計(jì)數(shù)器、M 位移位寄存器、 測(cè)試模式鎖定單元、密鑰判斷鎖定單元和輸出選擇單元。 其中,進(jìn)入測(cè)試的輔助信號(hào)包括復(fù)位信號(hào)PIN0、 第一引腳信號(hào)PIN1、第二引腳信號(hào)PIN2、第三引腳信號(hào)PIN3 和加電復(fù)位信號(hào)Lvr, 所述復(fù)位信號(hào)PIN0 在低電平時(shí)有效,第一引腳信號(hào)PIN1 用于屏蔽復(fù)位信號(hào), 第二引腳信號(hào)PIN2 用于生成測(cè)試碼的數(shù)據(jù)輸入, 第三引腳信號(hào)PIN3 用于生成測(cè)試碼的時(shí)鐘輸入, 加電復(fù)位信號(hào)Lvr用于芯片內(nèi)部的加電復(fù)位,保證了芯片在內(nèi)部加電復(fù)位完成后,進(jìn)入測(cè)試模式時(shí)整個(gè)芯片系統(tǒng)處于復(fù)位狀態(tài),只有被測(cè)試的電路工作,從而保證了測(cè)試的可靠性。
圖3 測(cè)試碼生成電路
測(cè)試碼最高位MST 或復(fù)位信號(hào)PIN0 作為測(cè)試碼的輸出條件,如果MST 為0,且PIN1 為0,則輸出測(cè)試碼的復(fù)位值Reset Value。 在設(shè)置測(cè)試碼最高位為1 時(shí),芯片進(jìn)入相應(yīng)的測(cè)試模式,此時(shí)芯片外部系統(tǒng)復(fù)位信號(hào)可以為0,也可以為1。 芯片外部系統(tǒng)復(fù)位信號(hào)為0 時(shí),可以在芯片系統(tǒng)復(fù)位狀態(tài)下測(cè)試功能模塊;芯片外部系統(tǒng)復(fù)位信號(hào)為1 時(shí), 可以在芯片系統(tǒng)正常工作狀態(tài)下測(cè)試功能模塊。 這就方便了芯片在測(cè)試模式與正常工作模式之間的切換, 同時(shí)利用這樣的特點(diǎn),也可以測(cè)試芯片外部系統(tǒng)復(fù)位信號(hào)。
改進(jìn)后的測(cè)試架構(gòu)如圖4 所示, 被測(cè)單元的測(cè)試模式控制由測(cè)試碼生成電路提供,同時(shí)測(cè)試輸入信號(hào)可根據(jù)電路的易測(cè)性及易調(diào)試性,靈活地選擇測(cè)試輸入信號(hào)由測(cè)試碼還是引腳控制。
圖4 MCU 改進(jìn)后測(cè)試架構(gòu)
增加測(cè)試模式不需要增加硬件資源,通過(guò)在不同的測(cè)試階段采用不同的測(cè)試模式,可以減少總體的測(cè)試時(shí)間,降低成本。 同時(shí),使用較少的引腳還可以實(shí)現(xiàn)在測(cè)試平臺(tái)上能夠使用更多site 對(duì)多個(gè)芯片進(jìn)行同時(shí)測(cè)試,大大減少了測(cè)試時(shí)間,降低了測(cè)試成本。
綜上所述, 改進(jìn)后的測(cè)試架構(gòu)測(cè)試的可靠性、安全性、易測(cè)性、復(fù)用性、低成本性均有了較大提高。
在設(shè)計(jì)時(shí),除了考慮測(cè)試成本外,還要求必須便于測(cè)試分析[5]。 在實(shí)際測(cè)試中,既需要輸入信號(hào)能夠靈活變化,同時(shí)要求輸出信號(hào)易于觀察。由于MCU 測(cè)試機(jī)臺(tái)的性能不同,所以在設(shè)計(jì)可測(cè)性時(shí),需要考慮到使用性能不一的測(cè)試機(jī)對(duì)芯片測(cè)試的情況,例如對(duì)于某些測(cè)試機(jī)臺(tái),測(cè)試的時(shí)鐘頻率不能超過(guò)20 MHz,故測(cè)試頻率時(shí)就需要設(shè)計(jì)時(shí)鐘分頻, 再輸出到引腳上,如圖5 所示,HSI48 模擬模塊是芯片內(nèi)部晶振時(shí)鐘,輸出48 MHz 的頻率,故必須設(shè)計(jì)分頻邏輯,最后才能輸出到引腳PA3 上。
HSI48 易受芯片工藝制程及外界溫度等的影響,CAL 信號(hào)可以用來(lái)對(duì)HSI48 進(jìn)行粗調(diào),TRIM 信號(hào)用來(lái)對(duì)環(huán)境的影響進(jìn)行細(xì)調(diào)。 芯片測(cè)試的HSI48 的值需要進(jìn)行校準(zhǔn),經(jīng)過(guò)不斷調(diào)整CAL 與TRIM,才能將頻率調(diào)整到目標(biāo)頻率,調(diào)整的值寫入Flash 信息塊中。 基于以上原因,HSI48 的測(cè)試需要靈活調(diào)試, 故此時(shí)HSI48 的輸入信號(hào)可以選擇使用引腳控制。 同時(shí)為了節(jié)約量產(chǎn)的測(cè)試成本,便于在應(yīng)用板調(diào)試,設(shè)計(jì)了圖6所示的測(cè)試結(jié)構(gòu),它的控制信號(hào)比較簡(jiǎn)單,只要打開(kāi)HSI48 的使能位,就能從芯片引腳上輸出測(cè)試結(jié)果。
圖5 HSI48 測(cè)試結(jié)構(gòu)示意圖
圖6 HSI48 簡(jiǎn)化測(cè)試結(jié)構(gòu)示意圖
中測(cè)(CP)是圓片級(jí)的測(cè)試,一般測(cè)試Flash 等存儲(chǔ)器,成測(cè)(FT)是芯片封裝后的測(cè)試,是測(cè)試的最后一道工序。根據(jù)以上2 種測(cè)試結(jié)構(gòu),HSI48 的測(cè)試采用以下測(cè)試策略,CP 測(cè)試使用圖5 的測(cè)試結(jié)構(gòu), 而FT測(cè)試使用圖6 的測(cè)試結(jié)構(gòu),以節(jié)約整體的測(cè)試時(shí)間,降低測(cè)試成本。
在芯片的設(shè)計(jì)中,可測(cè)試性的設(shè)計(jì)成本是芯片額外的成本, 可測(cè)試性的邏輯電路占用了芯片面積。HSI16 測(cè)試結(jié)構(gòu)如圖7 所示,在圖5 與圖7 中,使用了同一個(gè)分頻器,在PB5=PB4=PB3=0 時(shí),選擇HSI16 進(jìn)行分頻, 并輸出到PA3 引腳上, 在PB5=PB4、PB3=1時(shí),選擇HSI48 進(jìn)行分頻,并輸出到PA3 引腳上。這里不僅對(duì)PA3 引腳進(jìn)行了復(fù)用,同時(shí)對(duì)分頻器進(jìn)行了復(fù)用,以降低測(cè)試生成代價(jià),節(jié)約了測(cè)試成本。
對(duì)于MCU 芯片, 并不需要對(duì)所有I/O 進(jìn)行性能測(cè)試, 要對(duì)I/O 進(jìn)行歸類, 每類選擇一個(gè)I/O 測(cè)試即可,以降低測(cè)試碼置入代價(jià)[4]。然而,對(duì)于I/O 的某些性能參數(shù)每一顆芯片都必須測(cè)試,例如VIH、VOH、VOL、VIL等。
圖7 HSI16 測(cè)試結(jié)構(gòu)示意圖
現(xiàn)在的MCU 芯片中,嵌入式存儲(chǔ)器一般有2 種,分別為RAM 與Flash,有時(shí)可占到芯片一半以上的面積[4],在CKS32FXX 芯片中存儲(chǔ)器占了40%的面積,由此可見(jiàn)對(duì)于存儲(chǔ)器測(cè)試的重要性。 一般存儲(chǔ)器端口的信號(hào)較多,所需引腳資源較多,客戶對(duì)于儲(chǔ)存器的容量要求增大,導(dǎo)致外部設(shè)備對(duì)嵌入式存儲(chǔ)器的測(cè)試變得越來(lái)越困難,測(cè)試成本越來(lái)越高。 內(nèi)建自測(cè)試方法通過(guò)在芯片內(nèi)部設(shè)計(jì)少量的邏輯電路對(duì)存儲(chǔ)器進(jìn)行測(cè)試,既節(jié)約了引腳資源,便于MCU 較少引腳封裝進(jìn)行測(cè)試,又節(jié)約了測(cè)試時(shí)間。 CKS32FXX 芯片中所集成的SRAM 是單端口SRAM, 每塊SRAM 為32 kB,總?cè)萘窟_(dá)到96 kB,如果分開(kāi)測(cè)試需要3 個(gè)測(cè)試控制器, 浪費(fèi)硬件資源。 通過(guò)采用MBIST 工具M(jìn)entor/tessent15.2, 將多個(gè)RAM 集成到一起統(tǒng)一測(cè)試,既節(jié)約測(cè)試引腳,又減少了芯片面積,SRAM BIST生成如圖8 所示,3 塊SRAM 存儲(chǔ)器采用同一個(gè)測(cè)試控制器。
圖8 SRAM BIST 生成
CKS32FXX 芯片中所集成的Flash 采用自檢模塊,對(duì)Flash 的全讀、全寫、全擦等基本功能進(jìn)行測(cè)試,在FT 測(cè)試中節(jié)約了大量的時(shí)間。
數(shù)字內(nèi)核是MCU 芯片重要的組成部分, 通常采用掃描的可測(cè)試設(shè)計(jì)技術(shù), 商業(yè)EDA 工具基本都支持掃描鏈,CKS32FXX 芯片設(shè)計(jì)中采用Synopsys/tx16.03 軟件,按照不同電壓域生成了4 條覆蓋率達(dá)98.69%的測(cè)試模式,供測(cè)試機(jī)測(cè)試使用。
為了測(cè)試電路,必須生成測(cè)試模式,而測(cè)試向量生成也需要根據(jù)不同情況進(jìn)行調(diào)整。 圖9 采取RZ 采樣模式,即采樣時(shí)鐘與時(shí)鐘是同一頻率,這樣的好處是可以減少測(cè)試向量置入測(cè)試機(jī)的時(shí)間,ppa4 為輸入時(shí)鐘,test_vec_clk 為采樣時(shí)鐘。 圖10 采取的為NRZ采樣模式,即采樣時(shí)鐘與時(shí)鐘是偶數(shù)倍頻,這樣的好處是測(cè)試機(jī)容易調(diào)試,時(shí)序不會(huì)漂移。
由于模擬模塊多采用仿真模型進(jìn)行仿真,而仿真模型不一定準(zhǔn)確,導(dǎo)致測(cè)試向量并非真實(shí)情況,這時(shí)就需要根據(jù)情況編寫測(cè)試向量,如ADC、DAC 等模擬模塊的測(cè)試。
圖9 RZ 采樣模式
圖10 NRZ 采樣模式
隨著MCU 的設(shè)計(jì)愈加復(fù)雜化、高集成化,為保證產(chǎn)品的質(zhì)量,測(cè)試設(shè)計(jì)越來(lái)越重要,可測(cè)性設(shè)計(jì)的意義在于它以盡可能小的代價(jià)獲得盡可能高的測(cè)試質(zhì)量,本文中的測(cè)試結(jié)構(gòu)與策略在CKS32FXX 芯片中實(shí)現(xiàn),CKS32FXX 是40 萬(wàn)門、 采用UMC 55 nm 工藝實(shí)現(xiàn)的MCU 芯片,中測(cè)單顆測(cè)試時(shí)間為2.94 s,成測(cè)單顆時(shí)間為1.7 s, 采用J750 測(cè)試機(jī), 單個(gè)測(cè)試成本約0.45 元,符合設(shè)計(jì)目標(biāo),在實(shí)際應(yīng)用中具有推廣價(jià)值。