SystemVerilog 和 C/C++ 之间的桥梁 DPI
1. 基本讲解
1.1 什么是DPI?
SystemVerilog引入了DPI(Direct Programming Interface),能够更简洁的连接C/C++或者其他非Verilog的编程语言。只要使用import声明和使用,导入一个C子程序,就可以像调用SystemVerilog中的子程序一样来调用它。
1.2 为什么DPI?
Verilog与C之间进行程序交互,PLI(Programming Language Interface),经过了TF,ACC,VPI等模式演变。通过PLI方式连接一个简单的C程序,需要编写很多代码,并理解多仿真阶段的同步,调用段,实例指针等概念。PLI方式给仿真带来了额外的负担。
那么,为什么SV/UVM需要与其它语言产生交互呢?这