ARM Cortex-M3 微處理器測試方法研究與實現(xiàn)
作為32 位RISC 微處理器主流芯片,ARM 芯片得到長足發(fā)展和廣泛應(yīng)用.因而,ARM 芯片的測試需求更加強勁的同時,測試工作量在加大,測試復(fù)雜度也在增加.本文給出了基于ARM Cortex-M3 的微處理器測試方法,該方法也可用于類似結(jié)構(gòu)的微處理器測試.
0
隨著半導(dǎo)體技術(shù)的發(fā)展,集成電路制程工藝從深亞微米發(fā)展到納米級,晶體管集成度的大幅提高使得芯片復(fù)雜度增加,單個芯片的功能越來越強.二十世紀90 年代ARM 公司成立于英國劍橋,主要出售芯片設(shè)計技術(shù)的授權(quán).采用ARM 技術(shù)知識產(chǎn)權(quán)( IP 核)的微處理器,即ARM 微處理器,已遍及工業(yè)控制.消費類電子產(chǎn)品.通信系統(tǒng).網(wǎng)絡(luò)系統(tǒng).無線系統(tǒng)等各類產(chǎn)品市場,基于ARM 技術(shù)的微處理器應(yīng)用約占據(jù)了32 位RISC 微處理器七成以上的市場份額.ARM 芯片的廣泛應(yīng)用和發(fā)展也給測試帶來了挑戰(zhàn),集成電路測試一般采用實際速度下的功能測試,但半導(dǎo)體技術(shù)的發(fā)展使得測試開發(fā)工程資源按幾何規(guī)律增長,自動測試設(shè)備(ATE)的性能趕不上日益增加的器件I/O 速度的發(fā)展,同時也越來難以滿足ARM 等微處理器測試所用的時序信號高分辨率要求,因而必須不斷提高自動測試設(shè)備的性能,導(dǎo)致測試成本不斷攀升.此外,因為ARM 芯片的復(fù)雜度越來越高,為對其進行功能測試,人工編寫測試向量的工作量是極其巨大的,實際上一個ARM 芯片測試向量的手工編寫工作量可能達到數(shù)十人年甚至更多.本文針對ARM Cortex 內(nèi)核的工作原理,提出了一種高效的測試向量產(chǎn)生方法,并在BC3192 測試系統(tǒng)上實現(xiàn)了對ARMCortex-M3 內(nèi)核微處理器的測試.
1 微處理器測試方法
集成電路測試主要包括功能測試和直流參數(shù)的測試,微處理器的測試也包括功能和直流參數(shù)測試兩項內(nèi)容.微處理器包含豐富的指令集,而且微處理器種類繁多,不同微處理器之間很難有統(tǒng)一的測試規(guī)范.為了使測試具有通用性,我們有必要對微處理器的測試建立一個統(tǒng)一的模型,如圖1 所示.芯片測試系統(tǒng)為被測微處理器提供電源和時鐘,并能夠模擬微處理器的仿真通信接口來控制微處理器工作,同時配合仿真時序施加激勵向量,從而達到測試目的.
按微處理器仿真通信接口大致分兩類,一類是具有仿真接口(如JTAG)的微處理器,一類是沒有仿真接口的微處理器,對于配備類似JTAG 接口的微處理器,測試儀通過仿真一個JTAG 接口對被測芯片進行功能或參數(shù)測試.沒有配備仿真調(diào)試接口的芯片,可以根據(jù)芯片的外部接口和引導(dǎo)方式選擇測試模型.
1.1 跟蹤調(diào)試模式
大多數(shù)的微處理器都提供了跟蹤調(diào)試接口,例如最常用的JTAG 接口,Cortex-M3 內(nèi)核除了支持JTAG 調(diào)試外,還提供了專門的指令追蹤單元(ITM).JTAG(Joint Test Action Group,聯(lián)合測試行動小組)是一種國際標準測試協(xié)議(IEEE 1149.1 兼容),主要用于芯片內(nèi)部測試.現(xiàn)在多數(shù)的高級器件都支持JTAG協(xié)議,如ARM.DSP.FPGA 器件等.標準的JTAG 接口是4 線:
TMS.TCK.TDI.TDO,分別為模式選擇.時鐘.數(shù)據(jù)輸入和數(shù)據(jù)輸出線.JTAG 最初是用來對芯片進行測試的,因此使用JTAG 接口測試微處理器具有很多優(yōu)點.
用JTAG 接口對微處理器進行仿真測試,是通過測試系統(tǒng)用測試矢量模擬一個JTAG 接口實現(xiàn)對微處理器的仿真控制,其核心是狀態(tài)機的模擬,圖2 所示為測試系統(tǒng)使用的JTAG TAP 控制器的狀態(tài)轉(zhuǎn)換圖.





