通过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重新编译或重新编程
- 逻辑分析仪硬件电路毛刺信号分析(04-02)
- 如何更好地设计面向在板烧录的产品-单线串口篇(05-11)
- 详析数字I/O和逻辑分析仪常用术语(02-18)
- 频谱分析仪六大常见问题解答(02-20)
- 容易被忽略的逻辑分析仪探头(03-28)
- VGA的驱动显示以及逻辑分析仪的使用(02-06)