UVM编译问题

📅 2026/7/12 22:51:34
UVM编译问题
1.首先澄清最常见的incdir是把某个路径加到编译列表去方便inlude文件的时候能找到不想incdir的话只能一个一个写上路径。2.当带vip编译时可能不需要agent只需例化vip的env可能对transaction加上约束注意编译时的第一个文件一定要import对应vip的包否则识别不了。3.当遇到很奇怪的错就是那种搜不到的比如syntax error, ../env/xx_transaction.sv , 44(expanding macro):token is #, uvm_object_utils(xx_transaction) #0, m_uvm_bject_registry_internal(Txx_transaction,Sxx_transaction):....搜索不出来的而且语法没错那么可能uvm库没有导入先把库导入第一个编译的文件中即可。4.注意transaction中定义的rand类型的动态数组时在monitor中赋值的时候一定要把该变量new出来如rand bit[31:0] data[]; - monitor 中要写trans.data new[1];//开一个空间。