在UVM ENV中经常会用到枚举变量,往往会在多处使用同一个枚举变量,那怎么实现呢,上干货~~
首先,先定义枚举变量,并把枚举变量单独包成一个package,这很关键~~
package common_pkg;
typedef enum bit[1:0]{
IDLE = 2'b00,
BUSY = 2'b01
} fsm_e ;
endpackage
如果想在interface中使用枚举类型fsm_e,把common_pkg import进来;
interface dut_if#(WIDTH) (input bit clk,input bit rst_n);
import common_pkg::*;
....
endinterface
如果想在module中中使用枚举类型fsm_e,把common_pkg import进来;
module comm_chk import common_pkg::*;
#(WIDTH) (
input fsm_e fsm_state;
);
...
endmodule
在filelist中列出common_pkg
+incdir+/proj/uvm/env
/proj/uvm/env/common_pkg.sv