如果不添加typedef,例如 enum{NO,YES}bool ,那么bool为枚举类型“变量”,而“ enum{NO,YES} ”按照“匿名类型”(anonymous type)来理解;如果添加typedef,例如 typedef enum{NO,YES}bool_t ,那么bool_t为枚举类型,即通过typedef将匿名类型“显式”(explicitly)定义为bool_t,并且接下来可重复利用bool_t来声明多个变量。
关键词:
enum,struct,typedef
避坑指南:
对于重复使用的enum或struct定义,默认添加typedef,先定义类型再利用该类型去声明变量。
参考代码: sv_enum_assignment.sv
仿真结果:
阅读手记: