FPGA原型验证已是当前原型验证的主流且成熟的芯片验证方法——它通过将RTL移植到现场可编程门阵列(FPGA)来验证ASIC的功能,并在芯片的基本功能验证通过后就可以开始驱动的开发,一直到芯片Tape Out并回片后都可以进行驱动和应用的开发。
目前ASIC的设计变得越来越大,越来越复杂,单片FPGA已不能满足原型验证要求,多片FPGA验证应运而生。本文我就将与大家探讨FPGA原型验证的几个经典挑战性场景,(具体应对的办法,请戳原文。)
容量限制和性能要求
tion] 由于SoC芯片的设计频率很高,为了让原型验证平台尽可能和SoC芯片性能接近,开发者期望让FPGA原型平台运行在尽可能高的频率上,但是由于SoC的RTL代码是为芯片实现设计,大量深层次组合逻辑的存在(这样可以节省芯片面积),导致了SoC RTL代码在FPGA上实现时时序收敛困难,往往只能达到几MHz。
FPGA也是芯片产品,所以内部的信号无法直接观测。通常需要借助于FPGA的Debug工具在生成Bit文件前选取要观察的信号。当Bit文件加载运行时,必须通过配套的Debug工具观察指定的信号波形,但是受限于Block RAM的容量以及信号优化等原因,如此调试的效率比较低。
产品的成熟度
原型验证是一项壁垒颇高的技术,串联着芯片设计和最终应用,需要极强的适用性和灵活度来适应发展迅速和多样性的芯片研发,通过和一线芯片研发人员的通力合作,打造使用生态圈,不断进化和迭代技术才能始终帮助芯片开发者实现“Shift-Left”研发,加快产品上市时间。
各类FPGA原型验证平台技术对比目前市面上常见的FPGA原型验证平台可以分为两大类别,一类是芯片设计公司自己制作的FPGA板(Build Your Own, 以下简称BYO); 另一类是商用FPGA平台,比如新思科技的HAPS方案。
就上文提到的一些具体考量点,各类原型验证平台的对比如下: https://www.synopsys.com/blogs/smart-everything/zh-cn/2020/08/fpag-prototying/
如下表所示,HAPS80方案,在全面性,成熟度,和对大规模设计的支持上,都有明显的优势。