SystemVerilog搭建验证平台使用DPI时遇到的问题及解决方案

本文介绍了在Windows环境下使用Questasim 10.1b进行SystemVerilog验证平台搭建时遇到的DPI相关问题及解决步骤。作者详细描述了从C代码导入、编译器缺失、VHDL编译问题,到BaseClass.sv文件诡异改变的过程,以及最终解决问题的方法。建议在遇到问题时及时记录并解决,以备后续参考。
摘要由CSDN通过智能技术生成

本文目的在于分享一下把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编译器作为支持,所以开始没想到是缺少东西,以为是调用格式错误

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UVM测试平台是一种基于SystemVerilog的测试方法,它可以实现不同阶段的测试功能。搭建UVM测试平台的过程主要包括UVM框架和测试环境的编写,以及仿真工具的设置和调试。 首先,需要安装和配置仿真工具,例如Questsim,以确保仿真环境能够正常运行。在安装好仿真工具后,需要编写UVM框架,这包括事务和通信机制的定义,以及阶段的规范和任务。这些规范和任务可以通过定义宏参数的方式指定,以实现代码的灵活性和可重用性。 接着,需要编写测试环境,这包括测试集合、测试向量和检查点等。测试向量可以通过定义随机变量的方式生成,以实现更加全面和有效的测试。同,需要定义检查点,以确保仿真结果的正确性和可靠性。 在搭建UVM测试平台的过程中,我们也可能会遇到一些问题。例如,当我们编写UVM测试程序,会遇到一些语法和语义错误。为了解决这些问题,我们需要仔细查看日志和调试信息,以定位代码中的错误,并进行相应的修正。此外,我们还可能会面临一些性能和稳定性方面的问题。为了解决这些问题,我们可以考虑通过设置波形形式和序分析器,以优化UVM测试平台的性能和稳定性。 总之,搭建UVM测试平台是一个比较复杂和耗的过程,需要我们具备一定的技术和经验。只有通过持续不断的学习和实践,才能够掌握UVM测试方法,并且不断提高测试的效率和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值