微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 请教system verilog 与C++编译问题

请教system verilog 与C++编译问题

时间:10-02 整理:3721RD 点击:
手头有一个C++模型,想加入到SV的testbench中,但是questa仿真c code的结果和g++的不一样,请大家帮忙看看。
原始C++code的main函数如下:
int main(int argc, char *argv[])
{
string inFilename;
int Width,Height,predictor;

inFilename = string(argv[1]);
Width = atoi(argv[2]);
Height = atoi(argv[3]);
PredictorType = atoi(argv[4]);
......
}
函数内部不变,为了方便sv调用该函数,将main改名为 dec,不知道string类型如何在sv和c++中传递,暂时将文件名直接付给了inFilename,更改代码如下:
int dec(int w,int h, int p)
{
string inFilename;
int Width,Height,predictor;

inFilename = "input.raw";
Width = w;
Height = h;
PredictorType = p;
......
}

然后在sv代码中调用该dec函数,编辑仿真都没有问题,但是sv调用后计算结果,跟c++ 单独运行结果总不一样,能帮忙看看数据传递有错误吗?

看不出来~~建议调试看看传递进来的数据是不是跟预想的不一样,以确定是数据传递的问题。

你可以试试uvm-connect

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top