数字系统设计师转而使用FPGA作为主要的建构基础,是因为看中FPGA的弹性和扩充能力,但FPGA的除错依然是设计师在整个开发过程中所需面对最费时的工作之一。有许多强大的逻辑分析工具可以协助验证小组迅速地完成FPGA问题的除错,但如果无法在仪器与待测装置之间提供一个可靠的电气连接,拥有再强大的逻辑分析仪也是枉然。不可靠的连接可能会误导设计师专注于纯粹由FPGA设计与逻辑分析仪之间的电气连接所引发的错误。
本文将说明如何成功地将逻辑分析仪连接到FPGA,并介绍三种最新的连接/除错方式(外部无接头式探测、内部动态探测及被忽略信号的探测)。文中将会详细说明每一种连接方式的实体实作,以协助FPGA系统设计师顺利完成逻辑分析仪的连接。
《图一 许多功能强大的逻辑分析工具可供FPGA设计师使用,但如果没有建立可靠的探测连接,再强大的工具也派不上用场。》 |
|
外部无接头式探测
FPGA除错的第一种探测连接方式,就是使用无接头式技术。无接头式探测技术拿掉了目标PCB上的接头,取而代之的是接收FPGA信号的焊垫。探针头是由一个压缩互连(compression interconnect)所组成。透过一个固定装置,即可让探针头的互连压缩,并对齐PCB上的焊垫,以构成完整的电气连接。
这项新技术具备了许多优点。首先是从PCB移除接头所产生的电气优点。将这个实体结构从探测连接中移除,所得到的电容负载将低于传统接头式测试探棒(Mictor)的电容负载,亦即从Mictor测试探棒的3 pF降到无接头式测试探棒的0.7 pF。第二个优点是不必在目标PCB上加载精密接头所减轻的负担。采用无接头式探测,既可省下接头的成本,又能免去采购零件的麻烦。最后,无接头式测试探棒的焊点布局可让信号在焊点间传输,好处是可以在高速信号原来的传输环境中进行探测,以达到更准确和稳定的量测结果。这项技术改进了接头式测试探棒传统上必须阻断flow-through路由及放置在要使用的传输频道和分支轨迹旁边的缺点。
《图二 无接头式探测技术可让FPGA设计师在信号原来的环境中进行探测,这是基于脚位的flow through路由的原理。此外,它也排除了在目标PCB中加载精密接头的不便。》 |
|
内部动态探测
FPGA设计师可使用的另一项强大分析工具,就是动态测试探棒。这项新技术可让设计师将探测核心整合到FPGA设计中,以便将设计的内部节点动态传输到除错埠,再利用传统的逻辑分析仪来观察。在每个除错频道最多可选择64个内部节点来进行观察。内部节点的动态选择可利用标准的JTAG程序设定接线来控制,而不必重新编译FPGA设计。执行JTAG接口的软件位在逻辑分析仪的主机内,它可同时探测FPGA的除错埠。只要透过一个逻辑分析应用程序,就能选择、撷取及显示FPGA的内部节点。
这类除错的实体连接,必须在目标中加入两个埠。第一个是标准的JTAG连接,这个管座(header)通常包含在设计中作为原型制作使用,所以并不会太麻烦。第二个要增加的埠是除错埠,它可以用来将内部节点传送到逻辑分析仪,并可透过任何一种逻辑分析仪测试探棒来观察,不过,前面提到的无接头式探测技术很适合这类非侵入性的除错。除错埠并没有太多需要考虑的电气问题,它为设计师提供了一个简单好用的工具。动态测试探棒的信号并不需要使用外部组件来作为终端。此外,逻辑分析仪具备了测定频道间时序不对称的能力,所以不需要轨迹匹配。唯一要注意的就是让除错埠尽可能靠近FPGA,并且在以高数据速率(>50Mbps)执行除错埠时,应利用控制的阻抗传输线来传送信号。这两个因素通常会存在于使用复杂的FPGA设计中。
除错埠上的频道数由FPGA设计师自行决定。如同前面所提到的,在每个除错频道上最多可选择64个内部节点来加以观察。FPGA动态测试探棒有一项强大的功能,它以两倍多任务技术来处理埠上的内部节点,让可同时观察的内部节点数量,变成除错埠上实体频道数的两倍。由于多任务器是由JTAG接口软件来设定和控制,而此软件与逻辑分析仪捕获设备位在相同的逻辑分析仪机器中,所以在分析仪的应用软件和显示器中,这项多任务能力都可完美地运作。因为不必重新编译设计,所以现在只要几秒钟的时间就能迅速变更探测点,而不必花上几个小时。
《图三 内部逻辑分析仪可将FPGA内部的节点动态传输到除错埠,而不必重新编译设计。无接头式测试探棒非常适合用于这类非侵入性的探测。》 |
|
连接被忽略的信号
设计师使用逻辑分析时最常碰到的一个问题,就是忘了将所有想要的信号传送到观察点。即使设计师在事前已做过规划,并记下PCB上的正确功能(即无接头式脚位),不可避免的总是有一些信号可以让除错工作变得更容易。为协助设计师解决这类问题,逻辑分析仪厂商设计了一种名为浮动导线(flying lead)的探测互连,它是接线末端一个单独的探测频道。这类探测与示波器探测很类似。
最新的FPGA的密度,导致它们几乎只能使用球点矩阵脚封装,这类封装对信号密度来说是有利的,但要存取未传送到测试点的信号并不容易。唯一的观察点就是FPGA封装底下的PCB分线镀通孔焊点布局。浮动导线探测技术的改良,让FPGA设计师可以透过焊接到分线镀通孔的方式来连接球点矩阵脚封装中的信号。
在进行这项连接的过程中,必须先从想要的分线镀通孔上移除绿漆(soldermask),只要使用Exacto刀或类似的工具,就能轻易地完成这项工作。当裸铜外露时,就可在测试探棒和分线镀通孔间进行焊接连接。新型的浮动导线测试探棒会提供专为焊接一些小功能(如镀通孔)而设计的配件。名为阻尼线的配件,可以焊接到镀通孔,然后连接到浮动导线测试探棒,以构成完整的电气连接。
《图四 采BGA封装、且未传送到逻辑分析仪测试点的FPGA信号,仍可利用阻尼线配件和浮动导线测试探棒来观察。这个配件是专为焊接到精密球点矩阵脚封装的分线镀通孔而设计的。》 |
|
探测未传送到测试点就被忽略的信号能力,可让FPGA设计师不再辛苦地找寻问题。此项技术可缩短验证的时间,并使设计师除错原始设计而非修改过的原型版本。
这类探测技术的另一个重要用途,就是结合前述的内部逻辑分析仪使用。只要能取得JTAG信号,就可利用这类探测技术来使用ILA的所有功能。
结语
FPGA已经成为最常被使用来建构数字系统的基础。如同所有的设计周期一样,FPGA的验证是一件重要且费时的工作。工程师需要强大的工具来迅速而准确地为FPGA设计除错,而不必担心所专注的问题是因为仪器与目标之间不可靠的连接所引起。为协助FPGA设计师,逻辑分析仪厂商推出了一套互连/除错解决方案,让分析仪与目标之间达到可靠的实体连接。无接头式探测技术,可以在最小的负载和传送干扰下,从FPGA的外部观察信号。安捷伦科技的FPGA动态测试探棒,可将FPGA的内部节点动态传输到逻辑分析仪,而不必重新编译设计。最后,被忽略的信号还可利用新的浮动导线互连技术来存取,作法是直接焊接到球点矩阵脚FPGA封装的分线镀通孔。有了这些可为FPGA设计连接及除错的新方法,工程师再也不必担心如何进行成功的探测连接,或测试探棒会造成量测结果失真的问题。(作者为安捷伦科技硬件设计工程师)