新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 用内部逻辑分析仪调试FPGA(08-100)

用内部逻辑分析仪调试FPGA(08-100)

——
作者:Brian Caslis 莱迪思半导体公司时间:2009-02-25来源:电子产品世界收藏

  外部受到的限制

本文引用地址:http://www.eepw.com.cn/article/91697.htm

  外部已经用了几十年了。外部的最大优点是能够存储大量的信号信息,或者用来跟踪数据。配置在不断变化,但大多数外部逻辑分析仪可以存储兆字节的数据。为了对使用外部逻辑分析仪,数据信号必须引到片外。可用两种方法中的一种来做。第一种方法是直接把信号送到用于观察的I/O引脚。取决于 的封装类型,接触I/O引脚 可能会有困难。 针对用这种方法进行调试的电路板 设计 要用连接器,例如与相连的MICTOR连接 器。然而这种方法不是很有效, 因为每个信号都需要一个I/O引脚。

  第二种方法是插入能把信号引到I/O的核。这种方法的优点是这个核设计成能多路复用信号至I/O引脚,允许引脚共享。这种方法的局限是信号要被外部的逻辑分析仪实时捕获,多路复用大大降低了快速捕获信号的可能性。由于这个原因,通常使用2x 或者 4x多路复用方案。这意味着现在32 个I/O引脚可以支持64个或128个信号。这样得到了很大的改进,但是仍然有限制,例如要调试宽总线的情况。一旦信号连接到外部的逻辑分析仪,然后就设置触发和数据捕获条件。

  使用外部逻辑分析仪设置的约束是有限的信号、高速触发逻辑和大量的跟踪存储器。大多数逻辑分析仪使用状态机触发机制。用户指定一个值等待这个信号,然后捕获这个数据,或者进入另一个状态,寻找不同的情况。这些信号本身是静态的,但各种情况是动态的,会在任何时候发生变化。给定约束后,这个方法很有效。因为限制了信号的数目,在信号组合的情况下减少了操作数。但是跟踪的存储器相对较大,试图找到一个接近的观察点是很普通的事,然后捕捉大量的数据以找到问题所在。

  使用内部逻辑分析仪

  用内部逻辑分析仪能与外部逻辑分析仪一样对FPGA进行功能调试。内部逻辑分析仪使用嵌入在FPGA设计中的一个或多个逻辑分析仪核。设计者使用PC在软件中设置触发条件,通过JTAG访问FPGA。一旦逻辑分析仪软核捕获了数据,通过JTAG将信息返回PC,然后设计者对这些数据进行观察。触发信号的复杂性和跟踪存储器的大小对信号数目有限制。大多数情况下,设计者可以观察成百上千个信号。

  触发资源受FPGA限制,即未使用的逻辑和RAM。跟踪存储器有些实现需要RAM。有些则需要RAM或者LUT。然而,所需要的跟踪存储器比用外部逻辑分析仪大大减少,通常为数千位与数百万位之比。触发和数据捕获以设计的全速进行,因为信号不需要在FPGA片外复用。

  用外部逻辑分析仪时,信号必须静态定义。改变信号经常需要FPGA再次执行,尽管有些工具提供只增加FPGA布线来改变部分或全部连接信号的能力。在调试期间,大多数实现部分或所有触发条件动态地改变。然而,触发的复杂性的变化取决于所用的工具。信号差别越多,所能提供的存储器就越小。为了获得最佳的结果,不同的触发选项驱动了使用内部逻辑分析仪的需要。

  复杂调试的一个例子是在SMPTE SDI HD显示中寻找一个特别的像素。在特殊的情况下,找到EAV (end active video)时序是必须的,然后寻找与数据相关的特别线数,再寻找SAV (start active video)时序。最后根据线中对应的像素,计算字节数目,参见图2。

 

  图2 SDI HD数据流实例



评论


相关推荐

技术专区

关闭