我们正在处理系统 verilog DPI 调用。在编译C++
文件时,我们收到如下错误:
错误:无法在赋值中将 'bool' 转换为 'svLogic*'
这svLogic
是四态变量。
VCS 模拟器在 DirectC 方法中具有预定义函数vc_putScalar
,其中 vc_putScalar 是“通过引用将标量 reg 或位的值传递给 vc_handle”。vc_handle 是函数中的输入或输出变量。使用 VCS,我们可以使用:vc_putScalar(mem_req_rdy, mm->req_cmd_ready());
我们正在开发 Modelsim questa 模拟器,因此 DirectC 将无法工作。我们厌倦了修改vc_putScalar
DPI IEEE Std 1800-2012标准的内容。我们将预定义的函数逻辑更改为:
mem_req_rdy = mm->req_cmd_ready();
这里 mem_req_rdy 是 svLogic,req_cmd_ready 是 bool。