浅谈芯片验证中的仿真运行之 compilation unit 技术(实践篇)

本文探讨芯片验证过程中遇到的仿真编译问题,通过实践举例分析了在SystemVerilog中编译单元(compilation unit)的编译顺序对仿真结果的影响。测试表明,module和interface的编译顺序相对灵活,但class定义的编译顺序则有严格要求。文章提出了几个关键测试场景并邀请读者参与讨论。
摘要由CSDN通过智能技术生成

前言

前面文章,讲述了一些关于SV语法下,编译问题的一些基本概念。其实,芯片验证中仿真工具编译仿真文件、RTL文件的一些规则,依据每一家仿真工具内部的编译原理,都是保密的,用户只要按照仿真工具的使用规则去使用,即可。最近,笔者遇到了一个问题,今天空下来,总结一下,欢迎高手指教。

实践举例

请看下面的一个例子:

代码第4、5、6行,分别import 三个package定义包。分别在 test 目录下的uvm_helloworld.sv、dummy_if_cfg_pkg.sv、uvm_pkg 中定义。

代码第14行,分别创建了aa、bb两个class my_class 实例句柄。class 定义在rtl/class_defines.sv中定义。

代码第19行,实例化了一个interface my_if 。在rtl/dummy_if.sv 中定义。

代码第21行,实例化一个加法器u_add。在rtl/add.v 中定义。

接下来,我们看一下编译文件列表:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那么菜

你的鼓励和批评是我最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值