uvm编译的一些分享
很久之前写过一个非常简单的uvm_model
文章地址
但是没有提编译的一些细节:
这里面一部分是封装在package中的,一部分则是直接在.f文件直接加载的。
组件主要是通过package封装的,至于case以及sequence则采用,直接加载的方式。
这样做的原因是,如果case以及sequence也采用package封装的话,会给调用rtl中的hierarchy造成很多的麻烦。
../tc/vcs_pkg.svh
../tc/user_plus.sv
../tc/seq/base_sequence.sv
../tc/seq/sequence_normal.sv
../tc/tc_base.sv
../tc/tc_normal.sv
../tc/tc_direct.sv
../tc/tc_random.sv
以上是tc.f文件
import uvm_pkg::*;
import base_utils_pkg::*;
import env_pkg::*;
以上是vcs_pkg.svh的内容
+incdir+../env
+incdir+../harness
+incdir+../reg
+incdir+../tc
+incdir+../utils
+incdir+../utils/tx_utils
+incdir+../utils/rx_utils
+incdir+../utils/base_utils
../comm/sv_define.sv
../comm/glb_plus.sv
../utils/base_utils/my_interface.sv
../utils/base_utils/base_utils_pkg.svh
../utils/tx_utils/tx_utils_pkg.svh
../utils/rx_utils/rx_utils_pkg.svh
../env/env_pkg.svh
-f ../tc/tc.f
../harness/harness.sv
以上是tb.f的相关内容。