S2C的C-API功能

2011.09.25 | Tony Wu | AE Director

S2C的C-API功能可让验证工程师们发送/接收电脑中的大量测试数据到/从基于FPGA的原型验证。通过和许多验证工程师交谈,我发现当今的一个共同的挑战在于:创建足够的测试案例和一些极端案例以彻底验证基于FPGA的原型验证的能力。通过把原型连接到目标系统,工程师们能够进入真实世界测试环境,但是通常难以创建真实世界环境的极端测试案例。因此,较好的设计方法是为真实世界测试环境补充能够从电脑运行的、基于FPGA的原型的额外验证数据。

S2C的C-API 非常适用于以下用途:

  • 从电脑运行大量验证数据到基于FPGA的原型验证。
  • 验证极端案例在真实世界目标系统中难以创建,但是可以在模拟或者软件中创建。
  • 真实目标系统接口由于速率太快而无法在基于FPGA的原型上实现,因此利用电脑产生较低速率的测试。
  • 读取和写入FPGA系统的存储器,以便加载启动代码或者抓拍系统状况的照片。

S2C的C-API是S2C Prodigy Player  Pro软件的可选功能,并且需要能够支持Prodigy VM技术的S2C基于FPGA的原型硬件。下图显示通过一个x4 PCIe Gen 2接口与电脑通讯的Prodigy  Verification Module (VM)。然后,Prodigy VM插在能够支持32.8M ASIC门的Quad  Stratix-4 820 Prodigy Logic Module (LM)上。

C-API对比SCE-MI                                

SCE-MI可能是把电脑测试环境连接到仿真器和基于FPGA的原型等硬件辅助验证平台的唯一著名标准。S2C是SCE-MI标准的倡导者,并且已经完成了许多客户的SCE-MI项目。我个人认为,使用C-API目前完全可以代替大多数设计要求。SCE-MI需要严格的连接基础架构以及更重要的SCE-MI兼容处理器。因此,创建SCE-MI原型环境的成本时间就变得更高更长。当然,一些客户表示:SCE-MI将来可为交叉软件和硬件平台验证提供支持,因此他们优先采用SCE-MI。这是一个好论点,但是以下我将列出使用S2C的C-API的优点:

  1. 易于使用。 S2C的硬件侧接口采用OpenCore的叉形总线结构。客户可以轻易把接口设置为任何其他总线的接口或者直接连接到设计块或存储器块。而在电脑端,我们提供一套用于读写和DMA传输器的C-API电脑程序。
  2. 高性能。 只需很少的日常管理费用,并且可以在几乎接近20Gbps的数据传送速率下运行。
  3. 低成本。 仅有一小部分SCE-MI设置成本。
  4. SCE-MI标准尚未被广泛采用。 市场上可提供的SCE-MI处理器数量有限。

总结

从电脑上通过大量验证数据快速运行基于FPGA的原型,这种能力可以为工程师们提供充分验证ASIC/SoC设计的更好方式。SCE-MI和C-API都可以实现这种能力。如果交叉软件和硬件平台不是现今所关注的重点,我推荐使用C-API。下个月我会写一篇关于SCE-MI的博客。