嚴(yán)華鑫(中國電子科技集團(tuán)公司第58研究所,江蘇無錫214035)
基于UltraFlex的多時(shí)鐘域電路測試方法
嚴(yán)華鑫
(中國電子科技集團(tuán)公司第58研究所,江蘇無錫214035)
介紹了一種在UltraFlex系統(tǒng)上進(jìn)行多時(shí)鐘域電路測試的方法,利用了UltraFlex系統(tǒng)自身硬件設(shè)計(jì)的特點(diǎn)和VBT,解決系統(tǒng)在多時(shí)鐘電路頻率比較高的情況下最小公倍數(shù)頻率超過測試系統(tǒng)規(guī)格的問題.此方法通用,可進(jìn)行不規(guī)則多時(shí)鐘ASIC的測試,降低了設(shè)計(jì)和測試人員測試算法設(shè)計(jì)的難度,提高了設(shè)計(jì)和測試開發(fā)速度.
多時(shí)鐘域;測試方法;Ultraflex
大規(guī)模集成電路---如專用集成電路(ASICs)和片上系統(tǒng)(SOCs)---出于功能或者性能上的考慮,經(jīng)常采用多時(shí)鐘的設(shè)計(jì)風(fēng)格;尤其在電信應(yīng)用領(lǐng)域,經(jīng)常需要多個(gè)數(shù)據(jù)通路,多個(gè)微控制器和電源管理[1].微處理器(MCU)系統(tǒng)一般有兩個(gè)時(shí)鐘域,其中處理器使用較快的系統(tǒng)時(shí)鐘,以獲得較高的性能;外圍邏輯使用較慢的時(shí)鐘外圍,以降低功耗.在多時(shí)鐘設(shè)計(jì)中,一個(gè)時(shí)鐘域產(chǎn)生的信號(hào)經(jīng)常會(huì)被其他的時(shí)鐘域使用,這就形成了不同時(shí)鐘域之間的交叉.例如,在微控制系統(tǒng)中,處理器的寫信號(hào)和數(shù)據(jù)是在系統(tǒng)時(shí)鐘域產(chǎn)生的,而外圍時(shí)鐘域的寄存器用處理器的寫信號(hào)作為使能信號(hào)來加載數(shù)據(jù),這樣形成了從系統(tǒng)時(shí)鐘域到外圍時(shí)鐘域信號(hào)的交叉;同樣的,當(dāng)處理器讀外圍邏輯寄存器時(shí),寄存器的值通過總線送給處理器,又形成了從外圍時(shí)鐘域到系統(tǒng)時(shí)鐘信號(hào)的交叉[2].
系統(tǒng)中的時(shí)鐘數(shù)量以及它們之間的數(shù)據(jù)遷移成為設(shè)計(jì)時(shí)必須考慮的重要因素,因?yàn)檫@會(huì)直接影響系統(tǒng)的功能、驗(yàn)證與測試.時(shí)鐘域是指由同一時(shí)鐘控制的一組時(shí)序單元,該時(shí)鐘必須來自同一顆時(shí)鐘樹.如果有兩個(gè)觸發(fā)器使用的時(shí)鐘來自同一時(shí)鐘樹的不同分支,那么它們依然在同一時(shí)鐘域,指示我們仔細(xì)分析它們之間的時(shí)鐘偏斜.如果一個(gè)觸發(fā)器使用的時(shí)鐘直接來自時(shí)鐘樹A,而另一個(gè)觸發(fā)器使用的是A經(jīng)過了組合邏輯的時(shí)鐘,那么它們不在同一時(shí)鐘域;如果一定要把它們放在同一時(shí)鐘域考慮,那么必須仔細(xì)分析時(shí)鐘偏斜[3].對(duì)于傳統(tǒng)的自動(dòng)測試化系統(tǒng)而言,多時(shí)脈測試是項(xiàng)嚴(yán)格挑戰(zhàn),傳統(tǒng)系統(tǒng)每次只能測試一種時(shí)脈.
整機(jī)單位需求一款A(yù)SIC電路,此電路一部分輸入輸出管腳工作在頻率A=80 MHz,另一部分輸入輸出管腳工作在B=90 MHz.對(duì)于一般性系統(tǒng)而言,如果頻率A是頻率B的偶數(shù)倍即A=NXB(N=2,4…),則無需進(jìn)行不同時(shí)鐘偏斜的分析.為降低系統(tǒng)設(shè)計(jì)難度,只需依照系統(tǒng)最高的工作頻率進(jìn)行碼行的仿真采樣即可,無需特別處理.若頻率A=NXB(N=3,5,7…)或者頻率A不對(duì)B產(chǎn)生倍數(shù)關(guān)系,若想完全分析清楚時(shí)鐘邊沿的偏斜,則需要仿真時(shí)對(duì)頻率A和頻率B進(jìn)行最小公倍數(shù)再兩倍倍頻,以期待完全能夠?qū)r(shí)鐘邊沿的偏斜全部覆蓋,即測試碼將工作在720 MHz,這樣一個(gè)高頻率無疑極大地增加了測試板的設(shè)計(jì)難度和對(duì)測試系統(tǒng)的要求,高速PCB和測試channel board價(jià)格極其昂貴.
2.1測試系統(tǒng)FLEX介紹
對(duì)于絕大多數(shù)測試系統(tǒng)而言,一次測試一種時(shí)脈是由測試系統(tǒng)本身的結(jié)構(gòu)決定的.測試系統(tǒng)產(chǎn)生一個(gè)主時(shí)鐘信號(hào),各板卡全部工作在此相同的工作頻率下.對(duì)以泰瑞達(dá)公司生產(chǎn)的UltraFlex采用了不同系統(tǒng)結(jié)構(gòu)設(shè)計(jì),即不同的數(shù)字信號(hào)板采用了獨(dú)立的波形發(fā)生器,每塊HSD1000具有獨(dú)立的PatGen,可以產(chǎn)生不同的Refclk(如圖1),這樣的結(jié)構(gòu)無疑會(huì)提高測試系統(tǒng)的成本,但是相對(duì)于提高測試系統(tǒng)的頻率來講,這些成本的提高無疑又具有了極高的性價(jià)比,這樣的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)提供了多時(shí)鐘信號(hào)測試的可能性.
圖1 Ultraflex HSD1000架構(gòu)
2.2硬件設(shè)計(jì)
一般測試連接板設(shè)計(jì)時(shí),如果pin腳資源足夠,只需要將所需測試的DUT管腳連接到測試系統(tǒng)相應(yīng)的系統(tǒng)資源上,但是對(duì)于此多頻率的DUT測試板,需要在功能設(shè)計(jì)時(shí)已經(jīng)確定工作在不同頻率的DUT管腳分別連接到測試系統(tǒng)內(nèi)不同的UltraPin800或者HSD1000上面,工作在不同頻率的管腳彼此物理上完全歸屬于不同的Channel borad子集,依據(jù)定制ASIC的特點(diǎn),基于FLEX mother board的結(jié)構(gòu),關(guān)鍵設(shè)計(jì)要點(diǎn)是將同樣工作頻率的pin子集分別連接到屬于不同塊的UltraPin800或者HSD1000上,后續(xù)能夠配合軟件代碼實(shí)現(xiàn)時(shí)域的編程,最終設(shè)計(jì)PCB布局(如圖2).
2.3軟件編程
測試分析需要利用仿真向量和測試系統(tǒng)軟件聯(lián)合對(duì)DUT的功能進(jìn)行比對(duì)式驗(yàn)證.仿真時(shí)需要在進(jìn)行了功能的仿真之后,再對(duì)工作在不同頻率的測試管腳進(jìn)行自身相應(yīng)的工作頻率采樣.因此最終所產(chǎn)生的測試向量圖形的長度是不一致的,但是要求二者采樣的絕對(duì)時(shí)間一致.
定義多時(shí)鐘PinMap Sheet需要在全部PinMap定義完成之后,將對(duì)應(yīng)的不同時(shí)鐘域的管腳信號(hào)分別定義到不同組里面去,且利用不同的關(guān)鍵字名稱.
不同的時(shí)鐘域管腳編寫相對(duì)應(yīng)的Time Sets和Edge Sets sheet,如果在同一個(gè)Time Sets里面進(jìn)行了不同時(shí)鐘域管腳的TSB設(shè)置,IG-XL會(huì)產(chǎn)生一個(gè)錯(cuò)誤.如果不同時(shí)鐘域的管腳是同步的,則軟件不需要進(jìn)行額外的編程;如果不同時(shí)鐘域的管腳是異步的,則必須規(guī)定主時(shí)鐘time set強(qiáng)制使用同樣的MOSC周期.且如果利用了UltraPin4000用于多時(shí)鐘域的測試,則必須規(guī)定UltraPin4000為主時(shí)鐘域,因?yàn)閁ltraPin4000有更高的限制.
對(duì)于不同時(shí)鐘域的管腳需要對(duì)應(yīng)各自不同的測試向量圖形或者圖形組,這同時(shí)也對(duì)應(yīng)著設(shè)計(jì)仿真時(shí)的要求,在編譯多時(shí)鐘向量圖形時(shí),將原來PinMap sheet設(shè)置的關(guān)鍵字嵌入到Compiler Options中的Value中(如圖3).
圖2 PCB布局圖
圖3 向量編譯
在相應(yīng)基礎(chǔ)框架搭建好之后,需要對(duì)已經(jīng)編譯好的向量進(jìn)行調(diào)用,首先編寫Test Instance,將不同時(shí)鐘域的向量圖形拉取到同一個(gè)Function Test中,除了利用Test template將不同的Patset_UP800拉取同一路徑之后用"+"連接,還可以用VBT代碼利用TheHdw. Patterns("pat1.PAT+pat2.PAT").Load和TheHdw.Patterns ("pat1.PAT+pat2.PAT").Test將不同的測試圖形一起執(zhí)行.在測試向量運(yùn)行過程中,進(jìn)行CPU Flag的握手且必須利用VBT中的TheHdw.Digital.TimeDomains. Patgen.SetFlagMatch屬性對(duì)不同時(shí)鐘域的flag進(jìn)行使能.最終在FLOW table(如圖4)中使用debug tool刷新出來的pattern格式較一般程序有較大不同,不同時(shí)域的兩組pattern同時(shí)顯示且可同時(shí)進(jìn)行編輯(如圖5).
不同時(shí)鐘域的向量圖形對(duì)應(yīng)不同的向量圖形組,因此數(shù)據(jù)排布和內(nèi)容與一般電路不同.可選的方式有3種:tlResultModeOne,tlResultModeDomain和tlResult ModeModule.同時(shí)可以利用TheHdw.Digital.Time Domains.Patgen.PatternBurstPassed于顯示結(jié)果的輸出,數(shù)據(jù)最終如下:
Number SiteTest NamePattern1st Failed CycleTotal Failed Cycles
00MTD_PatSet_Onehsd_mtd+up4k_mtd N/AN/A
10MTD_PatSet_Domain hsd_mtdN/AN/A
20MTD_PatSet_Domainup4k_mtdN/AN/A
圖4 FLOW talbe
圖5 多時(shí)域pattern tools
文章介紹并且應(yīng)用了一種利用UltraFlex實(shí)現(xiàn)多時(shí)鐘域電路測試的方法,此方法不需要對(duì)多時(shí)鐘域電路增加可測性設(shè)計(jì),降低了設(shè)計(jì)人員的工作量,也降低了多時(shí)鐘域產(chǎn)品的設(shè)計(jì)和測試周期,具有較好的經(jīng)濟(jì)性和實(shí)用性.
[1]Josef Schmid,Joschim Knablein.Advanced synchronous scan test methodology for multi clock domain ASICs[C].In∶Proceedings of the 17th IEEE VLSI Test Symposium,San Diego,1999,105-113.
[2]周錦鋒,陳志沖,倪光南.針對(duì)多時(shí)鐘掃描測試的可測性設(shè)計(jì)方法[J].北京:計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2003.
[3]王巍.多時(shí)鐘域ASIC的可測性設(shè)計(jì)[M].北京:EDA專欄,2003.
Test Method for UltraFlex-based Multiple Clock Domain Circuit
YAN Huaxin
(China Electronics Technology Group Corporation No.58 Research Institute,Wuxi 214035,China)
The article introduces a test method for multiple clock domain circuit in UltraFlex system.The method refers to UltraFlex hardware design and VBT to solve the problem that the lowest common multiple exceeds test system capacity when the multiple clock domain frequency is high.The method is universally applicable for multiple clock domain ASICs. It reduces the workload of design and test algorithm design and accelerates the design and test process.
multiple time domain;test method;UltraFlex
TN307
A
1681-1070(2016)06-0024-04
2016-1-18
嚴(yán)華鑫(1987-),男,江蘇鹽城人,畢業(yè)于南京理工大學(xué)光電信息工程專業(yè),目前就職于中國電子科技集團(tuán)公司第58研究所,從事半導(dǎo)體電路測試與應(yīng)用工作.