Enums SystemVerilog-使用枚举可以获得范围吗?
使用typedef枚举,您是否可以为未分配的值设置一个范围?例如:Enums SystemVerilog-使用枚举可以获得范围吗?,enums,verilog,system-verilog,Enums,Verilog,System Verilog,使用typedef枚举,您是否可以为未分配的值设置一个范围?例如: typedef bit [3:0] enum {BLUE = 4'h0, RED = 4'h1, OTHERS = 4'h2 to 4'hF}; 还是类似的?如果用户选择的值也未分配,会发生什么情况?枚举中不能有范围。不过,其余部分取决于您将如何使用它。例如,在案例陈述中: case(sel) BLUE: do-blue-function; RED: do-red-function; default: do-oth
typedef bit [3:0] enum {BLUE = 4'h0, RED = 4'h1, OTHERS = 4'h2 to 4'hF};
还是类似的?如果用户选择的值也未分配,会发生什么情况?枚举中不能有范围。不过,其余部分取决于您将如何使用它。例如,在案例陈述中:
case(sel)
BLUE: do-blue-function;
RED: do-red-function;
default: do-other-function;
endcase
枚举中不能有范围。不过,其余部分取决于您将如何使用它。例如,在案例陈述中:
case(sel)
BLUE: do-blue-function;
RED: do-red-function;
default: do-other-function;
endcase
系统Verilog中的枚举值可能超出范围。如果选择四状态类型作为基类型,则这在使用枚举描述FSM时特别有用,例如:
逻辑
的默认类型是x
,因此默认情况下,上面的变量状态
将具有值3'bxxx
。因此,通过使用四状态基类型,我们可以对未初始化状态进行建模,以检查FSM是否已正确重置
因此,您会问“如果用户选择一个未赋值的值,会发生什么情况?”变量将具有该值,并且,如Serge的
案例中的示例中所示,in将不等于任何已定义的枚举值。System Verilog中的枚举值可能超出范围。如果选择四状态类型作为基类型,则这在使用枚举描述FSM时特别有用,例如:
逻辑
的默认类型是x
,因此默认情况下,上面的变量状态
将具有值3'bxxx
。因此,通过使用四状态基类型,我们可以对未初始化状态进行建模,以检查FSM是否已正确重置
因此,您会问“如果用户选择一个未赋值的值,会发生什么情况?”变量将具有该值,并且,如Serge的案例
示例中所示,in将不等于任何定义的枚举值