我有以下代码:
file.sv
module svtest();
import "DPI-C" function void my_func(output bit [31:0] id, input bit [31:0] size);
bit [31:0] my_id;
bit [31:0] my_size;
initial
begin
my_size = 1 << 30;
my_func(my_id, my_size);
$finish();
end
endmodule
filc.c
void my_func(svBitVecVal* id, svBitVecVal* size)
{
. . . . .
}
我有的问题: 我想将“大小”的矢量位不是常量长度(32位),我希望将未定义的位向量传递给c文件。 我看到类型“svOpenArrayHandle” - 看起来不错,但我无法弄清楚如何在DPI导入上声明它:
import "DPI-C" function void my_func(output bit [31:0] id, input bit size[])
- &gt;提出错误: - (
有什么建议吗?
感谢。
答案 0 :(得分:0)
无法将大小不一的数组传递给带有指针的C函数。你将要合成硬件,它不能变化。它不能根据您的要求增长或缩小。