国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SOC中的MBIST設(shè)計(jì)

2011-01-26 08:09桂江華錢黎明申柏泉
電子與封裝 2011年1期
關(guān)鍵詞:存儲(chǔ)器寄存器指令

桂江華,錢黎明,申柏泉,周 毅

(中國電子科技集團(tuán)公司第58研究所,江蘇 無錫 214035)

1 引言

隨著深亞微米集成電路的出現(xiàn),單芯片的集成度得到了很大的提高,為了縮短設(shè)計(jì)周期,加快上市時(shí)間,基于IP的SOC設(shè)計(jì)正在成為IC設(shè)計(jì)的主流[1]。由于ARM核的方便、易用和易擴(kuò)展性,目前采用ARM核的SOC產(chǎn)品遍布汽車、消費(fèi)電子、工業(yè)控制、海量存儲(chǔ)、網(wǎng)絡(luò)和無線等各類產(chǎn)品市場(chǎng),可以說ARM技術(shù)無處不在。同時(shí)為了降低SOC芯片的測(cè)試成本和難度,提高芯片的質(zhì)量和成品率,需要對(duì)芯片進(jìn)行可測(cè)性設(shè)計(jì),簡(jiǎn)稱DFT[2]。其中SOC集成了大量的存儲(chǔ)器,為了確保這些存儲(chǔ)器的好壞,只靠功能驗(yàn)證碼要花費(fèi)很大的人力資源,而內(nèi)建自測(cè)試(BIST)可以很方便地完成存儲(chǔ)器的測(cè)試。然而殘酷的競(jìng)爭(zhēng)對(duì)成本提出了更加苛刻的要求,因此本文采用A R M核所集成的TA P控制器來控制MBIST,既能完成存儲(chǔ)器的自測(cè)試又不會(huì)因BIST帶來額外的PAD數(shù)量,降低芯片制造和封裝的成本。

2 MBIST設(shè)計(jì)

由于工藝的不斷進(jìn)步,存儲(chǔ)器芯片的集成度不斷提高,使得每個(gè)存儲(chǔ)器的面積和價(jià)格都按指數(shù)下降,同時(shí)存儲(chǔ)器在制造和使用過程中都易受到干擾[3],故障也越來越復(fù)雜。根據(jù)故障的成因以及所影響的大小,可將存儲(chǔ)器的故障分成以下幾種[4]:Address Faults(AF)、Address Decoder Open Faults(ADOF)、Coupling Faults(CF)、Data Retention Faults(DRF)、Stuck-at Faults(SAF)、Stuck Open Faults(SOF)和Transition Faults(TF)。為了合理地測(cè)試這些故障,主要的測(cè)試算法大致有:M a r c h C、CheckerBoard和Rom。本文主要討論SRAM的BIST設(shè)計(jì),采用MarchC-(march1)算法,該算法大致的測(cè)試步驟如下:

地址(0)→地址(最高位):Write(55)

地址(0)→地址(最高位):Read(55)-Write(AA)

地址(0)→地址(最高位):Read(AA)-Write(55)

地址(最高位)→地址(0):Read(55)-Write(AA)

地址(最高位)→地址(0):Read(AA)-Write(55)

地址(最高位)→地址(0):Read(55)

其中選擇55和AA的原因是因?yàn)樗鼈兊亩M(jìn)制代碼是互補(bǔ)的,而且01交互,有利于全面覆蓋故障。

常用的MBIST結(jié)構(gòu)如圖1所示,它包括MBIST控制器和比較器。其中控制器由狀態(tài)機(jī)控制MBIST的運(yùn)轉(zhuǎn)順序;在MBIST測(cè)試時(shí)控制器還可以產(chǎn)生Memory的地址、數(shù)據(jù)和讀寫控制信號(hào)。Memory的輸出結(jié)果輸入到比較器中,由比較器判斷結(jié)果正確與否。

圖1 MBIST結(jié)構(gòu)圖

3 ARM JTAG介紹

JTAG是Joint Test Action Group的簡(jiǎn)稱。IEEE1149.1標(biāo)準(zhǔn)就是由JTAG這個(gè)組織最初提出的,最終由IEEE批準(zhǔn)并且標(biāo)準(zhǔn)化。JTAG最初的目的是測(cè)試IC之間或PCB之間的連接是否存在故障。后來隨著JTAG的普及和實(shí)用性,它的功能不斷得到擴(kuò)展。目前JTAG還用來調(diào)試,因此JTAG成為數(shù)字系統(tǒng)可測(cè)性設(shè)計(jì)的重要組成部分。ARM公司也將JTAG內(nèi)嵌到ARM核中,并且做了擴(kuò)展,充分發(fā)揮了JTAG的作用[5]。

通常來說JTAG主要由邊界掃描寄存器和TAP控制器構(gòu)成,ARM JTAG包括以下五個(gè)端口:

(1)Test Clock Input(TCK)

TCK為TAP操作提供了一個(gè)獨(dú)立的時(shí)鐘端口,TAP的所有操作都是基于該時(shí)鐘的。

(2)Test Mode Selection Input(TMS)

TMS用來控制TAP狀態(tài)機(jī)的轉(zhuǎn)換,TMS信號(hào)在TCK的上升沿有效。

(3)Test Data Input(TDI)

TDI是數(shù)據(jù)輸入端,所有的輸入數(shù)據(jù)都是通過TDI一位一位的串行輸入到特定的寄存器中。

(4)Test Data Output(TDO)

TDO是數(shù)據(jù)輸出端,所有特定寄存器的輸出數(shù)據(jù)都是通過TDO接口一位一位的串行輸出的。

(5)Test Reset Input(TRST)

TRST可以對(duì)TAP控制器進(jìn)行異步復(fù)位。

實(shí)際上,通過TAP接口,對(duì)特定的數(shù)據(jù)寄存器進(jìn)行訪問的一般過程如下:

(1)通過指令寄存器(IR)選定一個(gè)需要訪問的數(shù)據(jù)寄存器(DR);

(2)控制TAP把特定DR連接到TDI和TDO之間;

(3)由TCK驅(qū)動(dòng),把需要輸入的數(shù)據(jù)掃入到DR中,同時(shí)DR中的數(shù)據(jù)通過TDO掃出。

另外,ARM7提供了4條掃描鏈:掃描鏈0、掃描鏈1、掃描鏈2和掃描鏈3。為了MBIST的設(shè)計(jì),本文對(duì)掃描鏈進(jìn)行了擴(kuò)展,增加了掃描鏈4和掃描鏈5。

下面先來看看ARM7 JTAG中常用到的幾條指令。

(1)IDCODE:指令二進(jìn)制代碼是1110。該指令是通過32個(gè)TCK周期讀出ARM的ID。

(2)SCAN_N:指令代碼是0010。該指令是將4位掃描鏈所選擇的寄存器連接到TDI和TDO之間。

(3)BYPASS:指令的二進(jìn)制代碼是1111。該指令將1-Bit長(zhǎng)的BYPASS寄存器連接到TDI和TDO之間。

(4)INTEST:指令的二進(jìn)制代碼是1100。該指令將通過SCAN_N選定的掃描鏈置于內(nèi)部測(cè)試模式。

(5)EXTEST:指令的二進(jìn)制代碼是0000。指令將通過SCAN_N選定的掃描鏈置于外部測(cè)試模式。

4 ARM SOC中的MBIST實(shí)現(xiàn)

在當(dāng)今的大規(guī)模SOC中,JTAG和MBIST被廣泛采用,如何有效地將兩者結(jié)合起來,提高系統(tǒng)的利用率和降低硬件資源的開銷是很關(guān)鍵的問題。在SOC芯片中本文采用了圖2所示的結(jié)構(gòu)。

圖2 SOC結(jié)構(gòu)圖

關(guān)于圖2,可以從以下幾點(diǎn)闡述:

(1)一個(gè)MBIST Engine控制多個(gè)SRAM,MBIST產(chǎn)生地址和數(shù)據(jù)的位寬以最大的SRAM為基準(zhǔn)。

(2)MBIST測(cè)試SRAM的算法不是固定的,可以通過DFF1配置合適的算法,例如MARCHC。

(3)MBIST的啟動(dòng)由DFF2控制。

(4)MBIST的結(jié)果保存在DFF3中。

(5)DFF1、DFF2和DFF3分別串成一條鏈,與ARM相關(guān)的端口連在一起。

(6)在ARM Wrap中增加掃描鏈5和MBIST指令,以便完成MBIST的測(cè)試。

因此,在MBIST測(cè)試時(shí),先選擇掃描鏈5,讓MBIST中的DFF1、DFF2和DFF3串行連在TDI和TDO之間。通過TDI端口串行掃入MBIST的配置信息,然后再啟動(dòng)MBIST指令,等待MBIST工作完畢,掃出DFF3中所保存的MBIST結(jié)果。

5 仿真結(jié)果及分析

通過上述分析,完成相應(yīng)的代碼設(shè)計(jì)。為了驗(yàn)證功能的正確性,編寫測(cè)試激勵(lì),且為了書寫方便,在測(cè)試激勵(lì)文件中定義了一些T A S K,例如Load_Inst、Shiftin_DR、Shiftin_DR_Custom、Shiftout_DR等等[6]。測(cè)試激勵(lì)中的關(guān)鍵部分如下:

Load_Inst(Scan_N);

Shiftin_DR(4,scan_path5);

Load_Inst(Extest);

Shiftin_DR_Custom(20,num);

Load_Inst(MBIST);

……//wait MBIST Finish

Load_Inst(Extest);

Shiftout_DR(20);

圖3 啟動(dòng)MBIST

圖4 MBIST運(yùn)行

圖5 掃出MBIST結(jié)果

對(duì)圖3~5做如下說明:

(1)在圖3中,通過TDI配置MBIST,可以看到MBIST算法(alg_no[3:0]信號(hào))變成MarchC(用2表示);mbrun和bist_mode置高(有效)。

(2)在圖4中,MBIST正在運(yùn)行,可以看出Memory的地址、數(shù)據(jù)和控制信號(hào)都在按MarchC算法定義的規(guī)律變化。

(3)在圖5中,等MBIST完成后,通過TDO掃出20位的結(jié)果,可以發(fā)現(xiàn)判斷SRAM出錯(cuò)的位一直保持為1(0:有故障,1:沒有故障)。

6 結(jié)論

總之,隨著大規(guī)模集成電路的發(fā)展,SOC成為主流。目前在SOC設(shè)計(jì)中,ARM是經(jīng)常被采用的核;另外SOC中大量用到存儲(chǔ)器。如何保證存儲(chǔ)器的功能正確,MBIST顯得很有必要。本文通過ARM JTAG來控制MBIST,既達(dá)到DFT設(shè)計(jì)的目的,又降低了普通MBIST所帶來的硬件開銷。

[1]王新安,吉利久.SOC測(cè)試中的BIST的若干思考[J].微電子學(xué)與計(jì)算機(jī),2003.

[2]虞希清. 專用集成電路設(shè)計(jì)實(shí)用教程[M].杭州:浙江大學(xué)出版社,2007.

[3]王新安,蔣安平,宋春殫. 數(shù)字系統(tǒng)測(cè)試[M].北京:電子工業(yè)出版社,2007.

[4]MBIST Architect Process Guide[M].Mentor Graphics,2008.

[5]許瓊.基于JTAG的ARM7TDMI調(diào)試系統(tǒng)[J].計(jì)算機(jī)工程,2008.

[6]Writing JTAG Sequences for ARM9 Processors[P]. ARM corp. 2008.

猜你喜歡
存儲(chǔ)器寄存器指令
STM32和51單片機(jī)寄存器映射原理異同分析
靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
ARINC661顯控指令快速驗(yàn)證方法
殺毒軟件中指令虛擬機(jī)的脆弱性分析
中斷與跳轉(zhuǎn)操作對(duì)指令串的影響
一種基于滑窗的余度指令判別算法
存儲(chǔ)器——安格爾(墨西哥)▲
基于Nand Flash的高速存儲(chǔ)器結(jié)構(gòu)設(shè)計(jì)
高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
麦盖提县| 宜城市| 宝坻区| 东台市| 探索| 柳江县| 福建省| 弥勒县| 宿松县| 丘北县| 河间市| 雷州市| 亚东县| 大洼县| 连江县| 桃江县| 封开县| 淮滨县| 孟津县| 邳州市| 镇赉县| 观塘区| 富平县| 互助| 阿瓦提县| 丰都县| 湖口县| 孙吴县| 正镶白旗| 宝鸡市| 宁德市| 日土县| 南开区| 方城县| 西畴县| 根河市| 泗水县| 潜江市| 钦州市| 平原县| 黎川县|