【发布时间】:2019-12-28 00:53:36
【问题描述】:
我想在我使用 DPI 传递给 C 的结构中使用动态数组。
我如何在 C 端实现它。我尝试在 struct 内使用 svOpenArrayHandle 但仍然无法正常工作。 示例:
Struct a {
int x;
int y[];
}
【问题讨论】:
标签: system-verilog verification system-verilog-dpi
我想在我使用 DPI 传递给 C 的结构中使用动态数组。
我如何在 C 端实现它。我尝试在 struct 内使用 svOpenArrayHandle 但仍然无法正常工作。 示例:
Struct a {
int x;
int y[];
}
【问题讨论】:
标签: system-verilog verification system-verilog-dpi
根据 LRM 部分 35.5.6 形式参数的类型,结构只能包含该部分中列出的类型。动态大小的数组不是其中之一。
传递一个 int 数组会很容易,然后解压缩成一个合法的 C 结构。
【讨论】: