逻辑模型在复杂数字系统故障诊断中的应用

摘 要:为了解决复杂数字系统的测试和故障诊断问题,研究了基于ModelSource的硬件建模与仿真软件LASAR相结合的开发复杂数字系统测试程序集(TPS)的方法。给出了建立逻辑模型的基本方法以及用LASAR开发复杂测试程序集的基本思想,并以子阵运算板测试程序开发过程为例介绍了基于硬件模型的开发复杂数字系统测试程序集的实现过程。

关键词: 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引言

随着数字电路的集成度越来越高,芯片的功能也日趋强大,而对于复杂数字系统的测试也就变得越来越困难。目前对于数字系统的测试主要基于仿真,美国Teradyne的仿真软件LASAR采用的动态最大/最小定时分析技术和先进的故障仿真技术,它生成的测试结果准确而可靠,并可直接导入测试执行软件Teststudio生成测试程序,极大的方便了测试程序的开发。而仿真需要以可靠的模型为前提。目前的器件模型主要是利用语言编写,LASAR的模型库提供了相当数量的器件仿真模型,此外Synopsys 的SmartModel 也提供了很多器件的仿真模型。但是现在新型器件层出不穷,集成度也越来越高,TPS开发人员很难在拥有一种器件的同时就拥有该器件的仿真模型。而用Synopsys的MS-3200硬件建模系统建立的逻辑模型可以很好的解决此问题。

逻辑模型不同于一般仿真模型,它基于实际的物理器件建模。仿真时,逻辑模型被插入到硬件建模系统,硬件模型器格式化仿真器的输入,并把它们加到实际器件上,然后采集器件的输出并加上相应的时序信息最后返回到仿真器。运用硬件建模系统建立的模型准确可靠,而它与具有强大功能的仿真测试软件LASAR的结合可使对复杂系统的测试变得简单可行。

 

2逻辑模型概述

用LM系列和ModelSource硬件建模系统建立的硬件模型称为逻辑模型。逻辑模型可建立多种复杂数字器件的模型,并可适用于多种的仿真工具。它可以应用于系统仿真,标准器件和ASIC的建模,硬件和软件的集成,以及ASIC原型的验证和测试向量的生成。逻辑模型可与多种仿真模型兼容,包括门级模型、SmartModel 行为模型以及用行为建模语言建立的模型。

硬件建模是建立大多数数字LSI和VLSI器件精确仿真模型的理想方法,它在仿真时使用基于实际硅片的器件,可有效的节约开发、验证和维护的时间。

2.1 硬件建模环境的组成

一套完整地硬件建模环境包含以下几部分:

1) 综合仿真器。它与硬件建模系统进行通信

2) 硬件建模系统。它由MS-3200/3400和一个运行ModelSource的前端处理器(工作站)组成,它们之间由高速光缆连接。

3) 逻辑模型。

2.2逻辑模型的组成

逻辑模型主要包括硬件和软件两部分。其中硬件包括实际的物理芯片。如果芯片不是适配器所支持的标准封装则需要制作一块转接板,将芯片管脚引入MS3200。软件方面主要是编写Shell文件,Shell文件提供开发逻辑模型所需的芯片信息,其结构如图1所示。

图1 Shell文件结构图

Shell文件主要包括:

1) Model文件:模型的命名文件,它是逻辑模型的主体。

2)  Device文件:描述芯片信息,包括芯片速度、工艺、管脚定义、初始化队列等。

3)  Package文件:描述适配板和芯片管脚的映射关系。

4)  Adapter文件:描述适配板和适配器管脚的映射关系。

5)  附加文件:包括Variable Declarations(变量声明)文件、State Tracking(状态跟踪)文件、Delay(延时)文件、Force Values文件、Options(选项文件)、Pin Names(管脚名称)、Timing Checks(时序检查)等文件。它们对逻辑模型细节的功能如时序、初始化状态等特征进行描述。

6)  最后还有验证模型的Test Vector(测试向量)文件和README(自述)文件。

3应用逻辑模型开发子阵运算板TPS

3.1被测子阵运算板功能介绍

被测电路子阵运算板是一块含有DSP处理器TMS320C50的数字电路板级产品。它使用板上晶振作为系统时钟,主要功能是系统上电复位后从EPROM中加载程序,加载后运行程序,设置内部各寄存器后执行循环,当外部中断出现时,系统将外部数据与板内EPROM中存储的数据进行运算处理,并以差分信号的形式输出结果。系统功能见图2。

图2子阵运算板功能简图

3.2子阵运算板TPS开发

针对数字电路板,我们应用Teradyne公司的仿真软件LASAR对被测电路板进行故障仿,真生成故障字典和引导探笔文件,通过Teststudio软件生成最终测试程序。测试系统为Teradyne公司的M9系列板级数字测试系统,系统资源具有128路数字通道,通道速率20MHz。

子阵运算板TPS开发包括软件和硬件两个部分:

1) 软件方面是子阵运算板测试程序(TP)开发。

2) 硬件方面是子阵运算板适配板开发。适配板连接测试仪与被测对象,为被测板提供电源、数字通道等资源。

3.3子阵运算板测试程序开发

由于被测子针运算板的功能复杂,所用元器件含DSP处理器,在开发测试程序时解决了以下难点。

1) 系统使用板内晶振作为系统时钟,不受控,而且系统工作频率为40MHz。在测试时需要断开原晶振,并且外接数字通道模拟系统时钟。由于数字通道速率为20MHz,因此系统无法工作于原来的工作频率,但对于被测板功能测试和故障元件的检测,系统的降频能够满足测试的要求。

2) 被测板采用RC上电复位电路,而测试时,系统的加电和测试是分步进行的,因此需要由数字通道给被测板提供复位信号。复位信号的宽度需要满足系统复位毫秒级的要求,而且系统工作频率是微妙级,在以接拍为单位的测试激励程序编写时调整了复位时段的CPP(CLOCK PER PATTERN),从而减少的激励程序的节拍,从而缩短了仿真和测试的时间。

3) 采用了硬件建模系统开发了DSP处理器TMS320C50的逻辑模型。

3.4子阵运算板测试程序开发流程

子阵运算板测试程序开发流程图如图3。

                       

图3子阵运算板测试程序集开发流程

子阵运算板测试程序开发流程简介如下:

1)制作芯片转接板。它的目的是把原来TMS320C50的132针PFQ表贴封装转换为标准PGA封装,从而与硬件建模系统MS3200的适配器相兼容。

2)编写Shell文件。在充分阅读芯片手册的基础上编写Shell文件。简单器件模型只需编写TMS320C50.MDL、TMS320C50.DEV、TMS320C50.PKG文件和TMS320C50.ADP文件。将Shell文件考入opt\sms\models目录,并修改相应的.login文件内容。

3)建立逻辑模型。运行slam命令,输入MDL文件名TMS320C50.MDL,并创建逻辑模型dsp_lm。

4)插入模型。用slam_insert.csh dsp_lm命令将逻辑模型插入到LASAR库,并将板内其它器件的仿真模型插入到LASAR库中。

5)编译系统模型。将Protel99的原理图dsp.sch中定义输入/输出端口;修改代表逻辑高低电平的VCC和GND以区别器件本身的VCC和GND;生成 EDIF2.0格式的网表,并导出为dsp.edif文件。在LASAR开发环境下用tr m /edif dsp.edif命令转换网表并生成dsp_.net;将网表中器件本身的电源和地去掉,并修改器件名称使之与LASAR模型库中的器件模型相对应。然后在LASAR图形界面中编译系统模型。

6)编写激励文件(.pat文件)。激励文件是系统仿真的输入文件,它模拟被测板工作时的输入信号。本系统模拟的输入信号主要是上电复位信号、时钟信号、数据线地址线信号、以及外部中断等信号,激励覆盖了系统的上电复位、加载程序、执行中断程序等全部功能。

7)运行仿真。将物理芯片TMS320C50放在转接板上并插于160芯PGA适配器中与硬件模型器MS-3200连接,连接好电源和地线。运行lmboot命令引导硬件模型器,接着运行startlm.csh启动硬件模型器,然后在LASAR图形界面中运行好板仿真。仿真完成后可在LASAR中的Analysis选项中的nodlist项加入节点并观察仿真的波形。

8)故障仿真。首先编写故障文件(.flt文件)插入固定和开路故障,并剔除一些系统未用到的管脚故障。编译故障文件后运行故障仿真,仿真结果生成故障检测率报告。

9)根据仿真生成的结果,进一步修改和完善逻辑模型。由于仿真时TMS320C50芯片地址线在复位时状态是不确定的,而好板仿真把此时的信号作为有效信号。在插入故障并进行故障仿真时造成了好板仿真与故障仿真不匹配的现象。因此需添加Variable Declarations文件、State Tracking文件、Delay文件和Force Values文件,并重新执行建立逻辑模型之后的步骤。这些文件使得TMS320C50的逻辑模型在复位状态时的地址线输出无效。这样可以避免仿真将复位时总线上的无效值认为有效。

10)修改激励文件。修改激励文件并重新执行仿真与故障仿真可以进一步提高故障检测率。直到故障覆盖率满足要求(>96%)。

11)生成故障字典。

12)编译探笔文件。在故障字典无法精确定位故障的情况下,探笔可探测被测板内部的节点使得检测结果更精确。

13)建立测试程序dsp.tsp。运行Teststudio软件,新建一个测试程序,插入一个子节点dsp并将该节点设为数字测试执行(Digital Test Execution),然后用Lsrtap Importer将LASAR生成的结果导入TestStudio,加上管脚映射文件(dsp.pmp文件)和电平描述文件(dsp.lvl文件)生成测试文件DSP320C50.dtb(digital test binary file)和探笔文件DSP320C50.gpd(guided probe database file)。

3.5 子阵运算板适配板开发 

    子阵运算板适配板的功能是为被测板的提供供电电源,并且将被测板的输入输出信号引入数字测试系统。由于子阵运算板DSP处理器数据和地址都是在板内连接,没有引出到边缘连接器,因此用芯片夹制作了几根线缆,连接适配板和被测板内部的关键信号,从而提高了测试程序的故障覆盖率和隔离率。

3.6 TPS调试与验证

1) 准备工作。将被测板插于适配板并连接到测试系统,给适配板和被测板加电。

2) 软面板调试。运行dsp.tsp程序,进入Teststudio界面后,运行dsp节点的M9软面板进行调试。通过软面板调试可观察到仿真的结果与实际测试的结果是否一致,如果不一致可能是元件的建模有问题或者激励的编写不够合理,需要修改模型或者激励程序重新进行仿真。

3) Go/No Go测试。软面板调试通过后,在dsp节点中添加一个数字测试诊断(digital test diagnose)输出,设置诊断方式为故障字典、引导探笔方式,并自动启动引导探笔,输出文件为DSP320C50.dia,然后运行节点。好板情况下Go/No Go测试显示通过。

4) 探笔调试。Go/No Go通过后,打开探笔文件,用Debug项对各个节点进行探测和好板学习。

    5) 插入故障验证。在确保不损害被测板的前提下,插入了20个固定到0和固定到1的故障,(包括DSP处理器部分地址线、数据线、读写控制信号等)对子阵运算板TPS进行验证。当发现故障时,节点变红并显示出失败信息,然后会自动启动引导探笔。若故障字典可以直接定位故障,提示故障已经定位的信息,并可选择是否继续运行引导探笔;若不能直接定位,程序会自动运行引导探笔诊断。引导探笔会沿着出现故障的链路逐级探测,直到定位到故障网络。验证结果,所插入20个固定到0和1的故障都可监测,并且隔离到故障管脚,满足测试要求。

4结 语

实践证明,利用ModelSource硬件建模系统可有效地解决高集成度数字电路器件的建模问题。此方法与仿真测试软件LASAR的结合,为复杂数字系统的故障诊断和测试程序的开发提供了一条高效可靠的途径。

参考文献:

[1] Logic Model Development Manual.  [DB/OL] http://www.synopsys.com

[2] Shell Software Reference Manual.  [DB/OL] http://www.synopsys.com

[3] 数字仿真软件(LASAR)课程    海军电子设备测试维修中心

[4] TMS320C5x User’s Guide.   [DB/OL]http://www.ti.com