通过FPGA智能调试工具缩短验证时间

  设计人员选择具有优秀调试能力的FPGA器件,可以缩短开发周期并降低成本,同时显著加快上市速度。FPGA和SoC设计人员要克服许多挑战,才可以把产品投入生产。

  一般说来,他们首先要为自己的设计评估合适器件;然后,使用硬件描述语言(HDL)设计,布局布线器件,最后,在投入生产之前,还要对整个FPGA进行调试。

  对于许多设计,特别是工业和嵌入式市场的设计来说,可以选择的FPGA实在多不胜数。在大多数情况下,决定选择哪家FPGA供应商取决于其相关的软件开发经验。虽然软件开发经验也应该是考虑因素,但是,更重要的因素应该是调试能力及为加速生产提供的支持。目前,阿尔特拉(Altera)、莱迪思(LatTIce)、美高森美(Microsemi)和赛灵思(Xilinx)等供应商都提供许多FPGA调试工具,但是,设计人员对未来的FPGA设计策略进行评估时,应该考虑采用一种更智能的调试工具。

  基础调试 – 逻辑分析仪

  每个主要的FPGA供应商都提供逻辑分析仪作为调试工具。这是一种利用内部FPGA逻辑单元和嵌入式块存储器来实施功能的技术。设计人员可以规定监测哪种信号,并设置触发器来告诉逻辑分析仪何时开始采集数据。逻辑分析仪设置好后,设计人员必须重新按顺序运行综合和布局布线,将功能纳入到设计中。设计重新编译和重新编程后,设计人员便可以开始观察逻辑分析仪采集的逻辑信号。

  需要注意的是,由于这些信号需要采样,它们采集的并非数据的实时性能。逻辑分析仪只能以允许其采集数据的速度运行,并将数据保存在内部存储器内。由于设计必须重新编译以插入逻辑分析仪,因此,这一过程实际上可能消除正在寻找的漏洞。虽然这看起来似乎不错,但是,不了解原问题是什么,意味着后面再执行合成和布局布线操作时,问题可能会再次产生和重新出现。

  尽管如此,设计人员能够根据触发条件来查看信号状态,这样做确实可以帮助调试设计问题。采用逻辑分析仪是一个不断迭代的过程。设计人员查找发生的问题,进行更新,然后对设计进行重新编译,再审查新的结果,然后重复这个过程,直到发现漏洞。每个迭代和处理每个具体漏洞所需的时间都不同,由于逻辑分析仪的采样速度,因此不一定可以找到所有问题。

  下一代调试工具

  由于逻辑分析仪在调试方面的限制,业界设计了新一代调试工具,以加快FPGA和板的验证。有些EDA供应商在综合工具内集成了逻辑分析仪功能,缩短了漏洞查找迭代的时间,能够查看设计和使触发设置更简单。设计人员还可以更改设计,使其自动映射回到寄存器传送级(RTL)代码。为了节约内部FPGA资源,有些EDA工具可以采集多组信号,并将它们多路复用。在调试过程初期,我们不知道问题的实际源头时,这样做很有帮助。新思科技(Synopsys)在其idenTIfy逻辑分析仪和Synplify综合工具中已经实施了这些特点。尽管他们为调试过程提供了这些改进,但是,这些方法因需要重新编译,因而影响原始设计和减慢信号采集,所以受到限制。

  实际上,对工程师有帮助的,除了逻辑分析仪,还有示波器。这种功能允许实时显示器件内部信号。用探头实时探测FPGA内的节点,强制赋予内部信号不同值,观察对设计的即时影响,也是十分理想的。此外,探测内部存储器的能力以及SERDES收发器探测点也是非常有用的。如果能够提供所有这些能力而不影响FPGA设计,将显著简化调试过程。

  这种方法的一个实例是美高森美Libero SoC软件中的SmartDebug工具箱,该工具箱与公司的SmartFusion2、IGLOO2和RTG4 FPGA一起使用。这个工具箱使设计人员能够调试FPGA结构、存储块和SERDES,就好象它们正在使用示波器一样。采用这种智能调试,可以利用内置在FPGA结构中的专用探测点,显着加快和简化调试过程。不需要对设计进行重新编译就可以选择不同的探测点。增强的调试特点可访问任何逻辑元件,使设计人员能够实时检查输入和输出状态,不影响用户的FPGA设计。这些特点包括:

  -现场探头:允许采用两个专用探头,经配置用于观察逻辑元件中任何输入或输出的探测点(图1)。然后,探头数据可发送到示波器或甚至重新引导回到FPGA结构,驱动内部逻辑分析仪。这些探测点是实时动态的。探测点可以通过软件在运行中更改,不需要把FPGA重新编译或重新编程。

  -有源探头:这种特点允许动态异步读取或写入触发器或探测点。这种能力使用户能够快速从内部观察逻辑输出或通过写入探测点,快速实验逻辑将受到怎样的影响。可将任何数量的信号强制赋予到规定值,正如现场探头一样,不需要把FPGA重新编译或重新编程。

  探头插入:这用于在设计中插入其它探头,将信号输出到FPGA封装引脚,以对设计进行评估和调试。这种特点确实需要增加布局布线,从而在I/O增加信号,但并不一定需要完整的重新编译。

  通过FPGA智能调试工具缩短验证时间

  图1 现场探头使用实例(来源:美高森美)

  FPGA设计人员把30%或更多的时间通常花在调试上。根据项目的规模和状态,甚至需要更多的调试时间。由于调试涉及许多迭代周期,可观察性和可控性有限,经常要重新运行布局布线,时序收敛和重新编程,因此调试是非常痛苦的工作。与仅使用传统插入逻辑分析仪相比,智能调试工具使得工程师能够更快地对他们的FPGA设计进行验证。这些工具使得设计人员在整个设计中可以实时观察信号和控制信号状态,显着提高了调试速度。

  最近,据一名客户报告,他们采用内部逻辑分析仪花了一周时间来试图调试一个问题。但在采用智能调试工具代替后,工程师仅仅在两个小时内就找出了问题。最终追踪到,这个问题来自与工程师采用逻辑分析仪时观察的一个完全不同的设计模块。然后工程师利用有源探头特点强制赋予不同的数值,确保电路适当响应的方式,进一步改善了设计。

  对FPGA设计人员来说,增强调试能力是影响重大。最新的解决方案能够显著缩短调试验证时间,为FPGA提供无与伦比的可观察性和可控性。结果使得,在选择器件时更重视FPGA调试能力的设计人员,可以缩短开发周期,降低成本,同时显著加快上市速度。

技术专区

  • 利用电容传感技术进行液位测量的解决方案
  • 工业4.0重新带动西方制造业 或将扭转全球化趋势
  • 电缆故障检测方法
  • 用LM339制作水位计
  • 基于EWB的测温电路设计原理分析以及其优势
  • 通过FPGA智能调试工具缩短验证时间已关闭评论
    A+
发布日期:2019年07月14日  所属分类:工业控制