微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > 有没有办法disable一个module

有没有办法disable一个module

时间:12-12 整理:3721RD 点击:
因为所有case和env都是一次compile的,然后用$uvm_test指定run哪个case,
checker封装在module里面,但对于有些case,某些checker的module不能打开,需
要disable掉。所以ifdef在这种情况下是不能用的
module里面类似这样呼叫自定义pli的code,这code在某些case下不希望被执行到
always(...)begin
  aaa = 1;
  $mydefine_pli_func_aaa(aaa,bbb);// 在某些case下不希望执行
end
现在做法,每个always加多个check_en,但是checker很多,owner也多,觉得还是
比较麻烦,即使写script
always(... && check_en)begin
  aaa = 1;
  $mydefine_pli_func_aaa(aaa,bbb);// 在某些case下不希望执行
end
如果能这样就更好了 disable  module_check1; 但是disable不能disable一个
module
想过利用SVA来处理,然后用$assertoff(),但下面这code应该不符合SVA语法
assert property(...)begin
  aaa = 1;
  $mydefine_pli_func_aaa(aaa,bbb);// 在某些case下不希望执行
end
大家有没有更好做法,谢谢~

做2个模块,一个真实的,一个虚拟的,接口一样
外面用mux选择信号

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top