首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FPGA调试技术加快硅前验证

FPGA调试技术加快硅前验证

随着基于FPGA进行原型设计的复杂性不断增加,市场对更好调试技术的需求也日益增加。FPGA原型设计可用于验证、早期软件开发、概念证明等,因此变得非常重要。它的主要职责仍然是执行这些任务,而不是试图找出因原型构建错误而造成的问题。

根据可用的设计或现有任务类型,可能需要不同的调试技术。采用合适的调试技术还可以缩短FPGA设计的验证周期。

本文描述了有关FPGA的一些调试技术,采用这些技术可以加快验证过程,文章同时也指出了它们的局限性。这些调试技术可以用于硅前验证过程中所面临的各种挑战或问题,后面我们将会讨论。

RTL
仿真

RTL还没有完全稳定时,原型设计的一个主要需求是访问和监控内部信号的活动,这有助于找到造成问题的根源,无论问题是由于原型错误还是RTL本身的一些异常造成的。

测试时,RTL仿真需要在模块周围建立一个完整的原型验证仿真环境,能够给予激励,满足内存要求(如果有的话),监控设计错误等。

1显示了此类RTL仿真设计模型。


1RTL仿真模型
图字:要求
验证计划
原型RTL仿真
原型RTL模型
执行板上工作
找到Bug 去除bug执行所有工作

假设/优势

此调试方法非常适用,而且在处理设计规模问题时,可以进行调整,目前验证工具可以轻松地处理设计规模问题,但要求仿真时间不能很长,否则会使这种工作几乎没有ROI(投资回报率),而要配备复杂的测试台。
如果是一个已经获得验证的设计,它能重新使用现有的验证测试平台,这样就不需要从头开始构建,可以节省时间和精力。
工作重点应该侧重于调整现有测试平台,以便使其不需要任何大的更改,就能够运行验证测试套件。
可以缩小问题,选择只运行失败仿真,减少对仿真的依赖,检查可能引起问题的信号的仿真波形。

局限性

如果是大规模设计,几乎不可能查看设计中的每个信号、监控其行为。
采用这种方法的一个前提条件是,验证工程师或软件工程师应该对设计和内部信号具有良好的洞察。
此方法比较费时,而且需要软件开发人员付出额外的努力。
在设计被分区的情况下,RTL仿真可能没有帮助。假设我们主要试图再利用顶层验证环境,并使其轻松为受测设备原型工作,要创建更多的层次和设计分区,则会需要进行额外的工作,以修改安装在独立验证环境中的内部信号探针。
调试涉及复杂处理的大规模快速流输出数据设计可能具有挑战性,因为这个问题可能在设计层次的各个层级存在。

在复杂的设计中,必须考虑一些更好、更快的调试方式,我们将在后面的章节中讨论。
使用逻辑分析仪的硬件调试

当调试总线位于FPGA的外部引脚上,并通过逻辑分析仪观察它们时,硬件调试涉及内部信号的呈现。这种调试技术对小型逻辑设计真的非常有帮助,因为验证工程师也可以使用逻辑分析仪观察到内部设计信号,从而使调试更加方便快捷。

2显示了此调试模型。


2:使用逻辑分析仪的硬件调试
返回列表