在高密度IC设计中对 ASIC与 FPGA抉择 zz
时间:12-11
整理:3721RD
点击:
在过去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功能进行研究和验证,设计人员能够快速地地发现潜在的缺陷,降低产品的综合风险,并达到上市时间的要求。
事实上,由于高密度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功能进行研究和验证,设计人员能够快速地地发现潜在的缺陷,降低产品的综合风险,并达到上市时间的要求。
那天看到几台Mentor Graphics这样的仪器
好大的家伙...
FPGA能跑那么高速么...
看起来还是很吸引人的,不过到底这个asic-fpga转换工具实现了没有?怎么只看见一个一个“吗”字:)
其实关于fpga一直有个问题不解:受限于fpga容量,有一些公司需要集成多颗fpga芯片、并进行小心谨慎的设计划分来映射到这些芯片中去,并且还要考虑一系列的设计重用问题。这样的系统不仅昂贵而且并不能保证完全忠实于原设计。为什么Xlinx或者Altera不推出更大容量的fpga芯片呢,即使芯片面积以及价格变为原来的2倍或4倍,但相对于上百万的原型硬件系统以及因为要维护和细分设计带来的人力投入,我想不少公司还是很乐意掏这个钱的。
Xlinx或者Altera为什么不干脆推出一种通用的原型验证系统?作为芯片供应商,这种软硬件整合肯定有优势。
最近的研究表明,超过60%的ASIC项目失败的原因不是时序或者功率的问题,而是逻辑或功能错误。
真的吗?哪里的研究?逻辑都错了就去投片吗?
FPGA原型验证+形式验证不能完全保证功能正确吗?
继续拍!