本文目的在于分享一下把DPI稿能用了的过程,主要说一下平台其他部分搭建好之后,在完成DPI相关工作阶段遇到的问题,以及解决的办法。
工作环境:win10 64bit, Questasim 10.1b
首先,ref_model中导入C代码,同时将C代码放在相同与ref_model相同目录下
import "DPI-C" context function void huffman(input int datain[256], output int dataout[35][32]);
C代码中添加include
#include "svdpi.h"
之后开始,RTL代码+验证平台代码编译通过,图形界面点仿真,报错
Can't locate a C compiler for compilation of DPI export tasks/functions
Null foreign function pointer encountered when calling 'huffman#_mti_copy_op
Failed to find user specified function 'huffman' in DPI C/C++ source files.
以上几个错误,每一行是一个错误,不是在同一次出现。
因为SV绿皮书上没有提到需要额外的gcc编译器作为支持,所以开始没想到是缺少东西,以为是调用格式错误