受支持的数据类型 - 2023.2 简体中文

Vivado Design Suite 用户指南: 逻辑仿真 (UG900)

Document ID
UG900
Release Date
2023-10-18
Version
2023.2 简体中文

下表描述了 C 语言和 SystemVerilog 边界上允许的数据类型,以及 SystemVerilog 与 C 语言之间的双向数据类型映射。

表 1. C-SystemVerilog 边界上允许的数据类型
SystemVerilog C 受支持 注释
byte char 支持
shortint short int 支持
int int 支持
longint long long 支持
real double 支持
shortreal float 支持
chandle void * 支持
string const char* 支持
bit unsigned char 支持 sv_0sv_1
在 C 语言侧,可通过 svdpi.h 来使用
logicreg unsigned char 支持 sv_0sv_1sv_zsv_x:
bit 阵列(打包) svBitVecVal 支持 svdpi.h 中已定义
logic/reg 的阵列(打包) svLogicVecVal 支持 svdpi.h 中已定义
enum 底层 enum 类型 支持
已打包的 struct(结构体)和 union(联合体) 作为阵列来传递 支持
已解包的 bitlogic 阵列 作为阵列来传递 支持 C 语言可以调用 SystemVerilog
已解包的 struct 作为 struct 来传递 支持
已解包的 union 作为 struct 来传递 不支持
打开的阵列 svOpenArrayHandle 支持

要生成 C 语言头文件以提供有关 SystemVerilog 数据类型如何映射到 C 语言数据类型的详细信息:请将 -dpiheader <file name> 参数传递给 xelab。如需了解有关数据类型映射的其他详细信息,请参阅 SystemVerilog 的 IEEE 标准。