proFPGA验证环境介绍
proFPGA是mentor的FPGA原型验证平台,当然mentor被西门子收购之后,现在叫西门子EDA。我们介绍一下原型平台是做什么的,再跟现在市场占有率高的HAPS原型平台做个对比。
原型平台是做什么的?
在ASIC设计完代码后,会交付给DV验证的同事,也就是我们常说的EDA验证,在EDA验证完成后,会把大部分的bug都验出来,再交给原型验证Team,原型验证的同事会将ASIC设计的代码Porting到硬件平台,也就是FPGA上,这个过程中,有很多东西是需要替换的,比如memory、时钟、PAD或者是PHY这些,因为这些都是底层的硬核,芯片厂商和FPGA厂商用的是不一样的;当然还有些代码是因为让FPGA方便综合,在保证功能相同的情况下进行替换。
那既然FPGA上的代码跟ASIC有差别,也就是说哪怕FPGA验证通过了,也不能保证ASIC的代码是正确的,为什么还要用FPGA进行验证呢?
原型验证是跟EDA验证相辅相成的,大部分的功能其实都是EDA来验证的,FPGA上更多的是验证系统功能,比如在SOC的芯片上,软件同事可以在FPGA原型平台上直接使用软件来完成各种功能和业务的验证,这些都是系统级的验证是,是EDA验证很难覆盖的。
EDA验证总归来说是软件的验证,跑起来速度非常慢,而FPGA的速度是软件仿真的百倍千倍,这样软件的同事可以提前将回片后需要跑的软件开发并验证完。
市场上常用的原型平台对比
Synopsys HAPS-100
目前市场占有率高的还是Synopsy HAPS-100,从HAPS-70、HAPS-80再到HAPS-100,Synopsys的原型平台已经越来越成熟,支持自动Partition,还有些跟HAPS配套的成熟解决方案供客户选择。
国产平台
这几年国产EDA工具和EDA平台突飞猛进,但我们还是要正视跟三大EDA厂商的差距,国内的原型平台有些不支持Partition,需要手动进行Partition,这样调试难度较大,调试周期较长;当然还有些平台不稳定的问题,即便像HAPS这种已经存在多年的原型平台,依然存在bug,在使用过程中会踩到很多坑。
西门子 proFPGA
作为3大EDA厂商之一的西门子,在原型平台上也不落下风,他们的开发能力自然毋庸置疑,经过多年的打磨,proFPGA平台在易用性和稳定性上,已经有了抢占HAPS市场的实力。
下面我们从几个方面来对比下这两个原型平台:
易用性
HAPS的开发工具是protocompiler,ProFPGA的开发工具是VPS,两个工具都支持自动Partition,我们只需要合理的将模块划分的指令传给工具即可;
HAPS其实更像FPGA的开发,无论是使用方法还是调试手段、调试界面,基本都跟我们平时用Vivado差不太多;proFPGA由于是后起之秀,加了很多更加实用的功能,比如支持各种VirtualModel,比如UFS Model、DDR Model,这一点proFPGA略胜一筹。
稳定性
二者的稳定性也相差不大,都是EDA历时多年开发的产品,稳定性还是可以肯定的,二者可谓旗鼓相当。
可扩展性
HAPS和proFPGA上都留有插扣板的位置,可以插各种外设接口,比如我们需要调USB/PCIe这种高速外设或者UART/SPI这种低速外设,都可以通过这种扣板连接到FPGA,这方面两个产品也是旗鼓相当。
但HAPS的4个VU19P都是做在HAPS内部,无法更换的,而proFPGA的FPGA也是以扣板的形式跟底板连接,FPGA板也是可换的,不仅FPGA数量可换,FPGA支持的型号也不仅仅是VU19P,可以是Intel的Stratix10 GX,还可以是AMD的MPSoc,更加的灵活。
在可扩展性方面依然是proFPGA略胜一筹
调试
我们前面讲过,HAPS更像原生的FPGA开发,debug手段也非常类似。
而proFPGA除了通过probe抓信号,还可以在FPGA运行过程中,在terminal中将DUT中的某个信号force成某个值,比如我们想看某个信号是0和1是的功能,那无需要重新综合,直接在terminal中输入指令即可,给调试带来了很大的便捷性。
proFPGA还支持全波形dump功能,这对于很多IP的开发调试很有帮助,它可以像我们EDA仿真时将FPGA中的所有信号都dump下来,当然此时时钟比较慢,但这的确是一个非常好用的调试手段。
对于memory,proFPGA还支持backdoor访问,对于需要验证memory逻辑的功能非常实用。
proFPGA只支持通过网络或者PCIe来现在bit和debug,这对于平台的调试和管理非常友好。
在这调试方面,proFPGA优势很大。
价格
HAPS因为存在时间很久了,口碑也一直不错,价格既然很高。而proFPGA作为后起之秀,在各方面都不落下风的前提下,价格相对HAPS来说有很大优势