FPGA验证学习(七): FPGA原型验证是什么?

前言

不得不说关于硬件的设计的文章内容关注度还是不如软件,哈哈哈,这里来看看FPGA原型验证到底是什么?

我也是刚刚入门的小菜鸡,用白话文说说我的理解,如果有什么问题,欢迎大家指出。

验证

其实关于芯片的验证有几个步骤,但是在流出网表之前的我们叫前端,而前端设计相关的两个验证就是EDA验证和FPGA原型验证。

1-EDA验证

EDA验证,可以是正儿八经的芯片验证,会接触到verilog语言,并使用system verilog语言写对应的测试。这个好处就是有什么问题或者bug出现,定位起来很快。有点像白盒测试,大多数是单元测试。这部分的EDA芯片测试必须要看一下SV(SystemVerilog)和UVM(UVM(Universal Verification Methodology) )。

这部分的好处其实就是能接触到前端设计源码,从这个验证转到芯片设计是很顺滑的。这也是很多大厂即使是招聘的设计新员工刚刚来也会让先做几年的芯片验证。

2-原型验证

这个其实就走远了,相对于EDA验证来说,它更像是一个黑盒测试。因此这个在出现问题的时候,是很难去定位的,因为它不能跟踪代码和观察内部节点的波形。

原型验证其实不能直接FPGA验证挂钩。

原型验证根据平台分为:FPGA验证和EMU验证。

EMU(Emulator):硬件真实度及运行速度均介于EDA和FPGA之间,主要用来验证底软业务功能及抓线定位,emulation例化的逻辑对象可认为是一个“低速等效芯片”,用于更完整的芯片验证。

那它的优点在哪呢?其实就是相当于把设计的VHDL语言的东西放到了真正(假的)的硬件环境去运行,因为FPGA验证就是在上面模仿了芯片的实现功能,同时外围接了一堆器件,这下让整个板子跑起来,这个环境就更接近真实的单板环境了。同时一般来说原型验证的速度也会更快一些。

因此原型验证总体来说会偏向黑盒,系统级的集成验证。

这个领域其实会用到C语言会比较多一点,至于verilog和一些脚本语言也是必要的技巧。

但是这个领域确实是极少的接触到芯片设计的源码,因此离设计会稍微有点远。

以上就是最近对于这个方向的些许了解,后面来梳理梳理整个芯片设计的流程吧。

猜你喜欢

转载自blog.csdn.net/weixin_45264425/article/details/129786989