工程组织
可以将一些公用的变量定义成package,放到同一个sv文件中,然后在需要用到公用变量的文件中通过import来引用变量,创建filelist时,需要通过+incdir+(包含package的sv文件的路径)来指示,并将这些package的sv列在其他sv前面
package rv_param_pkg;
parameter WITDH = 8;
endpackage
package rv_typedef_pkg;
import rv_param_pkg::*;
typedef struct packed {
logic [WIDTH-1:0] data;
} rv_l1d_req_t;
typedef enum logic [1:0] {
FETCH = 2’b00,
FLUSH = 2’b01,
FLUSH_ALL = 2’b10;
} rv_opcode_e;
endpackage
module test
import rv_param_pkg::*;
import rv_typedef_pkg::*;
(
input clk,
input rstn
);
endmodule
常用语法
将变量设置为全0:assign a = ‘0;
获取变量位宽:$bits(a)
将logic转为枚举类型:exe_type_e’(a[1:0])
标签:编码,rv,技巧,package,typedef,sv,pkg,import,SystemVerilog
From: https://www.cnblogs.com/wt-seu/p/17529768.html