Harris加速信号处理fpga的验证

挑战

简化耗时的测试信号处理FPGA实现的手工过程

解决方案

使用HDL验证器从MATLAB中验证HDL设计

结果

  • 功能验证时间缩短85%以上
  • 完成100%的计划测试用例
  • 设计实现没有缺陷

HDL Verifier为我们的MATLAB模型和逻辑模拟器之间提供了一个直接的联合仿真接口,这使我们能够更早地验证我们的设计,更快地识别问题,完成更多的测试,并压缩我们的整个开发周期。”

杰森·普卢,哈里斯公司
哈里斯fpga系统。

Harris公司的工程师习惯于在紧凑的时间内交付复杂的基于fpga的信号处理系统。为了满足客户通常严格的要求和他们自己的质量标准,工程师在综合每个系统的HDL设计之前要彻底验证它。

在过去,HDL验证需要几个手动步骤。哈里斯工程师使用HDL验证器实现了过程的自动化提供了MATLAB之间的双向链接®在Cadence中模拟系统模型和HDL设计®敏锐的®。新的过程消除了算法规范和HDL验证之间的歧义,减少了重复工作,并改善了系统和HDL工程师之间的通信。

Harris的高级工程师Jason Plew说:“与MATLAB和HDL Verifier的联合仿真不仅使子系统级的仿真更容易,还使我们能够更完整地验证整个系统。”“我们大大减少了开发子系统测试平台所需的时间,这使我们能够更早地验证和调试我们的设计。”

挑战

Harris工程师需要设计和验证一个跨越多个Xilinx的信号处理系统®Virtex®fpga。在这个劳动密集型的过程中,一旦子系统的定点模型被模拟,团队就会导出包含刺激数据和来自这些模拟的预期结果的大型文本文件,并将它们导入Cadence incision中。然后,一位经验丰富的工程师用HDL编写了测试台来读取数据,应用刺激,并验证结果。如果结果不匹配,团队必须深入研究大量的结果文件,以找出模拟失败的地方和原因。对于测试特性的每一个变化,他们都必须重新导出模拟数据,这需要8个小时的繁琐的手工工作。

Plew回忆道:“我们在每个子系统的手动步骤上花费了大量的时间,结果是,我们只有时间在截止日期之前完成所需系统级测试用例的30%。”

Harris需要一种直接在逻辑模拟器中驱动输入信号的方法,从而消除编写HDL测试平台的需要,以及管理大型测试数据文本文件的开销。

解决方案

哈里斯的工程师在MATLAB中建模和模拟了他们的信号处理系统。MATLAB模型成为了一个可重复使用的测试平台,他们可以使用HDL Verifier与他们的《Cadence Incisive》模拟器进行交互模拟。

用MATLAB和DSP系统工具箱,工程师们开发了一个理想的基带信号处理数据路径的浮点模型,他们用来验证设计满足功能要求。

在将模型转换为固定点后,他们优化了算法,以便在硬件上实现。额外的仿真在MATLAB中执行,以确保在规范内执行定点实现。

Harris工程师使用定点模型作为可执行规范,然后用HDL实现系统。

该团队使用HDL Verifier使MATLAB代码作为实现的测试平台。通过协同仿真接口,利用MATLAB为HDL仿真提供刺激,并对仿真结果进行分析。

为了加速多个测试用例的执行,Harris的工程师们开发了一个MATLAB控制脚本,用于跨Linux计算网格管理多个并行协同模拟。

在合成和成功演示该设备之前,该团队使用这种方法来快速验证单个子系统以及整个信号处理链。哈里斯的工程师已经开始在其他项目中应用同样的方法,包括一个需要百万点快速傅里叶变换的项目。

结果

  • 功能验证时间缩短85%以上。“过去,一个经验丰富的工程师需要大约8小时来准备一个子系统试验台,”Plew说。“有了HDL Verifier,我们可以在一个小时内创建一个,因为MATLAB生成刺激并执行分析,我们可以在MATLAB中准备好所有的测试结果进行后处理。”

  • 完成100%的计划测试用例。“我们之前的过程是如此复杂,以至于我们经常在子系统级别上执行很少的验证,我们的计划使我们在系统级别上运行超过30%的所需测试用例,”Plew说。“使用MathWorks工具,我们使用自动化过程生成并模拟了100%的这些测试用例,该过程使我们能够在子系统级别上发现大多数缺陷。”

  • 设计实现没有缺陷。Plew指出:“我们取消了数周的实验室调试时间,因为我们已经通过使用HDL Verifier在MATLAB和Cadence incive中共同模拟HDL代码,彻底验证了设计。”“事实上,FPGA的数据路径元素从一开始就按照设计进行。”

下载188bet金宝搏产品使用

展示你的成功

加入客户参考计划