论文部分内容阅读
【摘要】从PTN设备的设计挑战出发,介绍了IP核和基于IP核(BSCAN2)的多边界扫描链路实现方式,并对其应用提出了改进。
【关键词】边界扫描链路IP核BSCAN2
近年来数据业务特别是IP业务呈现出超摩尔定律的爆炸性增长,一切皆IP已经成为不可阻挡的趋势。也就是说业务的IP化趋势不可阻挡,而PTN以其低成本、高可靠和易维护的优势迅速替代MSTP成为主流的光传输产品。而大量细间距高密芯片的使用,使PTN设备电路的集成度越来越高,可供测试的物理节点越来越少,常规测试方法已无法检测和定位故障。对于电信级要求的PTN产品来说这是个大问题。本文提供的一种基于IP核的多边界扫描链路测试方式可以较好的解决该问题。
一、边界扫描技术
边界扫描技术[1]是联合测试行动组(Joint Test Action Group)提出的一种电路测试方法,也被称为JTAG。其核心思想是在芯片管脚和芯片内部的用户逻辑之间增加由移位寄存器构成的边界扫描单元,以实现测试向量的加载以及测试响应的捕获。基于边界扫描测试技术的故障诊断突破了管脚接触式检测理论,可以解决其他技术无法完成的超大规模集成电路的测试问题,极大地确保了电路设计,和生产的可靠性,非常适合PTN产品的高可靠性要求。
边界扫描测试要求设计人员将多个器件通过JTAG接口串联在一起,形成一个或多个边界扫描链,能实现对链内各器件分别测试。
二、IP核概述
IP(Intellectual Property)核是指具有独立知识产权的电路核,用于实现特定的电路功能和结构。其实质是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。
目前各PLD厂商(Altera,Lattice等)均提供商用的IP核设计,这些IP核多针对PLD厂商各自的芯片进行优化设计,降低了系统跨厂商的可移植性;且该类IP核用户一般无法得到源代码。
与PLD厂商相对应的,国际上一些非盈利组织(如OpenCores等)和个人致力于自由IP核的发展,为电路设计人员提供免费开源的IP核。OpenCores是全世界最大的用于开发开源硬件IP核心的网站和社区。
三、PTN设备边界扫描面临的设计难点
在PTN设备的电路设计中,通常包含大量不同厂商,不同功能的边界扫描器件,以我司PTN产品为例,其使用了摩托罗拉,BCM,Lattice,美光等多家公司的MCU/FPGA/CPLD/FLASH,因此设计人员在实施边界扫描设计,把边界扫描器件串入扫描链时,通常面临着以下挑战:(1)扫描链路内器件串行的特点,使测试长扫描链路变得困难,因为在一个长扫描链路上任何一个器件的故障都会导致整个链路不能进行测试,很难隔离故障。此外,链路整体时钟频率受限于链路内TCK频率最低的器件,影响整个链路的测试速度。而将TCK低的器件从链里单独分离出来将显著改善测试速度。(2)由于器件工作电压不兼容,在一个长扫描链内就需要使用电平转换器,同样在长链内还需要用信号缓冲器对JTAG的控制信号进行缓冲,以保证信号完整性。(3)为了对非边界扫描的器件进行扩展测试,常需要对扫描链路进行规划和切割。另外一些芯片的ISP/ISE对TAP有特殊要求的也需要放在单独的链里。
针对上述的挑战,把长的边界扫描链分割成多个短链成了最好的解决方案,而在可编程逻辑器件上实例化IP核来实现扫描链的扩展是最经济的解决方案。
四、实例化IP核来实现扫描链的扩展
4.1技术优越性
由于可编程逻辑器件的使用,其自身具有的转换电压特性和可调驱动强度的能力,去除了原本长链中必须使用的电压转换器和缓冲器以及上拉/下拉电阻,器件的减少也降低了对电路板版面开销的要求,使得布线有更大的余地。同时也降低了产品的成本。另外,由IP核实现的多边界扫描端口链接器可以级联,可扩展足够多的子链路。这样使得故障检测和故障隔离更加容易;而TCK慢的器件可以放至单独的子链路,使用不同的测试时钟,从而提高了整体测试效率。同时由IP核实现的多边界扫描端口链接器,硬件成本只要RMB10元,假如该方案是利用现有电路设计中已有PLD冗余的I/O资源来实现,那就基本不增加成本。因此是很经济的方案。
4.2BSCN2实现的边界扫描控制器应用实例
BSCAN2是莱迪思公司提供的IP软核[2],适用于莱迪思公司的可编程逻辑器件,其功能是提供多个边界扫描端口的链接器。BSCAN2参考设计可免费从莱迪思的网站上下载,根据应用的需要,用户可以对HDL源码进行修改。BSCAN2允许连接多达8个子链路到一个边界扫描测试接口,且多个BSCAN2可以级联在一起以进一步增加可用的子链路数。
图1所示的是使用莱迪思的MachXO器件来实现一个4端口的链接器[3]。在定义各子链路后,通过配置BSCAN2各寄存器就可以确定某一时刻任意子链路的启用,并且通过JTAG控制器软件的编程,可动态添加和删除子链路,减少了人工干预。BSCAN2还可以对任一子链路启用不同的测试时钟,来加速电路板调试和生产测试。
4.3BSCN2的改进
尽管BSCN2在实现扫描链的扩展上有诸多优势,但还是有其局限性,尤其是在利用现有电路设计中已有PLD冗余的I/O资源来实现时。
首先,BSCN2不支持穿透模式(Pass Through),也就是当需要对子链内的FPGA/MCU有在线编程或调试的要求时,信号无法旁路BSCN2直接到达待测器件。针对这一不足,需要修改BSCAN2的源码来设计穿透模式,来实现旁路BSCN2的目的。穿透模式的实现可以减少测试接头的使用,边界扫描,在线编程和在线仿真可以通过外部拨码开关或跳线来确定是否启用穿透模式,从而共用一个测试端口,可以减少电路板的版面开销。 其次,在利用现有电路设计中已有莱迪思PLD冗余的I/O资源来实现BSCN2时,即用户逻辑和BSCN2并存于同一PLD时,用户逻辑的IO脚将无法被测试覆盖。为了解决这个问题,这里使用了一个开源的IP(JTAG TAP IP)来包裹用户逻辑从而实现这些I/O脚的可控可测。图2为示例。JTAG TAP可以从Open-Cores官网上免费下载[4]。
最后,当现有电路设计中没有莱迪思的PLD或者即使有也没有冗余的I/O资源时,又不想再增加物料成本在板内多放一个莱迪思的PLD来专门实现多边界扫描链的管理,此时给JTAG控制器设计一块TAP扩展卡是一个很好的选择。图3是在莱迪思LCMXO640E上例化 BSCAN2和Open-Cores JTAG 2个IP实现8个子链的TAP扩展卡设计,其有效性经过了我司PTN批量生产的实践检验。
解决上述3个使用时的局限性后,BSCN2在实现多边界扫描链测试上的使用趋于完善。
五、结语
当前PTN设备的电路设计中广泛使用具备JTAG能力的器件,边界扫描测试也因此成为最重要的测试手段,而长扫描链带来的设计问题严重影响了测试成本和测试覆盖率。本文提出的基于BSCAN2软核的多边界扫描端口解决方案具备了应用灵活,快速部署的特点,可在同一块PLD芯片中整合用户逻辑和BSCAN2等IP,去除了上下拉电阻和电压转换器及缓冲器,降低了电路板的成本,减少了测试时间,并通过设计穿透模式和对用户逻辑的JTAG包裹弥补了BSCAN2的局限性,具有很高的实用性。
参考文献
[1] IEEE Std 1149.1-1990,IEEE Standard Test Access Port and Boundary-Scan Architecture[S]
[2] RD1002, Multiple Boundary Scan Port Linker (BSCAN2) Reference Design,Lattice web,2009
[3] AN8081, Using Multiple Boundary Scan Port Linker, Lattice web,2009
[4] http://opencores.org/project,jtag
【关键词】边界扫描链路IP核BSCAN2
近年来数据业务特别是IP业务呈现出超摩尔定律的爆炸性增长,一切皆IP已经成为不可阻挡的趋势。也就是说业务的IP化趋势不可阻挡,而PTN以其低成本、高可靠和易维护的优势迅速替代MSTP成为主流的光传输产品。而大量细间距高密芯片的使用,使PTN设备电路的集成度越来越高,可供测试的物理节点越来越少,常规测试方法已无法检测和定位故障。对于电信级要求的PTN产品来说这是个大问题。本文提供的一种基于IP核的多边界扫描链路测试方式可以较好的解决该问题。
一、边界扫描技术
边界扫描技术[1]是联合测试行动组(Joint Test Action Group)提出的一种电路测试方法,也被称为JTAG。其核心思想是在芯片管脚和芯片内部的用户逻辑之间增加由移位寄存器构成的边界扫描单元,以实现测试向量的加载以及测试响应的捕获。基于边界扫描测试技术的故障诊断突破了管脚接触式检测理论,可以解决其他技术无法完成的超大规模集成电路的测试问题,极大地确保了电路设计,和生产的可靠性,非常适合PTN产品的高可靠性要求。
边界扫描测试要求设计人员将多个器件通过JTAG接口串联在一起,形成一个或多个边界扫描链,能实现对链内各器件分别测试。
二、IP核概述
IP(Intellectual Property)核是指具有独立知识产权的电路核,用于实现特定的电路功能和结构。其实质是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。
目前各PLD厂商(Altera,Lattice等)均提供商用的IP核设计,这些IP核多针对PLD厂商各自的芯片进行优化设计,降低了系统跨厂商的可移植性;且该类IP核用户一般无法得到源代码。
与PLD厂商相对应的,国际上一些非盈利组织(如OpenCores等)和个人致力于自由IP核的发展,为电路设计人员提供免费开源的IP核。OpenCores是全世界最大的用于开发开源硬件IP核心的网站和社区。
三、PTN设备边界扫描面临的设计难点
在PTN设备的电路设计中,通常包含大量不同厂商,不同功能的边界扫描器件,以我司PTN产品为例,其使用了摩托罗拉,BCM,Lattice,美光等多家公司的MCU/FPGA/CPLD/FLASH,因此设计人员在实施边界扫描设计,把边界扫描器件串入扫描链时,通常面临着以下挑战:(1)扫描链路内器件串行的特点,使测试长扫描链路变得困难,因为在一个长扫描链路上任何一个器件的故障都会导致整个链路不能进行测试,很难隔离故障。此外,链路整体时钟频率受限于链路内TCK频率最低的器件,影响整个链路的测试速度。而将TCK低的器件从链里单独分离出来将显著改善测试速度。(2)由于器件工作电压不兼容,在一个长扫描链内就需要使用电平转换器,同样在长链内还需要用信号缓冲器对JTAG的控制信号进行缓冲,以保证信号完整性。(3)为了对非边界扫描的器件进行扩展测试,常需要对扫描链路进行规划和切割。另外一些芯片的ISP/ISE对TAP有特殊要求的也需要放在单独的链里。
针对上述的挑战,把长的边界扫描链分割成多个短链成了最好的解决方案,而在可编程逻辑器件上实例化IP核来实现扫描链的扩展是最经济的解决方案。
四、实例化IP核来实现扫描链的扩展
4.1技术优越性
由于可编程逻辑器件的使用,其自身具有的转换电压特性和可调驱动强度的能力,去除了原本长链中必须使用的电压转换器和缓冲器以及上拉/下拉电阻,器件的减少也降低了对电路板版面开销的要求,使得布线有更大的余地。同时也降低了产品的成本。另外,由IP核实现的多边界扫描端口链接器可以级联,可扩展足够多的子链路。这样使得故障检测和故障隔离更加容易;而TCK慢的器件可以放至单独的子链路,使用不同的测试时钟,从而提高了整体测试效率。同时由IP核实现的多边界扫描端口链接器,硬件成本只要RMB10元,假如该方案是利用现有电路设计中已有PLD冗余的I/O资源来实现,那就基本不增加成本。因此是很经济的方案。
4.2BSCN2实现的边界扫描控制器应用实例
BSCAN2是莱迪思公司提供的IP软核[2],适用于莱迪思公司的可编程逻辑器件,其功能是提供多个边界扫描端口的链接器。BSCAN2参考设计可免费从莱迪思的网站上下载,根据应用的需要,用户可以对HDL源码进行修改。BSCAN2允许连接多达8个子链路到一个边界扫描测试接口,且多个BSCAN2可以级联在一起以进一步增加可用的子链路数。
图1所示的是使用莱迪思的MachXO器件来实现一个4端口的链接器[3]。在定义各子链路后,通过配置BSCAN2各寄存器就可以确定某一时刻任意子链路的启用,并且通过JTAG控制器软件的编程,可动态添加和删除子链路,减少了人工干预。BSCAN2还可以对任一子链路启用不同的测试时钟,来加速电路板调试和生产测试。
4.3BSCN2的改进
尽管BSCN2在实现扫描链的扩展上有诸多优势,但还是有其局限性,尤其是在利用现有电路设计中已有PLD冗余的I/O资源来实现时。
首先,BSCN2不支持穿透模式(Pass Through),也就是当需要对子链内的FPGA/MCU有在线编程或调试的要求时,信号无法旁路BSCN2直接到达待测器件。针对这一不足,需要修改BSCAN2的源码来设计穿透模式,来实现旁路BSCN2的目的。穿透模式的实现可以减少测试接头的使用,边界扫描,在线编程和在线仿真可以通过外部拨码开关或跳线来确定是否启用穿透模式,从而共用一个测试端口,可以减少电路板的版面开销。 其次,在利用现有电路设计中已有莱迪思PLD冗余的I/O资源来实现BSCN2时,即用户逻辑和BSCN2并存于同一PLD时,用户逻辑的IO脚将无法被测试覆盖。为了解决这个问题,这里使用了一个开源的IP(JTAG TAP IP)来包裹用户逻辑从而实现这些I/O脚的可控可测。图2为示例。JTAG TAP可以从Open-Cores官网上免费下载[4]。
最后,当现有电路设计中没有莱迪思的PLD或者即使有也没有冗余的I/O资源时,又不想再增加物料成本在板内多放一个莱迪思的PLD来专门实现多边界扫描链的管理,此时给JTAG控制器设计一块TAP扩展卡是一个很好的选择。图3是在莱迪思LCMXO640E上例化 BSCAN2和Open-Cores JTAG 2个IP实现8个子链的TAP扩展卡设计,其有效性经过了我司PTN批量生产的实践检验。
解决上述3个使用时的局限性后,BSCN2在实现多边界扫描链测试上的使用趋于完善。
五、结语
当前PTN设备的电路设计中广泛使用具备JTAG能力的器件,边界扫描测试也因此成为最重要的测试手段,而长扫描链带来的设计问题严重影响了测试成本和测试覆盖率。本文提出的基于BSCAN2软核的多边界扫描端口解决方案具备了应用灵活,快速部署的特点,可在同一块PLD芯片中整合用户逻辑和BSCAN2等IP,去除了上下拉电阻和电压转换器及缓冲器,降低了电路板的成本,减少了测试时间,并通过设计穿透模式和对用户逻辑的JTAG包裹弥补了BSCAN2的局限性,具有很高的实用性。
参考文献
[1] IEEE Std 1149.1-1990,IEEE Standard Test Access Port and Boundary-Scan Architecture[S]
[2] RD1002, Multiple Boundary Scan Port Linker (BSCAN2) Reference Design,Lattice web,2009
[3] AN8081, Using Multiple Boundary Scan Port Linker, Lattice web,2009
[4] http://opencores.org/project,jtag