System verilog 中DPI接口部分一个函数有个地方没看懂
时间:10-02
整理:3721RD
点击:
这个是DPI接口中需要调用的一个C函数,入口都为Logic类型的开放数组
大致如下(这只是整个函数的一部分):
void reverse_logic(const svopenArrayHandle a, const svopenArrayHandle b)
{
int left,low;
svlogic sv1,sv2;
left=svleft(a, 1);
low=svlow(a,1);//这句话是取这个开放数组的最低位, 但是为啥右边都是1啊?
sv1=svGetLogicArrElen1(a,0);//这句话我的理解是取开放数组a中的第0位的数据
svputLogicArrElem1(b, sv1,3);//但是这句话我就不太理解了,括号中有3位 ,求高人指教
}
大致如下(这只是整个函数的一部分):
void reverse_logic(const svopenArrayHandle a, const svopenArrayHandle b)
{
int left,low;
svlogic sv1,sv2;
left=svleft(a, 1);
low=svlow(a,1);//这句话是取这个开放数组的最低位, 但是为啥右边都是1啊?
sv1=svGetLogicArrElen1(a,0);//这句话我的理解是取开放数组a中的第0位的数据
svputLogicArrElem1(b, sv1,3);//但是这句话我就不太理解了,括号中有3位 ,求高人指教
}
后来认真查看了 SV的语法手册,问题解决了 ,感谢大家
thanska lot
是不是函数有缺省参数值?