ncsim中使用多维数组的问题
时间:10-02
整理:3721RD
点击:
各位:
我用SV调C,然后在C函数里面使用二维数组,结果出来错误结果,log最终提示如下:
ncsim: *E,SIGUSR:Unix Signal SIGSEGV raised from user application code.
所使用的sv与C代码如下
sv文件:
import “DPI-C” function void crun();
program test;
initial begin
crun();
end
endprogram
C文件:
#include<stdio.h>
#include<stdlib.h>
#include<svdpi.h>
void crun() {
unsigned short array[1080][1920];
int i,j;
for(i=0;i<1080;i++) {
printf("i=%d\n",i);
for(j=0;j<1920;j++) {
array[i][j]=1;
}
}
}
结果是在显示了i=536之后就出现上述的ERROR了。有谁知道是真么回事,该怎么解决么?
我用SV调C,然后在C函数里面使用二维数组,结果出来错误结果,log最终提示如下:
ncsim: *E,SIGUSR:Unix Signal SIGSEGV raised from user application code.
所使用的sv与C代码如下
sv文件:
import “DPI-C” function void crun();
program test;
initial begin
crun();
end
endprogram
C文件:
#include<stdio.h>
#include<stdlib.h>
#include<svdpi.h>
void crun() {
unsigned short array[1080][1920];
int i,j;
for(i=0;i<1080;i++) {
printf("i=%d\n",i);
for(j=0;j<1920;j++) {
array[i][j]=1;
}
}
}
结果是在显示了i=536之后就出现上述的ERROR了。有谁知道是真么回事,该怎么解决么?
我也碰到类似的问题,你后来怎么解决的?
how to reduce the dumping time