随着FPGA密度的不断增加,工程师们开始寻找方法来完成设计中的测试和验证。传统方法是设计人员用逻辑分析仪、示波器和总线分析仪通过测试头和连接器来检测、验证信号。
在设计策略区将逻辑分析单元核添加到FPGA设计中,可对内部单元实施彻底的测试,解放I/O脚。
这些测试头和连接器不仅增加了板子的成本,而且还带来了信号完整性和时钟问题,尤其是在高速板的设计中。为了解决这些测试过程中的难题,曾经一度只有外部测试测量设备才能完成的工作,现在由FPGA内部的软核来完成。
逻辑分析核
可编程逻辑分析核不能完全替代传统的板级测试方法,因为现在复杂的板上除了FPGA以外,包括更多的高密存储器、混合信号器件和高速的ASIC,所有这些都要求传统的板级测试方法。
即使对FPGA,逻辑测试仪核也不总是最佳选择。如在最大时钟频率超过150MHz或FPGA没有包含内部存储器,或当被测器件是最小逻辑单元时,测试核就无能为力了。
然而,当测试带软件核的几百万门的FPGA或高管脚密度BGA封装器件时,由于捕捉外部信号很困难或不可能,这时才应该应用可编程逻辑分析核作为设计测试策略。
资源比较
传统测试方法需要分配I/O管脚和内部FPGA路由资源,以便将信号引出芯片,而内部逻辑分析核需要现有的逻辑单元和和内部存储器资源。包含用户定义逻辑的设计正驱动市场对管脚多达1100个的新封装的需求。
完成应用级的调试需要分配测试管脚数,这会降低FPGA的外部功能。当然,分配给测试内部逻辑的I/O管脚数可以减少,但只能通过限制外部测试数据量来实现。
用于FPGA测试分析核的逻辑单元的数量主要取决于为了调试FPGA的功能逻辑所要分析的比特数和要求的采样数(衡量需要多少存储器)。
FPGA中的逻辑单元是一个查找表和D触发器组成的,每个逻辑单元可单独配置,并同其它单元通过高速行列数据通路内部连接。
嵌入式逻辑单元是高速RAM模块,也连接到行列式数据通路。FPGA中逻辑单元数目和RAM数量决定它的密度——最大的FPGA包括138000逻辑单元和3Mbits存储量。
逻辑分析核用一定数量的逻辑单元储存触发条件、比较触发事件和储存数据。一个典型的逻辑分析核有32位触发器和2K取样带宽,产生大约200个逻辑单元和65Kbits存储器。
行列内部连接(在软核逻辑、用户定义逻辑和逻辑分析核之间传送数据)的百分比很大。但因为逻辑分析核在器件内部,它们和工作逻辑共存,这就意味着如果FPGA设计者优先为调试逻辑分析核芯分配了资源,就必须选择最佳的存储单元,以最小的资源实现最大功能(图示)。
准确度
在常用IC封装中,信号掩埋在物理器件之下,只能通过板上边线到测试头和连接头获取。随着边线长度的增加和时钟速度的增加,信号的衰减及信号的交叉这些因素影响了传统的测试目的。