Top*_*opa 0 system-verilog verilator
我想将逻辑打包数组转换为longint unsignedsystemverilog,然后我可以使用 DPI-C 将其导出到 C++ unsigned long。我使用的模拟器是Verilator。检查下面的示例。
logic[31:0] v1;
logic[63:0] v2;
int a = signed'(v1); //cast to signed int
int b = int'(v1); //cast to signed int
int unsigned c = unsigned'(v1); //cast to unsigned int
longint d = longint'(v2); //cast to signed long
//longint unsigned e = longint unsigned'(v2); //This doesn't work. I need to cast to unsigned long.
Run Code Online (Sandbox Code Playgroud)
您需要使用创建一个不带空格的 SystemVerilog 类型typedef。这是一个例子:
// ..
typedef longint unsigned uint64_t;
uint64_t e = uint64_t'(v2);
Run Code Online (Sandbox Code Playgroud)