基于FPGA的原型验证,'Why', 'What' 以及 'How' – 真正可行的选择(第2部分)

2011.11.21 | Ashok Kulkarni | AE Director, North America

基于FPGA的原型验证的主要优点是:低成本、高性能和易于部署。除这些优点以外,它还能够与实时装置接口,因此设计者可以观察真实系统环境中SoC原型 的性能。由于系统成本较低,用它来创建用于软件开发的多个硅前硬件平台所需的费用是合理的。基于FPGA的原型验证可提供明显更高的运行性能,一般是在 10 MHz~80 MHz频率范围内,因此可以对视频帧等本质上基于主观的设计进行验证。由于性能较高,用它来开发软件是可行的:例如驱动程序、操作系统启动和应用软件– 而使用其他验证技术是不可能的。由于体积较小,它易于部署和便携,以供演示和测试使用。

SoC设计一般包括许多IP(第三方IP或者遗留 IP)、定制逻辑、处理器、存储器和各种总线接口。由于SoC设计元素和FPGA资源,例如:门控时钟、DesignWare组件(来自Synopsys 程序库的优化设计组件)、存储器和任何其他加密块等之间缺少一对一对应,设计网表(可以是RTL和EDIF的组合)不可能直接映射到FPGA。在综合之前 通常需要对RTL进行一些手动更改。

通常来说,整个SoC设计太大而不适合单个FPGA,需要把设计划分为与原型验证板上的每个FPGA对应的多个块。通常当构建一个原型验证系统时,选择的FPGA装置具有最高的逻辑门计数和最大数量的I/O引脚。这是因为您想要将可能最大的设计 块映射到每个FPGA,从而减少FPGA总计数,而同时减少FPGA之间的连接数。连接数通常在划分、被迫实施"时分多路复用"( FPGA之间的多个设计信号被映射到单个I/O引脚)等机制之后激增。

原型验证系统有一些缺点:设计调试没有仿真器那样直观,尽管调试 工具已经明显改进(包括调试多个FPGA的能力,请参考www.s2cinc.com规定的VM – Verification Module)。将设计映射到原型验证板并对设计进行验证的过程并不是完全自动的,需要用户介入。基于FPGA的原型验证的整体优点明显超过缺点。毫无疑 问,基于FPGA的原型验证将备受青睐,并且满足复杂设计验证的需要。

                             图2:同时进行的流程:硬件验证、系统集成和软件开发

简而言之,基于FPGA的原型不仅可以用作开发软件的硅前硬件平台,还可以用于验证独立IP,在真实速度下运行设计,运用真实世界刺激并且允许系统集成。由于成本较低并且具有可部署性,用它将多个系统分配给硬件和软件工程师在经济上是可行的。最重要的是,可以同时进行硬件验证开发、系统集成和软件开发,如图2所示。

原型验证的优点是引人注目的,并且主要的SoC开发商已成功实施基于FPGA的原型验证。但有个问题显而易见,"作为一名设计师,我是应该开发自己的原型验证系统还是从原型验证供应商那购买原型验证系统?"这是一个非常重要的问题,博客"构建对比购买:基于FPGA的原型验证系 统"作出了解答。