SystemVerilog学习笔记(三)
一、用户自定义和枚举数据类型
1.1. 用户自定义类型(typedef)
局部typedef定义:只用于设计的特定部分时,typedef的定义可在module或interface中
共享typedef定义:当在多个模型中使用时,typedef的定义可在包中进行,module,interface,program block可以通过导入packet子项来使用typedef定义
- 例如:
package chip_types;
`ifdef TWO_STATE
typedef bit dtype_t; //当宏定义TWO_STATE时定义dtype_t为bit类型
`else
typedef logic dtype_t;
`endif
endpackage
import chip_types::dtype_t; // import 定义 into $unit
module counter(
output dtype_t [15:0] count,
input dtype_t clock, resetN
);
.