`
isiqi
  • 浏览: 16051146 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

边界扫描器件BSDL描述在测试中的应用

阅读更多
1 引言
“边界扫描”是一种可测性设计技术,即在电子系统的设计阶段就考虑其测试问题[1]。
BSDL(boundary scan des cription language) 语言硬件描述语言(VHDL)的一个子集,是对边界扫描器件的边界扫描特性的描述,主要用来沟通边界扫描器件厂商、用户与测试工具之间的联系,其应用包括:厂商将BSDL描述作为边界扫描器件的一部分提供给用户;BSDL描述为自动测试图形生成(ATPG)工具测试特定的电路板提供相关信息;在BSDL的支持下生成由IEEE1149.1标准定义的测试逻辑 [2]。现在,BSDL语言已经正式成为IEEE1149.1标准文件的附件。BSDL本身不是一种通用的硬件描述语言,但它可与软件工具结合起来用于测试生成、结果分析和故障诊断。每一边界扫描器件都附有特定的BSDL描述文件,为了论述的方便,本文将以Altera公司的CPLD器件EPM7128SL84 芯片为例说明BSDL描述在测试中的应用。
2 EPM7128SL84芯片的BSDL描述
该器件采用了先进的CMOS EEPROM制造工艺,共有84个引脚,其中包括四个JTAG测试引脚 TDI、TMS、TCK和TDO,通过标准JTAG测试接口它还可以支持在系统可编程(ISP)。下面首先讨论EPM7128SL84的BSDL描述中与应用相关的各基本元素。
2.1 TAP描述
TAP描述说明与TAP控制器相关的特性。TAP 控制器包括4个或5个控制信号,一个用户定义的指令集(在IEEE1149.1标准规定范围内)和一些可选择的数据寄存器。EPM7128SL84的TAP描述有:
(1)attribute INSTRUCTION_LENGTH of EPM7128SL84:entity is 10;
指令长度(INSTRUCTION_LENGTH)属性定义了所有操作码的长度必须为10位。
(2)attribute INSTRUCTION_OPCODE of EPM7128SL84:entity is
“BYPASS (1111111111), ”&
“EXTEST (0000000000),”&
“SAMPLE (0001010101),”&
“IDCODE (0001011001)”;
指令操作码(INSTRUCTION_OPCODE)属性指出器件所支持的指令的二进制代码,如器件标志代码指令IDCODE的位图形为“0001011001” ,所有字串中最右边的位最靠近TDO。根据1149.1标准,旁路、外部测试和采样指令是强制性的,且旁路指令BYPASS为全“1”串,外部测试EXTEST指令为全“0”串。
(3)attribute INSTRUCTION_CAPTURE of EPM7128SL84:entity is "0101010101";
指令捕获(INSTRUCTION_CAPTURE)属性说明,当TAP控制器处于捕获指令寄存(Capture-IR)状态时,位图形“0101010101”被装入指令寄存器的移位寄存器部分,当送入新指令时,此位图形被移出,IEEE 1149.1标准规定其最低两位为“01”,其余位由厂商自行定义,这样可以保证通过Capture信号可以检测到扫描链上固定为“0”和固定为“1”的故障。
(4)attribute IDCODE_REGISTER of EPM7128SL84:entity is
"0000"&"0111000100101000"&"00001101110"&"1";
标志寄存器属性描述芯片内置在标志寄存器里的芯片ID码。IEEE 1149.1标准规定芯片ID码为32位,最右边的一位是最靠近TDO的。如图1所示,标志寄存器的LSB是IEEE 1149.1标准强制为“1”的最低位,表示器件标志寄存器的存在;第1位至11 位是厂商代码号“01110110000”,这个代码表示Altera公司;第12位至27位是芯片型号 “0001010010001110”,即十六进制“7128”(从右至左);第28位至31位是芯片版本号“0000” [2]。

2.2 边界扫描寄存器描述
这是BSDL整体结构的最重要部分,它描述了边界扫描单元(BSC)的长度及每个BSC的单元号与属性。
(1)attribute BOUNDARY_LENGTH of EPM7128SL84:entity is 288;
边界扫描长度属性表示EPM7128SL84芯片共有 288个边界扫描单元。
(2)attribute BOUNDARY_REGISTER of EPM7128SL84:entity is
--num(cell, port, function, safe [ccell, disval, rstl])
"0 (BC_4, IN84, input, X)," &
"1 (BC_4, *, internal, X)," &
"2 (BC_4, *, internal, X)," &
……
"144 (BC_4, IO41, input, X)," &
"145 (BC_1, *, control, 0)," &
"146 (BC_1, IO41, output3, X, 145, 0, Z)," &
……
"279 (BC_4, IO4, input, X)," &
"280 (BC_1, *, control, 0)," &
"281 (BC_1, IO4, output3, X, 280, 0, Z)," &
……
"285 (BC_4, IN1, input, X)," &
"286 (BC_4, *, internal, X)," &
"287 (BC_4, *, internal, X)";
对边界扫描寄存器单元(BSC)属性的描述由单元号与4个或7个圆括号内的数据子段组成,这些BSC的排列顺序可以是任意的,但每个单元都必须被定义。单元号从0到287 (BOUNDARY_LENGTH-1)进行编号,0单元是最靠近TDO的单元。括号中数据子段的名称为: cell, port, function, safe [ccell, disval, rstl],后三个方括号内的可选子段只有在function子段的值为 out put3或bidir时才被定义。它们的含义如下:
● 单元子段:确定器件所使用的边界扫描单元。EPM7128SL84芯片采用的BSC类型为标准单元 BC_1与BC_4,其属性已经在VHDL组件STD_1149_1_1994中加以定义;
● 通道子段:说明与对应BSC相连的系统管脚。其名称与BSDL“logical port des cription”属性中描述的管脚逻辑名称相一致。“*”表示此BSC 为输出控制单元或内部单元;
● 功能子段:表示该BSC的主要功能。EPM7128SL84芯片BSC所涉及的功能有“input”、 “control”,“output3”和“internal”4种;
input:表示一个简单的实现输入管脚接收的 BSC;
control:表示一个进行输出使能控制,或输出驱动与双向管脚的单元方向控制的BSC;
output3:表示一个为三态输出提供数据的 BSC;
internal:表示一个用于捕获系统内部逻辑的 BSC,它不与任何系统管脚相连;
● 安全子段:当ATPG软件提供一个额外随机值时,safe子段定义了一个要装入捕获寄存器CAP 与更新寄存器UPD(如果存在的话)的值,以防止系统逻辑因为过激励信号等原因造成的错误连接。这个值可以是“0”,“1”或“X”。“X”表示“0”,“1”均可;
● 控制单元子段:说明对功能为output3或bidir的BSC进行输出使能控制的控制单元号;
● 无效值子段:为禁用对应的系统管脚,要给由ccell子段指定的控制单元赋的值;
● 无效状态子段:给出被禁用驱动器的状态。这个状态可以是高阻态(Z)、弱“1”态(weak1)或弱“0”态(weak0)[2]。
EPM7128SL84芯片的管脚与边界扫描单元如图2所示,与输入输出管脚IO41相对应的三个BSC单元号分别为144,145和146。


3 BSDL描述语言的实际应用
3.1 TAP完整性测试
指令捕获(INSTRUCTION_CAPTURE)属性提供了测试TAP完整性的一条途径。TAP完整性测试可以检测时钟TCK和模式选择TMS的输入端连接是否正确,所提供的有关信号是否正常;数据输入TDI和数据输出TDO端的连接是否正确,且输入和输出的功能是否正常;内部的指令寄存器工作是否正常;内部的边界扫描寄存器工作是否正常。TAP完整性测试是进行边界扫描其他任何测试之前建议首先进行的测试操作,以确保边界扫描链能正常工作。
TAP完整性测试的过程如图3所示。在TAP的 Shift-IR状态,指令捕获位图形已加载至指令寄存器的移位寄存器部分,直接从TDO移出数据并与各芯片的Capture位图形比较,若数据一致则TAP完整性测试通过。


3.2 芯片ID码的检测
芯片ID码是识别芯片的内建器件标识码,通过检测芯片ID码可以识别该芯片,判断芯片装配正确与否,并可进一步判断芯片的型号、生产厂家及版本号与其标识是否相符,辨别芯片的真伪。当TAP进入Test-Logic-Reset状态时,若标志寄存器存在,则被强制接入TDI与TDO之间,寄存器LSB的值为“1”,否则,旁路寄存器被接入TDI与TDO之间,寄存器的值为“0”。所以,在检测芯片标志寄存器的值时,可以由复位状态直接进入移位数据状态,输出TDO的值,并判断其第一位是否为“1”,若是,则此芯片有标准寄存器存在,可继续移出其他31位,并进行判断与显示。检测流程如图4所示。我们在对芯片EPM7128SL84进行ID标识码检测时,用逻辑分析仪采集到的TDO端的输出波形如图5所示,与BSDL描述中的ID码一致,说明器件正确。

3.3 边界扫描互连测试
我们在开发边界扫描测试软件过程中,设计制作了基于边界扫描机制的试验电路板当作诊断实验对象。其中两块EPM7128SL84芯片间的有16个互连网络,分别是两芯片的4~12管脚之间、33~41管脚之间的互连(除去7脚地线,38脚电源线)。在进行互连测试时,首先要构造一个16×16的测试矩阵,然后将此矩阵的16个列向量分别加载到芯片1的IO4~ IO12,IO33~IO41管脚(除去7脚和38脚),然后执行外部测试指令。由芯片2捕获对应管脚上的信号,形成响应向量,全部16个列向量分别加载捕获完成后,再对响应矩阵进行故障诊断 [3],如图6所示。在此测试过程中,对芯片1的IO管脚加载的向量数据必须定位到每个管脚对应的三态输出单元,即芯片1的281,278,275,269,263,260, 257,251,179,173,167,164,161,155,149,146单元;而芯片2所捕获的对应管脚上的信号,在执行采样指令之后,都被置入每个管脚对应的输入单元,即芯片2的279,276,273,267, 261,258,255,249,177,171,165,162,159,153,147,144单元。这样,从TDO输出的对应单元的数据就组成了响应矩阵,对响应矩阵按照一定的算法进行分析,便可检测出呆滞、短路、开路与桥接故障。


4 结束语
以上所述测试流程均用C++ Builder编程实现,能对基于边界扫描机制的试验电路板进行准确、可靠的测试。试验证明,在边界扫描各项测试中,对BSDL描述信息进行有效的编译提取,对测试的成功实现至关重要。但器件的BSDL描述必须严谨、确切,所以,在下一步的软件完善中,将加入BSDL 文件的数据完整性检查,以防止错误数据损坏被测对象。
本文摘自《半导体技术》

分享到:
评论

相关推荐

    边界扫描器件BSDL描述在测试中的应用.txt

    边界扫描”是一种可测性设计技术,即在电子系统的设计阶段就考虑其...每一边界扫描器件都附有特定的BSDL描述文件,为了论述的方便,本文将以Altera公司的CPLD器件 EPM7128SL84 芯片为例说明BSDL描述在测试中的应用。

    S3C2410BSD

    是对边界扫描器件的边界扫描特性的描述,主要用来沟通边界扫描器件厂商、用户与测试工具之间的联系,其应用包括:厂商将BSDL 描述作为边界扫描器件的一部分提供给用户;BSDL描述为自动测试图形生成(A T P G )工具...

    BSDL边界扫描语言

    边界扫描是一个完善的测试技术。 边界扫描在自当联合测试行动组(JTAG)90年代初发明了一种解决方案来测试使用了许多新的印刷电路,正在开发和制造的地方几乎没有或根本没有... 因此,边界扫描描述语言(BSDL)已建立。

    Boundary_scan.doc

    边界扫描器件BSDL

    边界扫描测试技术原理.ppt

    1、了解边界扫描器件的基本结构; 2、了解边界扫描测试技术的原理; 3、了解边界扫描描述语言BSDL的基本格式; 4、了解边界扫描测试技术的主要应用; 5、了解边界扫描JTAG接口的设计规范;

    BSDL概述.pdf

    BSDL(boundary scan description language)语言硬件描述语言(VHDL )的一个子集,是对边界扫描器件的边界扫描特性的描述,

    BSDL_Generation_Verification_System

    jtag边界扫描技术bsdl文件格式规范

    PPC603EV边界扫描文件

    PPC603EV边界扫描文件

    jtag-boundary-scanner:JTAG边界扫描调试和测试工具

    JTAG边界扫描仪JTAG边界扫描板调试/测试软件JTAG边界扫描仪是一种JTAG软件工具,用于调试或测试具有JTAG接口的任何电子板。主要特点Windows版本GUI。 在C中实现。 BSDL文件支持。 目标IO引脚的采样和控制模式...

    BSDL测试详细介绍(boundary scan)

    Boundary scan边界扫描技术,在layout不了测点的情况,通过简单的信号驱动达到增加可测率的目标.

    libbsdl:我的实验库,用于读取BSDL(边界扫描定义库)

    libbsdl 我的实验库用于读取BSDL(边界扫描定义库)。 我希望最终它会被OpenOCD和其他人使用。 我也一直在以一种更有限的方式使用它来为gEDA和朋友生成符号的想法在玩弄。 从长远来看,有很多人想要开源的VHDL工具,...

    Aterla公司的BSDL文件

    应用JATG扫描的必备文件,Aterla公司的BSDL文件

    如何读BSDL文件.doc

    如何读BSDL文件

    s3c44b0x.bsdl

    BSDL(boundary scan description language)语言硬件...现在,B S D L 语言已经正式成为IEEE1149.1标准文件的...BSDL本身不是一种通用的硬件描述语言,但它可与软件工具结合起来用于测试生成、结果分析和故障诊断。

    使用STM32初探边界扫描(Boundary Scan)

    1使用STM32做了一个JTAG时序模拟 。 2能够测试BYPASS指令,读出ID,以及读出IO状态。 3包含源工程, 源文件,参考PDF和BSDL文件。

    EDA名词解释

    BSDL:边界扫描描述语言(Boundary-Scan Description Language) BST:边界扫描测试(Boundary-Scan Testing) CAD:计算机辅助设计(Computer - Aided Design) CAE:计算机辅助工程(Computer Aided Engineering) ...

    winbond的w90n740的bsdl文件

    wingbond的arm芯片w90n740的bsdl文件,为设计基于w90n740平台的开发提供帮助

    bsdl.rar_All I Have_bsdl

    all the bsdl files rear files only i have it

    bsdl.rar_BSD\L_bsdl_bsdl下载网

    badl file source code,用于在Basic语言环境下测试BGA

    tricore_bsdl_collection_TC297JTAG_Tricore_jtag_bsdl_

    BSDL definitions for Tricore MCU JTAG

Global site tag (gtag.js) - Google Analytics