高密度IC设计中面临的ASIC与FPGA的抉择
在过去10年间,全世界的设计人员都讨论过使用ASIC或者FPGA来实现数字电子设计的好处。通常这些讨论将完全定制IC的性能优势和低功耗与FPGA的灵活性和低NRE成本进行比较。设计队伍应当在ASIC设计中先期进行NRE投资,以最大限度地提高性能、降低尺寸以及降低大批量制造时的成本?或者设计队伍应该为市场设计只有FPGA能够提供的具有高度可配置功能、能够快速完成任务的最终产品?
事实上,由于高密度IC设计面临的日益严重的挑战,上面的观点并不重要。随着ASIC设计人员进入每一个新的工艺过程,设计变得越来越复杂,软件的内容增加了,验证所需的时间越来越长了。最近的研究表明,超过60%的ASIC项目失败的原因不是时序或者功率的问题,而是逻辑或功能错误。为此,功能验证已经成为ASIC开发周期中一个最关键的环节,通常最耗费时间。越来越多的ASIC设计人员发现通过采用FPGA进行功能原型设计能够最好地满足要求。超过90%的ASIC部分或者全部在流片前都采用FPGA进行原型设计。因此问题不在是是否采用ASIC或者FPGA设计。为了满足当前市场的需求,大多数设计队伍必须二者都采用。
验证方法
由于对一流芯片的严重需求,以及随着ASIC密度和设计复杂度的增加带来的缺陷,设计人员需要一种验证方法,以便能够发现复杂芯片设计中所有缺陷,而且需要在较短的时间内完成验证。传统的软件模拟方法不能满足要求。
ASIC设计人员需要的验证方法需要速度快,价格适中,易于使用,支持分散在整个设计队伍中的硬件和软件缺陷,而且能够很快地运行操作系统和应用程序,易于与外部系统部件和接口一起使用。
采用FPGA来实现ASIC原型,设计人员能够每秒运行上百万条测试向量,比传统的软件模拟快一百万倍。在设计周期的软件和系统整合阶段这一性能优势能带来巨大的好处。通过以接近ASIC的速度运行,FPGA原型使设计人员能够使用硬件、流视频或网络数据来验证嵌入式软件或者应用程序,测试性能,发现难于发现的缺陷,如果设计涉及到嵌入式CPU,还能够在ASIC设计完成前验证操作系统的性能。验证工程师也能够使用显示数据进行验证,而不用费时开发测试平台。
ASIC与FPGA转换工具的要求
ASIC设计人员的大问题不再是是否采用FPGA进行原型设计,而是ASIC-FPGA转换工具具有什么功能,他们没有时间和资源使用ASIC和FPGA来实现两套设计方案。二者所用的技术和各自的用途都不同。因此,ASIC原型平台要获得成功,首先必须能够精确地翻译ASIC和FPGA只见的结构差异。门级部件或门控时钟树等常见的ASIC功能难于采用人工转换,也没有时间进行人工转换。更困难的是二者内存的重大差异。理想的ASIC-FPGA转换工具需要能够自动识别各种设计元素,将其映射到FPGA功能,同时执行门控时钟转换和信号-跟踪分配。
ASIC-FPGA转换工具需要的另一个功能是实现分区(partitioning)。因为ASIC越来越复杂,集成了更多的功能,为了更快、更经济地完成验证,设计人员需要将芯片的功能分散到多个FPGA中。这个分区过程非常复杂,而且耗费时间。ASIC原型工具能够自动地将RTL分散到多个FPGA中吗?能够不需要修改RTL源代码?
ASIC原型工具支持自动分区和用户手动分区吗?这个工具支持I/O复用技术、允许用户共享管脚以克服管脚数量的限制吗?ASIC原型工具应当支持察看FPGA内部信号的状态的调试功能。验证工程师必须了解ASIC原型工具如何使用户测量并调整性能。
通过使用可编程逻辑作为原型设计平台,对ASIC功能进行研究和验证,设计人员能够快速地地发现潜在的缺陷,降低产品的综合风险,并达到上市时间的要求。
关键词:
高密度
密度
设计
面临
抉择
人员
能够
功能