文件:
src/dpi/uvm_dpi.svh
类:
无
SystemVerilog DPI,全称SystemVerilog直接编程接口 (英语:SystemVerilog Direct Programming Interface)是SystemVerilog与其他外来编程语言的接口。能够使用的语言包括C语言、C++、SystemC等。直接编程接口由两个层次构成:SystemVerilog层和外来语言层。两个层次相互分离。对于SystemVerilog方面,另一边使用的编程语言是透明的,但它并不关注这一点。SystemVerilog和外来语言的编译器各自并不需要分析另一种语言的代码。由于不触及SystemVerilog层,因此支持使用不同的语言。不过,目前SystemVerilog仅为C语言定义了外来语言层。所以,每个函数DPI的文件都有*.svh和*.cc 两个文件,首先来看uvm_dpi.svh 该文件秉承了UVM风格,在该文件中实现include dpi目录下的所有文件。
uvm_dpi.svh源代码如下:
`ifndef UVM_DPI_SVH `define UVM_DPI_SVH // // Top-level file for DPI subroutines used by UVM. // // Tool-specific distribution overlays may be required. // // To use UVM without any tool-specific overlay, use +defin+UVM_NO_DPI // `ifdef UVM_NO_DPI `define UVM_HDL_NO_DPI `define UVM_REGEX_NO_DPI `define UVM_CMDLINE_NO_DPI `endif `include "dpi/uvm_hdl.svh" `include "dpi/uvm_svcmd_dpi.svh" `include "dpi/uvm_regex.svh" `endif // UVM_DPI_SVH
uvm_dpi.cc 的源代码如下:
// // Top-level file that includes all of the C/C++ files required