编程自学网编程自学网编程自学网

uvm 与 system verilog的理解

问题:

uvm 与 system verilog的理解?

答案:

数字芯片和FPGA的验证。主要是其中的功能仿真和时序仿真。

验证中通常要搭建一个完整的测试平台和写所需要测试用例。而verilog这种硬件描述语言是出于可综合成电路的目的设计出来的,所以它在书写测试平台和测试用例是不够方便的(测试平台和用例不需要综合成电路)。而SV正是由于它不需要满足可综合性,所以它变得非常灵活,它引入了面向对象语言的概念。在验证方面,如果说verilog是C语言的话,那SV就是C++,他不光有verilog的所有特性,还有自身面向对象的特性。如果你了解一点面向对象的概念的话,应该能够更好地理解其中的差异。

但说到底SV实际上只是一种语言,它撑不起现在芯片庞大的验证规模。就像英语,你光知道词汇和语法是不够的。你需要一种模版,来让行文变得容易、流畅和优美,来应付各种复杂的场景。SV这种语言之上的就是UVM、OVM等方法学。

说是叫方法学,其实UVM更像是一种库。你调用这种库的时候,就可以使用库中各种写好的函数。更棒的是,你可以使用它预设好的成熟的框架体系。这样大量的测试平台所需要的代码都可以复用,作为验证工程师,你只需要集中注意力去设计你所需的测试用例,考虑会发生故障的情形就可以了。

SystemVerilog,ASIC front end verification 本质上还是仿真,需要提供输入 SV能够跟方便编写输入源 控制激励在不同时钟周期的变化C只是一个辅助 处理特殊任务函数 C/systemC跟多情况下用来编写对照模型 计算对照参数但是testbench还是基于SV的 而且TB需要Fcov/ Assertion, SV更方便。工业界流行的验证方法UVM OVM在ASIC验证上大多数也是由SV实现的。

未经允许不得转载:编程自学网 » uvm 与 system verilog的理解