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