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

2016-10-20 17:00:03 来源:EEFOCUS
标签:

设计人员选择具有优秀调试能力的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增加信号,但并不一定需要完整的重新编译。

 

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

 

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

 

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

 

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

 

作者:美高森美FPGA/SoC营销总监Ted Marena

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
结合FPGA动态重构技术和GSM通信技术实现FPGA远程动态重构

提出了一种FPGA远程动态重构的方法,结合FPGA动态重构技术和GSM通信技术来实现。利用GSM技术实现配置数据的无线传输,在单片机控制下将数据存储于CF卡中。在内嵌硬核微处理器PowerPC405控制下,FPGA通过内部配置存取端口读取CF卡中新的配置数据,对可重构区进行配置以实现新的功能。

瑞萨/英伟达/高通/英特尔谁将赢得汽车芯片市场?
瑞萨/英伟达/高通/英特尔谁将赢得汽车芯片市场?

近日,日本芯片厂商瑞萨电子(Renesas Electronics)表示已与美国Fabless厂商IDT(Integrated Device Technology)签署最终协议,将以每股49.00美元的价格,总股权价值约67亿美元收购IDT。

一种基于FPGA的整数分周比实现方法

电动机是各类数控机床的重要执行部件。要实现对电动机的精确位置控制,转子的位置必须能够被精确的检测出来。光电编码器是目前最常用的检测器件。光电编码器分为增量式、绝对式和混合式。其中,增量式以其构造简单,机械寿命长,易实现高分辨率等优点,已被广泛采用。

先学好PCB技术才能更好学习FPGA

今天的电子技术几乎是数字逻辑的天下,虽然传感器、模拟电路等也非常重要,但从比重上来讲,无疑越来越多的处理、算法都将在数字领域实现。

高云半导体新增两款小尺寸集成大容量DRAM的FPGA产品

中国广州,2018年9月17日,广东高云半导体科技股份有限公司(以下简称“高云半导体”)今日宣布,高云半导体小蜜蜂家族新增两款集成大容量DRAM的FPGA芯片,分别是GW1NR-LV4MG81 与 GW1NSR-LX2CQN48,其设计的初衷是实现低功率、小封装尺寸和低成本等特性。

更多资讯
C++中使用命名空间加作用域解析符::指定该变量

命名空间主要解决命名冲突的问题。命名空间可以存放类、对象、函数、变量、结构体等。假如要使用命名空间中的变量或者对象,那么使用using namespace来指定某个命名空间,释放该命名空间中所有的变量或对象等。

FPGA设计要点大汇总,你都注意到了吗?

FPGA的用处比我们平时想象的用处更广泛,原因在于其中集成的模块种类更多,而不仅仅是原来的简单逻辑单元(LE)。

基于FPGA的简易电压表设计

传统的数字电压表设计通常以大规模ASIC(专用集成电路)为核心器件,并辅以少量中规模集成电路及显示器件构成。这种电压表的设计简单、精确度高,但是由于采用了ASIC器件使得它欠缺灵活性,其系统功能固定,难以更新扩展。

FPGA学习技巧分享

在学习一门技术之前我们往往从它的编程语言入手,比如学习单片机时,我们往往从汇编或者C语言入门。

FPGA工作原理与简介

如前所述,FPGA是在PAL、GAL、EPLD、CPLD等可编程器件的基础上进一步发展的产物。它是作为ASIC领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。

Moore8直播课堂
电路方案