高效的ASIC验证应能准确地进行FPGA转换
来源: 作者: 时间:2009-04-23 23:57
过去十多年来,世界各地的设计师都在争论用ASIC或FPGA实现数字电路设计的优缺点。争论的焦点通常是全定制IC的性能优势和低功耗与FPGA的灵活性和低NRE成本。为了最大化性能、缩小尺寸和降低量产成本,设计团队就应该为ASIC设计进行巨大的前期NRE投资吗?而设计团队为高度可配置性能集和快速升级的市场需求所开发的最终产品是否只有FPGA才能满足吗?
奇怪的是,高密度IC设计所面临的越来越艰巨的挑战在许多方面使争论失去了意义。随着ASIC设计向新一代工艺节点移植,设计正变得越来越复杂,软件成分也越来越多,验证执行时间越来越长。而且最近的研究表明,60%以上需重新设计(respin)的ASIC的失败原因不是时序或功率问题,而是逻辑或功能性错误。
因此,功能验证已经成为ASIC开发周期中最关键的环节,通常也是最耗时的。越来越多的ASIC设计师发现用FPGA建立与设计功能等效的原型可以最好地满足目标要求。事实上,目前90%以上的ASIC在流片(tapeout)前部分或者全部地用FPGA创建了原型。
因此,问题不再是用ASIC还是FPGA实现IC设计。为了满足最新的市场需求,大多数设计团队必须两者都做。
验证方案
随着ASIC密度的提高和设计复杂性的增加,对流片一次性成功的需求越来越迫切,而错误出现的可能性却越来越高,因此设计师无疑需要一种能够在短时间内发现复杂芯片设计中所有错误的高效验证方法。传统的软件模拟技术无法再为那些为满足紧迫的上市时间而奋斗的设计团队提供足够的支持。
就拿典型的移动电话芯片组设计来说。虽然RTL模拟可以为设计提供高级别可视性,但软件模拟的低性能意味着导入该芯片组需要长达30天的时间,从而使得这种方法不具有实际可行性,并极大地限制了合理验证的等级和数量。使用较高层模型的软硬件协同仿真方法可以将引导操作系统所需的时间缩短到10天,但即使这样仍然不管用。另外,这些方法要求开发复杂的测试台,而测试台具有不完整性。虽然C模型模拟可以提供更短的运行时间,也许可以短至24小时,但仍无法满足ASIC设计师通常需求的的详细等级。
ASIC设计师需要的是一种接近ASIC运行速度的验证方法。ASIC设计师需要通过某种方法来使用实际的激励信号,而不是测试台。他们需要一种负担得起的、便于部署的验证方法来支持软硬件调试在整个设计团队的分配。此外,这种验证方法不仅能全速运行操作系统和应用软件,还能方便地集成外部系统组件和接口。
使用FPGA实现ASIC原型,设计师可以在一秒内运行上百万个测试向量,这个速度比传统的软件模拟要快上一百万倍。移动电话芯片组的验证时间在用软件模拟器时最多只能缩短到1个月,但用FPGA原型只需30秒就可以了。
这种性能优势在设计周期的软件和系统集成阶段可以提供巨大的益处。通过以ASIC相仿的速度运行,FPGA原型允许设计师验证嵌入式或应用软件在硬件上的运行结果,也可以利用视频流或网络数据来测试性能以及识别难以发现的缺陷;如果设计采用了嵌入式CPU,还可以在ASIC设计完成前验证操作系统的性能。另外,通过对设计施加真实环境下的激励信号,验证工程师可以避免测试台开发所带来的艰巨任务。
转换工具
也许ASIC设计师遇到的最大问题并非是决定是否要用FPGA做原型,而是应该在“ASIC到FPGA转换工具”中寻找什么类型的性能。
很少有设计师有时间或资源同时用ASIC和FPGA实现他们的IC。不但他们各自的技术截然不同,而且在使用上也存在较大差异。因此,如果要想ASIC原型平台取得成功,首先必须能够准确地转换ASIC和FPGA之间的架构差异。
分割是ASIC到FPGA转换工具的第二个必要的功能。随着ASIC复杂性的提高,集成的功能越来越多,希望能够快速和高性价比地验证设计的设计师们必须将芯片的功能划分到多个FPGA上。许多ASIC设计师倾向于手工完成这项任务,但这样做非常容易出错,具有很大的风险。
在设计准备进行综合前,验证工程师还必须了解ASIC原型工具如何帮助用户测量和提升性能。这种工具可以让用户优化定时路径吗?这种功能可以扩展到跨多个FPGA的那些路径吗?工具可以提供有关定时性能的任何报告或分析结果以便用户在实际硬件编程前评估原型吗?
通过可编程逻辑创建原型平台来观察和验证ASIC功能,设计师可以快速而经济地识别潜在错误,降低与产品相关的整体风险,同时满足上市时间要求。 图:不同验证方法导入移动手机芯片组所需时间,目前超过90%的ASIC和ASSP采用FPGA原型设计,使得FPGA成为关键的IC验证方法。
下一篇:用于视频系统的单SCART接口