在ModelSim波形图中以参数名显示变量
在使用Verilog HDL编写有限状态机等逻辑的时候,状态机的各个状态通常以参数表示,但当使用ModelSim仿真的时候,状态机变量在wave窗口中以二进制编码的形式显示,例如:4’h0、4’h1等。这种显示形式不是很直观,但我们可以使用ModelSim提供的命令将状态机变量以“文本”形式的参数名显示,从而有利于调试。
假如一个状态机有如下的编码:
parameter WAIT_INPUT1 = 2'b00, // 状态机参数定义,表示4个状态
DELAY1 = 2'b01,
DELAY2 = 2'b10,
WAIT_INPUT2 = 2'b11;
reg [1:0] current_state;
缺省情况下,状态机current_state在ModelSim的View窗口中以二进制编码的形式显示,如下图所示:
为了在View窗口中以参数名的形式显示current_state状态机,我们可以执行下面的步骤:
首先使用ModelSim的virtual type命令定义一个新的枚举类型(FSM_TYPE):
virtual type {
{