<?xml version="1.0" encoding="gbk"?> <rss version="2.0"><channel> <title>定阅帖子更新</title> <link>http://www.broadkey.com.cn/XML.ASP</link><description>TEAM Board - 科伟奇电子</description> <copyright>TEAM 2.0.5 Release</copyright><generator>TEAM Board by TEAM5.Cn Studio</generator> <ttl>30</ttl><item><link>http://www.broadkey.com.cn/Thread.asp?tid=450 </link><title>JTAG边界扫描的嵌入式计划</title><author>牧马人</author><pubDate>2009/12/16 9:01:44</pubDate><description><![CDATA[1990年，IEEE批准了被称为<a style="color: blue; text-decoration: underline" title="边界扫描" href="http://article.ednchina.com/word/178649.aspx">边界扫描</a>的1149.1标准。该标准由联合行为测试组(<a style="color: blue; text-decoration: underline" title="JTAG" href="http://article.ednchina.com/word/178648.aspx">JTAG</a>)开发，其开发用于帮助解决由日益增加的较大规模IC和高密度多层印制电路板(PCB)所引发的不可阻挡的测试问题。
<p>　　测试PCB的老式&ldquo;钉床&rdquo;测试方法已不再能满足工作，并无法进入到电路中，甚至IC上的管脚，这使得测试变得极其困难。具备边界扫描，IC和电路板制造商就能够提供完全自动化测试。</p>
<p>　　多年来，该标准已作了定期更新，并且所有硬件和软件制造商已经出现支持测试的努力。由于近来的变化，该标准成为<a style="color: blue; text-decoration: underline" title="嵌入式" href="http://article.ednchina.com/word/178650.aspx">嵌入式</a>设计平台的一部分。边界扫描现在存在于被称为嵌入式仪器的新的测试和测量方法的核心。</p>
<p>　　<strong>JTAG满足的测试</strong></p>
<p>　　过去，电路板直接进行功能测试，电路板接通电源和激励信号，来考察其是否能满足设计(图1)。测试将在正常的设计频率和速度下执行。这样的测试是在钉床型的在线测试仪(ICT)上实现的。缺陷被发现并修复。</p>
<p align="center"><img border="0" hspace="0" alt="电路板直接进行功能测试" width="400" height="159" src="http://pagesadmin.ednchina.com/images/article/22a7c627-2882-45ab-beb4-0483a8e36396/1.gif" /></p>
<p>　　然而，多年的测试经验已经表明，最大的失败是结构性。一些统计数字表明，99％以上的所有错误并不在于不良IC或设计错误，而是在于PCB板和焊料的缺陷，例如开焊点、冷焊点、焊盘翘起、焊点桥接、扭转部分，以及其他物理问题。这就是为什么要对最复杂的电路板进行测试，在功能性ICT之前要检测结构性问题。</p>
<p>　　例如，在复杂PCB板装配后，第一步就是目视检查。工程师可以手动和眼看电路板，来检查是否所有部件都具备，并且方向正确且焊接正确。这一步还可能包括光学机器视觉检查和/或X光检查。二者在检测初步的缺陷中都是有用的，这包括了不良焊接或无焊接。</p>
<p>　　结构性测试是下一步。这里是在进行边界扫描。其提供了对开路、短路和无焊接，以及其他方法无法确定的不良焊接进行详细测试的方法。采用边界扫描，该项测试自动识别问题，从而快速进行修复和校正。</p>
<p>　　这之后，进行通常的功能性测试。继续采用ICT或钉床测试头，这实现了与电路板铜和焊料的连接，从而提供了测试信号和测量。功能性测试与修复之后，进行整体的系统测试，从而结束这一过程。这种系统测试包括了环境影响评价，以及软件和配置过程。</p>
<p>　　<strong>JTAG标准概述</strong></p>
<p>　　边界扫描后的基本思想是，因为在IC中或某些PCB板上的大部分点是无法进入的，设计师可以建立测试/接入电路，这将使得工程师可以读取特定节点的状态或者用外部信号来激励一个节点。</p>
<p>　　目前，许多(大部分)大规模IC、球栅阵列(BGA)、系统级芯片(SoC)、ASIC、FPGA，以及多芯片模块都具有内置的边界扫描电路。多层的高密度PCB也提出了测试问题。这个概念是建立了大量测试接入点，以便完整的电路或其中一部分可以进行外部测试。</p>
<p>　　图2表示了基本的边界扫描结构。要测试的IC逻辑块被连接到多个边界扫描单元。当生产该芯片时，这些单元是与IC电路是一起建立的。每个单元可以监测或激励电路中的一个点。采用触发器和多路复用器，该单元可以用于任何并入/并出或串入/串出操作(图3)。</p>
<p align="center"><img border="0" hspace="0" alt="基本的边界扫描结构" width="400" height="575" src="http://pagesadmin.ednchina.com/images/article/22a7c627-2882-45ab-beb4-0483a8e36396/2.gif" /></p>
<p align="center"><img border="0" hspace="0" alt="采用触发器和多路复用器" width="400" height="301" 串出操作="" 并出或串入="" src="http://pagesadmin.ednchina.com/images/article/22a7c627-2882-45ab-beb4-0483a8e36396/3.gif" /></p>
<p>　　然后这些单元串行链接形成长的移位寄存器，该寄存器串行输入、指定测试数据输入(TDI)，并且测试数据输出(TDO)串行输出端口成为JTAG接口基本的I/O。移位寄存器由外部测试时钟(TCK)来提供时钟。为了给电路提供激励，测试位移入到寄存器中。即所谓的测试向量。</p>
<p>　　为了监测进行测试的电路，对电路的状态进行采样，并存储在移位寄存器中。然后，其串行移出，其中软件用来将测试模式与所预期的模式进行比较。当在PCB板上使用多个具备JTAG功能的芯片时，每个芯片的串行数据I/O与所有其他部分是串行链，并且最终的结果出现在单一的JTAG接口上。</p>
<p>　　TCK速率与任何系统时钟无关。TCK是独立的时钟，通常在10到100MHz范围内；10、25和40MHz速率是很常见的。</p>
<p>　　除了串入、串出和时钟信号，还提供了测试模式选择(TMS)输入，以及可选的测试复位引脚(TRST)。TMS、TCK、TRST信号用于16-状态的有限状态机，即测试访问端口(TAP)控制器。随着外部二进制指令，其控制了所有可能的边界扫描功能。</p>
<p>　　在图2中的指令寄存器解码了四个强制指令(Extest、Bypass、Sample和Preload，参见下表)中的一个。可选指令为Intest、Idcode、Usercode、Runbist、Clamp和HighZ。</p>
<p>　　当执行Idcode时，对永久储存在32位识别寄存器中的设备识别码进行扫描输出。当运行Bypass指令时，TDI通过1位旁路寄存器连接到TDO。不再需要部分测试时，这就缩短了串行边界寄存器。在某些提供内建自测试(BIST)电路的芯片中，也有结果数据寄存器。该寄存器的输出可以使用Runbist指令来移出。　<a style="color: blue; text-decoration: underline" title="JTAG" href="http://article.ednchina.com/word/178648.aspx">JTAG</a>接口I/O线通常连接到接口卡或盒，再连接到PC上。接口盒包括了存储器，该存储器加载了测试向量位。其还存储了中间结果，并与PC进行通信，PC测试软件驻留在存储器中。商业软件提供了按照测试需要将数据移入和移出器件或PCB板的方法。</p>
<p>&nbsp;</p>
<p align="center"><img border="0" hspace="0" alt="商业软件提供了按照测试需要将数据移入和移出器件或PCB板的方法" width="200" height="368" src="http://pagesadmin.ednchina.com/images/article/22a7c627-2882-45ab-beb4-0483a8e36396/4.gif" /></p>
<p>　　部分JTAG标准定义了<a style="color: blue; text-decoration: underline" title="边界扫描" href="http://article.ednchina.com/word/178649.aspx">边界扫描</a>描述语言(BSDL)，它定义了所有的边界扫描特性，功能以及在每颗IC内构建的逻辑。芯片供应商为每颗IC提供了供其使用的BSDL文件。</p>
<p>　　测试软件需要两件事来进行PCB板测试：用于PCB板上每颗芯片的BSDL文件，以及定义了PCB板上连接的电路板网表。有了这一数据，测试软件生成程序功能就创建了基本的测试程序和序列。然后，它就可以执行测试。此后，该软件会提供一份结果报告。</p>
<p>　　如前所述，多年来，原始的JTAG标准已经进行了更新和补充。以下是目前IEEE标准名称的摘要：</p>
<ul>
    <li>IEEE 1149.1：已经多次作了修订和更新的原始标准。</li>
    <li>IEEE 1149.4：混合信号器件的<nobr style="border-bottom: rgb(102,0,255) 1px dotted; background-color: transparent; color: #cb4bfc; cursor: pointer; text-decoration: underline" id="nobr93" jquery1260925283449="52">模拟</nobr>边界扫描；针对模拟输入和模拟输出测试增加了两个额外的引脚；没有被广泛使用。</li>
    <li>IEEE 1149.6：AC边界扫描；用于测试高速I/O的电容耦合版本，例如低压差分信号(LVDS)。</li>
    <li>IEEE 1149.7：已经减少了引脚数量的版本(五到两个进行复用)，并增强了功能测试。</li>
    <li>IEEE 1532：在线系统配置；采用边界扫描来对闪存、<a style="color: blue; text-decoration: underline" title="嵌入式" href="http://article.ednchina.com/word/178650.aspx">嵌入式</a>控制器的存储器、复杂可编程逻辑器件(CPLD)和FPGA来进行编程。</li>
    <li>IEEE P1581：静态器件互连测试，用于存储器器件。</li>
    <li>IEEE P1687：嵌入式仪器的访问和控制，其处理更高速度、更高密度的芯片、电路板和系统的测试；称为IJTAG(内部JTAG)的标准尚在计划之中；了解更多详情，请访问<a href="http://grouper.ieee.org/groups/xxxx"><font color="#216b8a">http://grouper.ieee.org/groups/xxxx</font></a>，其中xxxx为1149、1532、1581或1687。</li>
</ul>
<p>　　市场上硬件和软件产品关键是具备成功的边界扫描应用。JTAG科技公司的JT 37x7/APC插入到安捷伦3070中，这是一种在自动测试设备(ATE)电路板测试中广泛使用的ICT产品(图4)。</p>
<p align="center"><img border="0" hspace="0" alt="在自动测试设备" width="400" height="179" src="http://pagesadmin.ednchina.com/images/article/22a7c627-2882-45ab-beb4-0483a8e36396/5.gif" /></p>
<p>　　据该公司称，将结构性和功能性测试相结合，以及一款产品中的系统内编程在测试速度和精度上产生了经济和收益。机架式的版本为集成到现有测试系统中提供了方便。</p>
<p>　　边界扫描应用成功的最终&ldquo;秘诀&rdquo;是软件。在ASSET InterTech公司的ScanWorks套件中基于PC的工具可以配置为设计验证，并在生产过程中首次出现在开发环境、测试建立、应用和诊断中，在处理器和FPGA/CPLD的Flash和逻辑编程中，以及在现场测试和修复期间的故障排除和诊断中。该公司还具有一系列完整的硬件配件来配合ScanWorks。JTAG科技公司也有类似的软件，即JTAG ProVision和JTAG Visualizer。</p>
<p>　　<strong>边界扫描的应用</strong></p>
<p>　　原来的边界扫描系统是建立用来方便进行高密度PCB板产品测试的。它已被迅速合并到许多IC中。在每颗芯片中具备边界扫描功能，PCB板可以在IC之间进行短路、开路以及互连的充分测试。尽管这仍然是边界扫描的主要应用，但其他应用也已经出现。边界扫描目前广泛应用在产品设计、样机调试和现场服务中。</p>
<p>　　在产品开发中，边界扫描是测试和调试电路板原型的好方法。对于体积小、多层、高密度、BGA封装和窄间距IC的复杂PCB板，其可以在没有特别的在线测试装置下进行测试。这是因为目前使用的大部分主要IC都结合了JTAG端口。这对几乎每个嵌入式控制器和处理器，以及大部分CPLD和FPGA尤其如此。</p>
<p>　　对于特定CPU上软件的调试，JTAG接口可以用来从CPU下载代码，预加载，运行程序，然后查看寄存器和存储器的内容，从而确定正确的操作。JTAG还广泛用于仿真。采用适当的软件，可以建立测试程序来测试和调试产品。</p>
<p>　　目前JTAG的关键作用就是对IC进行编程。嵌入式控制器可以具有其内部的编程闪存。任何可编程芯片都可以按照其JTAG接口的需要进行初步编程和更新。FPGA和CPLD同样可以进行编程，并在后来按照要求进行更新。当对PCB进行装配时，这允许安装未编程的芯片，在装配之前对芯片进行编程可以节省额外的时间和成本。可以在最后的功能测试之前进行编程。</p>
<p>　　边界扫描也已实现了现场服务、执行软件升级、更新闪存ROM，或编程CPLD或FPGA。此外，它可以用于基本的故障诊断功能，从而快速精确地找出问题。</p>
<p>　　由于可测性设计(DFT)和BIST特性已结合到更新、更复杂的芯片中，JTAG已起到作用。到目前为止，更大规模的SoC以及在最终产品中更难以单独测试。因此，芯片设计师已向这些芯片中嵌入了额外的硬件，以便其能够对自己进行测试。该功能极大减少了芯片的测试时间和成本，并在很多情况下，其可以消除对昂贵ATE的需要。</p>
<p>&nbsp;</p>
<p>　　尽管BIST硬件明显增加了芯片的硅面积，但其与全芯片电路相比通常很小。额外的电路也会降低性能、造成时间问题，并增加其他无用开销。不过，为了能够更快更便宜地测试芯片与系统，通常这些缺点是无足轻重的。<br />
有几种类型的BIST分类，如逻辑BIST和存储器BIST(图5)。<nobr style="border-bottom: rgb(102,0,255) 1px dotted; background-color: transparent; color: #cb4bfc; cursor: pointer; text-decoration: underline" id="nobr93" jquery1260931532762="53">模拟</nobr>BIST并不常见，但对模拟和混合信号测试有着不断增加的需求。伪随机测试模式发生器有助于创建待测电路(CUT)的测试信号。然后电路的输出被储存在一个或多个结果寄存器中，这将被扫描输出来进行分析。</p>
<p align="center"><img border="0" hspace="0" alt="有几种类型的BIST分类" src="http://pagesadmin.ednchina.com/images/article/22a7c627-2882-45ab-beb4-0483a8e36396/6.gif" width="500" height="296" /></p>
<p>　　在某些情况下，也在片内作了对理想结果的比较，以便输出是简单的通过/失败指示。在更新的BIST中，输入和输出均通过数据压缩处理来极大降低测试位和用来进行分析的输出数据的数量。在具有数以亿计电路的更大规模芯片中，测试数据量可以击败测试工程师，更不用提任何测试设备了。</p>
<p>　　通常，庞大的测试向量文件被压缩后发送到BIST电路。然后，测试位被解压缩并用于测试。最后，输出结果在读出之前被压缩。压缩提供了压缩高达100倍的输出字或符号，这对于分析最为方便和快捷。</p>
<p>　　此外，压缩被用来阻止黑客通过读取扫描链来窃取数据，密钥和IP机密。压缩基本上解决了这一问题。Mentor Graphics公司的TestKompress就是一个这种压缩的例子。</p>
<p>　　在芯片内实现BIST的另一种方法就是连接所有触发器和寄存器串联进入扫描链，这可以提供进入测试状态或检索储存在链中的测试结果的一种方法。复杂的芯片可能有多个扫描链，而不是一条长的串行链，这种长的串行链可能会减慢测试。将测试向量位扫描到芯片中，然后其可以在设计速度下进行功能测试。</p>
<p>　　在测试中的某些点，捕获事件出现来存储测试结果，然后再移出来与理想输出进行比较。对这两种类型的BIST，<a style="color: blue; text-decoration: underline" title="JTAG" href="http://article.ednchina.com/word/178648.aspx">JTAG</a>可能在其用于输出测试的数据寄存器中用于插入测试位或捕获输出结果。就目前的情况而言，对于如何通过BIST使用JTAG并没有标准，但IEEE 1687努力希望能对这方面进行弥补。</p>
<p>　　<strong>欢迎<a style="color: blue; text-decoration: underline" title="嵌入式" href="http://article.ednchina.com/word/178650.aspx">嵌入式</a>仪器</strong></p>
<p>　　由于半导体特征尺寸持续缩小到65nm及以下范围，芯片密度和复杂性不断增加，使得供应商可以将更多电路集成到单一芯片中。这些更小几何尺寸也允许更高的数据速率，以及高达5GHz的频率。正是这些导致更测试这些芯片和电路板更为困难。</p>
<p>　　该问题已经迫使芯片供应商要超越扫描链和JTAG来创立创新的技术来对这些先进芯片的电路进行读取和测试。有些是芯片供应商的专利，而有些可用于与JTAG进行连接。总之，这些技术被称为嵌入式仪器。</p>
<p>　　这一测试问题对大多数新计算机和其他设备中所采用的最新高速串行总线而言特别紧迫。PCI Express、光纤信道、10Gb/s以太网、串行ATA(SATA)、全缓冲DIMM(FBD)，以及其他的例子。</p>
<p>　　相当大的失真和信号衰减发生在5Gb/s速度及以上，甚至超过几英寸的PCB线宽，很难真正了解信号看起来像什么。连接这样的线范围，甚至会引入进一步的失真。由于这种传统方法已不再有用，新的嵌入式测试方法是针对制图板。</p>
<p>　　该计划移动部分或全部测试仪器或片内电路。嵌入式仪器是BIST的扩展。它一般可以定义为任何设计验证、测试或对嵌入在内核、SoC、系统级封装(SiP)、电路板，或系统中的IP进行调试，这些可以通过设计、测试或制造的使用来实现测试、测量或其他工程任务。</p>
<p>　　因为嵌入式仪器尚在起步阶段，并没有标准。但IEEE 1149.1 JTAG组提出了<a style="color: blue; text-decoration: underline" title="边界扫描" href="http://article.ednchina.com/word/178649.aspx">边界扫描</a>标准的扩展，这将允许JTAG TAP来管理配置、操作，并从该嵌入式仪器电路中收集数据。这一努力也支持IEEE 1687或IJTAG。</p>
<p>　　&ldquo;当你刚刚开始，你会发现嵌入式仪器对于业界迈向更高速度、更小尺寸，以及更大密度是至关重要的，&rdquo;ASSET InterTech公司总裁兼CEO Glenn Woppman说。</p>
<p>　　&ldquo;不是每个人称其为嵌入式仪器，但大部分嵌入逻辑，寻址问题例如设计验证、测试、调试、器件和电路板监测以及其他类型的仪其功能。正是我们将称其为嵌入式仪器，&rdquo;Woppman补充说。</p>
<p>　　ASSET公司对嵌入式仪器有信心，其能够成为一家致力于提供嵌入式仪器开放工具的公司。该公司新的座右铭是&ldquo;推动嵌入式仪器&rdquo;(图6)。</p>
<p align="center"><img border="0" hspace="0" alt="ASSET公司对嵌入式仪器有信心" src="http://pagesadmin.ednchina.com/images/article/22a7c627-2882-45ab-beb4-0483a8e36396/7.gif" width="500" height="282" /></p>
<p>　　当你涉及到嵌入式仪器，它可被视为测试与测量行业的未来发展。这是超越虚拟仪器及其模块化硬件和软件(如美国国家仪器公司的LabVIEW)一代的一步。ASSET InterTech公司的ScanWorks JTAG软件平台似乎变成了嵌入式仪器LabVIEW的伟大起点。</p>
<p>　　英特尔的IBIST(内建自测是互连)设计验证和测试结构允许芯片到芯片的互连测试，以及PCB上高速总线的设计验证。它内建到英特尔5300和7300系列四核Xeon处理器为基础的平台中，该平台用于服务器。它也将用于英特尔的下一代Nehalem处理器平台。</p>
<p>&nbsp;</p>
<p>　　IBIST通过余度、误码率测试(BERT)和模式生成测试来采用信号完整性分析。它还采用边界扫描测试、系统内编程和可测性设计。ASSET公司的ScanWorks对其进行了支持。</p>
<p>　　很多其他公司也开始结合嵌入式仪器。例如，Altera公司利用其预加重和均衡链路估算(PELE)能够用于电子设计自动化(EDA)公司，如Mentor公司，以便设计师可以用它来对Stratix II GX FPGA进行信号完整性测量。DAFCA是一家EDA公司，该公司让芯片设计师将可重构仪器与其IP库结合。</p>
<p>　　Logic Vision公司让设计师分配其嵌入式串行器&mdash;解串器(SERDES)环回解决方案，其描述了确定信号眼失真的参数。美信将监测仪器结合到其部分<nobr style="border-bottom: rgb(102,0,255) 1px dotted; background-color: transparent; color: #cb4bfc; cursor: pointer; text-decoration: underline" id="nobr59" jquery1260931532762="54">电源管理</nobr>芯片中。此外，Rambus正在将可编程伪随机模式产生仪和位流比较器集成到其存储器芯片上的I/O块中。</p>
<p>　　Synopsys公司目前提供其嵌入式仪器IP的DesignWare验证库。Vitesse半导体公司已提出了一系列新的收发器和SERDES芯片，该芯片结合其基于均等和独特采样技术的VScope波形观察技术。此外，Xilinx公司的ChipScope Pro实时调试和验证工具将逻辑分析仪、总线分析仪和虚拟I/O仪直接插入到了FPGA中。在未来的几个月中期望在这一领域有更多的新闻和公告。</p>
<p>　　<strong>参考文献</strong></p>
<p>　　Laung-Terng Wang, Charles E. Stroud, Nur A. Touba，编辑，系统级芯片测试架构，纳米可测试性设计，Morgan Kaufmann出版社，2008</p><p align=right><font color=#000066> 牧马人 最后编辑于 2009/12/16 10:46:08</font></p>]]></description></item></channel></rss>