DPI no tiene comandos especiales de impresión. Puede usar C printf()
o std::cout << "Your Message Here" << std::end
regular. Puede encontrar algunos tutoriales razonables con su motor de búsqueda preferido con [systemverilog dpi] como su término de búsqueda.
Si quieres ser perezoso, puedes mantener #include <vpi_user.h>
en tus archivos DPI para seguir usando vpi_printf()
Como alternativa, haga que su DPI llame a una función SV. Con este método, es posible agregar la marca de tiempo del simulador. Ejemplo:
my_sv.sv:
// ...
export "DPI-C" function dpi_print;
function void dpi_print(input string msg);
$display("%t :: %s", $time, msg);
endfunction : dpi_print
// ...
mi_dpi.c:
#include <stdlib.h>
#include <stdio.h>
#include "svdpi.h"
...
extern dpi_print(const char* msg);
....
int some_c_func( /* ... */ ) {
// ...
dpi_print("message");
// ...
}