新闻中心

EEPW首页>嵌入式系统>设计应用> 验证FPGA设计:模拟,仿真,还是碰运气?

验证FPGA设计:模拟,仿真,还是碰运气?

作者: 时间:2009-05-07 来源:网络 收藏

  一种可为大家接受的方法

  根据与厂商和用户的讨论,我们可以看到对(图1)混合验证流程大家基本达成一致意见。这种流程首先对设计开始元件块级的——不是传统上所用的那种穷举式的力求完美的,而更像是对实际情况进行检查。其目标是验证元件块可用、引脚工作基本正确、在实验环境中可满足的时序需要。

  在此阶段,很多开发组将某个版本的块转入并开始更为彻底的电路中测试。如果此电路块(如视频编解器)需要很长的高速数据流来验证功能或是包括高速I/O功能,则该方法尤为常见。在其他情况下,继续对块进行模拟工作,直到所有问题都经过验证,可以进行集成为止。

根据大家的一致意见,当开发组开始将块集成时——建立试验系统时——FPGA 才真正被更多人使用。这里,可能就是因为设计太大才无法进行快速模拟,或是对于已知可正常工作的块,在FPGA上解决集成问题可能要比在模拟器上效率更高点。

  但是,根据大家的意见,从模拟转到并不是单步的可逆步骤。正如软件开发中并行进行模拟一样,模拟工作在系统期间也在继续。多数开发组利用FPGA 仿真捕捉和隔离缺陷,然后将其送回模拟组诊断。在FPGA上做详细诊断是非常痛苦的工作。

  这里先总体叙述当前的情况,然后指出该方法的几个严重缺点。首先,在两个环境间来回传送测试平台数据很困难。似乎还没有方法可以将创建测试的模拟指令自动映射到实施同一测试的 FPGA 结构。第二,各大 FPGA 厂商都可提供的嵌入式RISC核资源似乎远没有得到充分利用,它可以管理数据和控制测试,但是又是与模拟测试平台分开的。理论上说,模拟组可以将其转为嵌入式处理器核的C代码,而不是转为FPGA的RTL。第三,没有简单的途径可以将FPGA 试验中开发组收集的数据送回模拟平台。最后,随着模拟领域基于断言的验证工作不断增多,FPGA 侧急需一种类似的基于断言的工具。

  基于 FPGA的仿真系统销售厂商对这些问题提出了应对措施(见附文 《解决覆盖空隙的一些思路》),证明了这些问题是确实存在的。这里的例子有Eve公司的系统;模拟加速器,如GateRocket;以及“big-iron”(大型的)仿真盒,如Cadence的Palladium。至于这个基础平台会发展为FPGA验证领域常见的那种专用板卡级仿真平台,还是仍然会是昂贵的加速器和仿真系统的一种变形,我们尚无法知道。



评论


相关推荐

技术专区

关闭