摘 要:為了解決復(fù)雜數(shù)字系統(tǒng)的測(cè)試和故障診斷問(wèn)題,研究了基于ModelSource的硬件建模與仿真軟件LASAR相結(jié)合的開(kāi)發(fā)復(fù)雜數(shù)字系統(tǒng)測(cè)試程序集(TPS)的方法。給出了建立邏輯模型的基本方法以及用LASAR開(kāi)發(fā)復(fù)雜測(cè)試程序集的基本思想,并以子陣運(yùn)算板測(cè)試程序開(kāi)發(fā)過(guò)程為例介紹了基于硬件模型的開(kāi)發(fā)復(fù)雜數(shù)字系統(tǒng)測(cè)試程序集的實(shí)現(xiàn)過(guò)程。
關(guān)鍵詞: ModelSource; 邏輯模型; LASAR; 測(cè)試程序集(TPS)。
中文分類號(hào):TP277
Using logic model in Testing and diagnosing
complex digital logic boards
LIUgeng,WANGqingli,SUNchangyou,HUweijia,GAOshumin
Abstract: a method on how to test and diagnose complex digital logic boards and systems is introduced. It base on the ModelSource Hardware modeling system and the high-quality functional test program making software LASAR. Testing and Diagnosing Complex Digital Logic Boards And Systems With Logic Model explain the way of creating a logic model, and the mind of producing an high-quality test program with LASAR. The procession of the Zi Zhen Yun Suan board TPS development is introduced in detail.
Key words: ModelSource;logic model;LASAR;test program set(TPS)
1引言
隨著數(shù)字電路的集成度越來(lái)越高,芯片的功能也日趨強(qiáng)大,而對(duì)于復(fù)雜數(shù)字系統(tǒng)的測(cè)試也就變得越來(lái)越困難。目前對(duì)于數(shù)字系統(tǒng)的測(cè)試主要基于仿真,美國(guó)Teradyne的仿真軟件LASAR采用的動(dòng)態(tài)最大/最小定時(shí)分析技術(shù)和先進(jìn)的故障仿真技術(shù),它生成的測(cè)試結(jié)果準(zhǔn)確而可靠,并可直接導(dǎo)入測(cè)試執(zhí)行軟件Teststudio生成測(cè)試程序,極大的方便了測(cè)試程序的開(kāi)發(fā)。而仿真需要以可靠的模型為前提。目前的器件模型主要是利用語(yǔ)言編寫(xiě),LASAR的模型庫(kù)提供了相當(dāng)數(shù)量的器件仿真模型,此外Synopsys 的SmartModel 也提供了很多器件的仿真模型。但是現(xiàn)在新型器件層出不窮,集成度也越來(lái)越高,TPS開(kāi)發(fā)人員很難在擁有一種器件的同時(shí)就擁有該器件的仿真模型。而用Synopsys的MS-3200硬件建模系統(tǒng)建立的邏輯模型可以很好的解決此問(wèn)題。
邏輯模型不同于一般仿真模型,它基于實(shí)際的物理器件建模。仿真時(shí),邏輯模型被插入到硬件建模系統(tǒng),硬件模型器格式化仿真器的輸入,并把它們加到實(shí)際器件上,然后采集器件的輸出并加上相應(yīng)的時(shí)序信息最后返回到仿真器。運(yùn)用硬件建模系統(tǒng)建立的模型準(zhǔn)確可靠,而它與具有強(qiáng)大功能的仿真測(cè)試軟件LASAR的結(jié)合可使對(duì)復(fù)雜系統(tǒng)的測(cè)試變得簡(jiǎn)單可行。
2邏輯模型概述
用LM系列和ModelSource硬件建模系統(tǒng)建立的硬件模型稱為邏輯模型。邏輯模型可建立多種復(fù)雜數(shù)字器件的模型,并可適用于多種的仿真工具。它可以應(yīng)用于系統(tǒng)仿真,標(biāo)準(zhǔn)器件和ASIC的建模,硬件和軟件的集成,以及ASIC原型的驗(yàn)證和測(cè)試向量的生成。邏輯模型可與多種仿真模型兼容,包括門(mén)級(jí)模型、SmartModel 行為模型以及用行為建模語(yǔ)言建立的模型。
硬件建模是建立大多數(shù)數(shù)字LSI和VLSI器件精確仿真模型的理想方法,它在仿真時(shí)使用基于實(shí)際硅片的器件,可有效的節(jié)約開(kāi)發(fā)、驗(yàn)證和維護(hù)的時(shí)間。
2.1 硬件建模環(huán)境的組成
一套完整地硬件建模環(huán)境包含以下幾部分:
1) 綜合仿真器。它與硬件建模系統(tǒng)進(jìn)行通信。
2) 硬件建模系統(tǒng)。它由MS-3200/3400和一個(gè)運(yùn)行ModelSource的前端處理器(工作站)組成,它們之間由高速光纜連接。
3) 邏輯模型。
2.2邏輯模型的組成
邏輯模型主要包括硬件和軟件兩部分。其中硬件包括實(shí)際的物理芯片。如果芯片不是適配器所支持的標(biāo)準(zhǔn)封裝則需要制作一塊轉(zhuǎn)接板,將芯片管腳引入MS3200。軟件方面主要是編寫(xiě)Shell文件,Shell文件提供開(kāi)發(fā)邏輯模型所需的芯片信息,其結(jié)構(gòu)如圖1所示。
Shell文件主要包括:
1) Model文件:模型的命名文件,它是邏輯模型的主體。
2) Device文件:描述芯片信息,包括芯片速度、工藝、管腳定義、初始化隊(duì)列等。
3) Package文件:描述適配板和芯片管腳的映射關(guān)系。
4) Adapter文件:描述適配板和適配器管腳的映射關(guān)系。
5) 附加文件:包括Variable Declarations(變量聲明)文件、State Tracking(狀態(tài)跟蹤)文件、Delay(延時(shí))文件、Force Values文件、Options(選項(xiàng)文件)、Pin Names(管腳名稱)、Timing Checks(時(shí)序檢查)等文件。它們對(duì)邏輯模型細(xì)節(jié)的功能如時(shí)序、初始化狀態(tài)等特征進(jìn)行描述。
6) 最后還有驗(yàn)證模型的Test Vector(測(cè)試向量)文件和README(自述)文件。
3應(yīng)用邏輯模型開(kāi)發(fā)子陣運(yùn)算板TPS
3.1被測(cè)子陣運(yùn)算板功能介紹
被測(cè)電路子陣運(yùn)算板是一塊含有DSP處理器TMS
圖2子陣運(yùn)算板功能簡(jiǎn)圖
3.2子陣運(yùn)算板TPS開(kāi)發(fā)
針對(duì)數(shù)字電路板,我們應(yīng)用Teradyne公司的仿真軟件LASAR對(duì)被測(cè)電路板進(jìn)行故障仿,真生成故障字典和引導(dǎo)探筆文件,通過(guò)Teststudio軟件生成最終測(cè)試程序。測(cè)試系統(tǒng)為T(mén)eradyne公司的M9系列板級(jí)數(shù)字測(cè)試系統(tǒng),系統(tǒng)資源具有128路數(shù)字通道,通道速率20MHz。
子陣運(yùn)算板TPS開(kāi)發(fā)包括軟件和硬件兩個(gè)部分:
1) 軟件方面是子陣運(yùn)算板測(cè)試程序(TP)開(kāi)發(fā)。
2) 硬件方面是子陣運(yùn)算板適配板開(kāi)發(fā)。適配板連接測(cè)試儀與被測(cè)對(duì)象,為被測(cè)板提供電源、數(shù)字通道等資源。
3.3子陣運(yùn)算板測(cè)試程序開(kāi)發(fā)
由于被測(cè)子針運(yùn)算板的功能復(fù)雜,所用元器件含DSP處理器,在開(kāi)發(fā)測(cè)試程序時(shí)解決了以下難點(diǎn)。
1) 系統(tǒng)使用板內(nèi)晶振作為系統(tǒng)時(shí)鐘,不受控,而且系統(tǒng)工作頻率為40MHz。在測(cè)試時(shí)需要斷開(kāi)原晶振,并且外接數(shù)字通道模擬系統(tǒng)時(shí)鐘。由于數(shù)字通道速率為20MHz,因此系統(tǒng)無(wú)法工作于原來(lái)的工作頻率,但對(duì)于被測(cè)板功能測(cè)試和故障元件的檢測(cè),系統(tǒng)的降頻能夠滿足測(cè)試的要求。
2) 被測(cè)板采用RC上電復(fù)位電路,而測(cè)試時(shí),系統(tǒng)的加電和測(cè)試是分步進(jìn)行的,因此需要由數(shù)字通道給被測(cè)板提供復(fù)位信號(hào)。復(fù)位信號(hào)的寬度需要滿足系統(tǒng)復(fù)位毫秒級(jí)的要求,而且系統(tǒng)工作頻率是微妙級(jí),在以接拍為單位的測(cè)試激勵(lì)程序編寫(xiě)時(shí)調(diào)整了復(fù)位時(shí)段的CPP(CLOCK PER PATTERN),從而減少的激勵(lì)程序的節(jié)拍,從而縮短了仿真和測(cè)試的時(shí)間。
3) 采用了硬件建模系統(tǒng)開(kāi)發(fā)了DSP處理器TMS
3.4子陣運(yùn)算板測(cè)試程序開(kāi)發(fā)流程
子陣運(yùn)算板測(cè)試程序開(kāi)發(fā)流程圖如圖3。
圖3子陣運(yùn)算板測(cè)試程序集開(kāi)發(fā)流程
子陣運(yùn)算板測(cè)試程序開(kāi)發(fā)流程簡(jiǎn)介如下:
1)制作芯片轉(zhuǎn)接板。它的目的是把原來(lái)TMS
2)編寫(xiě)Shell文件。在充分閱讀芯片手冊(cè)的基礎(chǔ)上編寫(xiě)Shell文件。簡(jiǎn)單器件模型只需編寫(xiě)TMS
3)建立邏輯模型。運(yùn)行slam命令,輸入MDL文件名TMS
4)插入模型。用slam_insert.csh dsp_lm命令將邏輯模型插入到LASAR庫(kù),并將板內(nèi)其它器件的仿真模型插入到LASAR庫(kù)中。
5)編譯系統(tǒng)模型。將Protel99的原理圖dsp.sch中定義輸入/輸出端口;修改代表邏輯高低電平的VCC和GND以區(qū)別器件本身的VCC和GND;生成 EDIF2.0格式的網(wǎng)表,并導(dǎo)出為dsp.edif文件。在LASAR開(kāi)發(fā)環(huán)境下用tr m /edif dsp.edif命令轉(zhuǎn)換網(wǎng)表并生成dsp_.net;將網(wǎng)表中器件本身的電源和地去掉,并修改器件名稱使之與LASAR模型庫(kù)中的器件模型相對(duì)應(yīng)。然后在LASAR圖形界面中編譯系統(tǒng)模型。
6)編寫(xiě)激勵(lì)文件(.pat文件)。激勵(lì)文件是系統(tǒng)仿真的輸入文件,它模擬被測(cè)板工作時(shí)的輸入信號(hào)。本系統(tǒng)模擬的輸入信號(hào)主要是上電復(fù)位信號(hào)、時(shí)鐘信號(hào)、數(shù)據(jù)線地址線信號(hào)、以及外部中斷等信號(hào),激勵(lì)覆蓋了系統(tǒng)的上電復(fù)位、加載程序、執(zhí)行中斷程序等全部功能。
7)運(yùn)行仿真。將物理芯片TMS
8)故障仿真。首先編寫(xiě)故障文件(.flt文件)插入固定和開(kāi)路故障,并剔除一些系統(tǒng)未用到的管腳故障。編譯故障文件后運(yùn)行故障仿真,仿真結(jié)果生成故障檢測(cè)率報(bào)告。
9)根據(jù)仿真生成的結(jié)果,進(jìn)一步修改和完善邏輯模型。由于仿真時(shí)TMS
10)修改激勵(lì)文件。修改激勵(lì)文件并重新執(zhí)行仿真與故障仿真可以進(jìn)一步提高故障檢測(cè)率。直到故障覆蓋率滿足要求(>96%)。
11)生成故障字典。
12)編譯探筆文件。在故障字典無(wú)法精確定位故障的情況下,探筆可探測(cè)被測(cè)板內(nèi)部的節(jié)點(diǎn)使得檢測(cè)結(jié)果更精確。
13)建立測(cè)試程序dsp.tsp。運(yùn)行Teststudio軟件,新建一個(gè)測(cè)試程序,插入一個(gè)子節(jié)點(diǎn)dsp并將該節(jié)點(diǎn)設(shè)為數(shù)字測(cè)試執(zhí)行(Digital Test Execution),然后用Lsrtap Importer將LASAR生成的結(jié)果導(dǎo)入TestStudio,加上管腳映射文件(dsp.pmp文件)和電平描述文件(dsp.lvl文件)生成測(cè)試文件DSP
3.5 子陣運(yùn)算板適配板開(kāi)發(fā)
子陣運(yùn)算板適配板的功能是為被測(cè)板的提供供電電源,并且將被測(cè)板的輸入輸出信號(hào)引入數(shù)字測(cè)試系統(tǒng)。由于子陣運(yùn)算板DSP處理器數(shù)據(jù)和地址都是在板內(nèi)連接,沒(méi)有引出到邊緣連接器,因此用芯片夾制作了幾根線纜,連接適配板和被測(cè)板內(nèi)部的關(guān)鍵信號(hào),從而提高了測(cè)試程序的故障覆蓋率和隔離率。
3.6 TPS調(diào)試與驗(yàn)證
1) 準(zhǔn)備工作。將被測(cè)板插于適配板并連接到測(cè)試系統(tǒng),給適配板和被測(cè)板加電。
2) 軟面板調(diào)試。運(yùn)行dsp.tsp程序,進(jìn)入Teststudio界面后,運(yùn)行dsp節(jié)點(diǎn)的M9軟面板進(jìn)行調(diào)試。通過(guò)軟面板調(diào)試可觀察到仿真的結(jié)果與實(shí)際測(cè)試的結(jié)果是否一致,如果不一致可能是元件的建模有問(wèn)題或者激勵(lì)的編寫(xiě)不夠合理,需要修改模型或者激勵(lì)程序重新進(jìn)行仿真。
3) Go/No Go測(cè)試。軟面板調(diào)試通過(guò)后,在dsp節(jié)點(diǎn)中添加一個(gè)數(shù)字測(cè)試診斷(digital test diagnose)輸出,設(shè)置診斷方式為故障字典、引導(dǎo)探筆方式,并自動(dòng)啟動(dòng)引導(dǎo)探筆,輸出文件為DSP
4) 探筆調(diào)試。Go/No Go通過(guò)后,打開(kāi)探筆文件,用Debug項(xiàng)對(duì)各個(gè)節(jié)點(diǎn)進(jìn)行探測(cè)和好板學(xué)習(xí)。
5) 插入故障驗(yàn)證。在確保不損害被測(cè)板的前提下,插入了20個(gè)固定到0和固定到1的故障,(包括DSP處理器部分地址線、數(shù)據(jù)線、讀寫(xiě)控制信號(hào)等)對(duì)子陣運(yùn)算板TPS進(jìn)行驗(yàn)證。當(dāng)發(fā)現(xiàn)故障時(shí),節(jié)點(diǎn)變紅并顯示出失敗信息,然后會(huì)自動(dòng)啟動(dòng)引導(dǎo)探筆。若故障字典可以直接定位故障,提示故障已經(jīng)定位的信息,并可選擇是否繼續(xù)運(yùn)行引導(dǎo)探筆;若不能直接定位,程序會(huì)自動(dòng)運(yùn)行引導(dǎo)探筆診斷。引導(dǎo)探筆會(huì)沿著出現(xiàn)故障的鏈路逐級(jí)探測(cè),直到定位到故障網(wǎng)絡(luò)。驗(yàn)證結(jié)果,所插入20個(gè)固定到0和1的故障都可監(jiān)測(cè),并且隔離到故障管腳,滿足測(cè)試要求。
4結(jié) 語(yǔ)
實(shí)踐證明,利用ModelSource硬件建模系統(tǒng)可有效地解決高集成度數(shù)字電路器件的建模問(wèn)題。此方法與仿真測(cè)試軟件LASAR的結(jié)合,為復(fù)雜數(shù)字系統(tǒng)的故障診斷和測(cè)試程序的開(kāi)發(fā)提供了一條高效可靠的途徑。
參考文獻(xiàn):
[1] Logic Model Development Manual. [DB/OL] http://www.synopsys.com
[2] Shell Software Reference Manual. [DB/OL] http://www.synopsys.com
[3] 數(shù)字仿真軟件(LASAR)課程 海軍電子設(shè)備測(cè)試維修中心
[4] TMS