可测试性设计 指南 Design For Testability (DFT)

介绍

下列准则为使用XJTAG提高电路的可测性提供建议。这些准则不应该被视为规则。在可测性方面的潜在优势应与他们可能产生的其他影响一起考虑(例如,功能,设备成本和电路板面积)。

本文档的读者应该至少熟悉标准IEEE1149.1和1149.6。

1149.x一词在本文档中指的是IEEE1149.x(JTAG)边界扫描标准,JTAG器件是指实现JTAG边界扫描,并完全符合这些标准的器件,而非JTAG器件是那些不能实现JTAG边界扫描的器件。

指定和使用JTAG器件

XJTAG虽然能够测试JTAG器件和非JTAG器件之间的连接,为获得更大的覆盖范围,应尽可能使用JTAG器件。电路中的JTAG器件数量越多,可以充分测试的节点越多。

电容耦合的高速单端或差分信号,无法进行测试使用1149.1测试;可以用1149.6标准测试。为了使用该功能,重要的是要确保以这种方式进行测试的网路中的耦合电容的每一侧上的引脚都有1149.6功能。

检查JTAG器件的BSDL文件

要符合1149.x标准的要求,该器件必须有一个边界扫描描述语言(BSDL)文件。该文件描述了器件具体怎样实现1149.x. 请确保已取得该文件(通常直接从器件制造商的网站获取),并且已通过充分验证(BSDL语法检查是XJTAG的一个组成部分)。

确保1149.x链的正确设计和布局

JTAG设备可以有单个的连接器,以提供TAP信号的访问,然而,它们也可以被连接成一个“菊花链”格式从一个器件的TDO信号连接到下一个器件的TDI信号。

Ensure JTAG chains are correctly designed and laid out

所有设备的TCK,TMS和(可选)nTRST信号必须并联连接在一个“菊花链”格式。重要的是nTRST信号没有直接连接到地,因为这将完全禁用JTAG,不仅对单个器件,还有完整的扫描链。

如果可能,TAP信号要远离其他积极的信号,以降低噪声和提高信号的完整性。串行JTAG接口通常会运行的时钟频率为10MHz到30MHz,差的布局可以导致难以确定的错误,并可能需要重新制板。

与电源或接地线分离TAP信号可以帮助诊断非正常运行的JTAG链上的问题,一个TAP信号短路到一个恒定的信号比两个TAP引脚短接在一起更容易诊断。

为所有TAP信号使用正确的终止

TCK应与一个68Ω的电阻和一个100pF的电容串联接地,尽可能接近信号进入测试链中的最后器件的位置。 TDI和TMS应该通过10kΩ上拉电阻接电源。 TDO应该通过一个10kΩ上拉电阻接电源,并在测试链最末器件附近串联一个22Ω电阻。此外,还建议为nTRST添加到一个10kΩ下拉电阻以避免浮动输入。

Use correct termination for all TAP signals

多个JTAG链

开发或编程过程中,可能有一些器件需要直接连接到其自己的接口,用于调试。添加选项把这些接口链接成一条测试链对制造测试有益,并同时在生产过程中降低BOM(物料清单)及处理成本。 XJTAG XJLink2的控制器可以连接多达四个JTAG接口板。

接口设计

JTAG Connector design

在指定JTAG接口上信号位置时,考虑可能的串扰/干扰问题是重要的。积极信号与接地交错可将这些影响降至最低。如果在接口上可用的引脚数量使得这样做不切实际,则优先在TCK旁边的接地。如果这不可能,那么使用一个在JTAG扫描中不太可能改变的信号,如复位,nTRST。

特别重要的是,避免在任何TCK信号附近放置TDO。 TDO转换发生在TCK的下降沿,因此来自TDO的串扰可能在TCK上导致毛刺,破坏数据。

非常重要的是,在JTAG接口和被测板之间的有一个强大的接地连接。如果在JTAG接口上有任何备用引脚,那么添加额外的接地信号将是有益的。XJLink2有固定接地引脚10和20,所以连接这些会提高信号的完整性。

理想情况下,每一个新的设计将使用相同的接口类型和信号布局,使电缆可以被重用。

将TAP信号连接到其他接口的备用引脚可以访问即使未安装接口或无法访问到扫描链。

JTAG模式选择

在某些器件上的TAP引脚可以被配置为1149.x边界扫描以外的功能,所以重要的是,确保设计不会阻止器件被用于JTAG测试。通常这些引脚的功能配置是通过在将它是复位时采样该器件的其他引脚。根据不同的设计要求,此配置可以通过几种方法实现:

  • 如果边界扫描是TAP引脚的唯一功能,配置引脚可以连接到所需的水平。
  • 如果边界扫描是这些引脚占主导地位的功能,但可能需要其他功能,则可选合适的电阻通过对电路板的小改变配置引脚的高低变化。
  • 如果需要能够简单的切换功能,配置信号可以被引出到外接接口。上拉或下拉电阻可以用来定义默认的状态,然后可以由控制器(如XJLink2)将其重写。

各种德州仪器的处理器上的EMU0和EMU1引脚是这样的配置引脚一个常见的例子,其他包括Freescale处理器的Mode引脚和AT91系列处理器JTAGSEL信号。

这些引脚所需的值在器件数据表/参考手册中定义,但他们可能也将显示在器件BSDL文件的COMPLIANCE_PATTERNS部分。

考虑时钟同步器件

许多同步器件可以通过边界扫描测试,但是这将依赖于时钟源。例如,SDRAM,只能在时钟由1149.x兼容器件控制时测试。如果一个自由运行的时钟直接连接到SDRAM,那么将无法使边界扫描测试向量与该时钟实时同步。

如果有一个可配置的JTAG器件,如CPLD或FPGA,那么将时钟源通过该器件连接到SDRAM或时钟缓冲器,以最大限度地提高测试覆盖范围,如下所示。

Clock to synchronous devices

同样重要的是确保任何时钟缓冲器没有最小工作频率。一些时钟缓冲器具有一个特殊的控制输入,以允许低频信号。这样的信号必须从JTAG启用引脚访问。

其他设备,如以太网PHY和交换机,需要一个特定频率的时钟输入来工作。在这些情况下,重要的是,确保系统时钟不是1149.x的使能引脚提供的。晶体或振荡器应该被连接到不兼容器件,可以直接或通过一个时钟缓冲器。

当不可能使用边界扫描与非兼容器件在该速度互动;提供一个合适的时钟往往会允许一定程度的测试,否则不会有可能。

考虑看门狗操作

提供链接或1149.x可控的逻辑,以确保在测试过程中,可以禁用看门狗操作。在测试过程中看门狗未收到定期输入使复位事件时产生,会产生意想不到的测试结果甚至阻止测试完成。

下载完整的可测试性设计指南电子书

Further points covered:

  • 测试与未配置的FPGA和CPLD
  • 确保TAP信号之间低偏移
  • 提供访问以帮助定位扫描链错误
  • TAP信号缓冲和电压等级分离
  • 旁路任选安装的1149.x兼容器件
  • 在1149.x链中包括可选的附加板
  • 如果ASIC的设计或定制包括1149.x兼容
  • 从1149.x链访问可编程器件
  • 提供编程信号的直接访问
  • JTAG器件环绕逻辑集群
  • 通过接口扩展1149.x测试
  • 考虑将多板作为一个单元测试
  • 测试模拟电路
  • 不要依赖于可编程上拉电阻
  • 考虑使用边界扫描器件的功能
  • 使用非1149.x器件的测试功能
  • 交互测试
  • 编写非易失性存储器
  • 快速闪存编程
  • JTAG词汇表

Want to be the first to know of new eBooks and JTAG Resources?

Find out how XJTAG can help you test your PCB faster
From Prototype To Manufacture