7

我可以进行 ModelSim 仿真以在信号上显示文本(而不是数值)吗?我有几个状态机状态说,

localparam S_IDLE  = 2'b00; 
localparam S_START = 2'b01; 
localparam S_STOP  = 2'b10;

S_IDLE例如,有没有办法在信号而不是 00 上显示?谢谢。

4

2 回答 2

9

您可以做的一件事是应该在所有模拟器上工作是创建一个包含 ascii 字符串的信号,然后在模拟窗口中将该信号的基数更改为 ascii:

reg [8*8-1:0] mytextsignal;
always@(state) begin 
    case(state) 
        S_IDLE : mytextsignal = "  S_IDLE";
        S_START: mytextsignal = " S_START";
        S_STOP:  mytextsignal = "  S_STOP";
        default: mytextsignal = " UNKNOWN";
     endcase
 end

它应该在波形查看器中显示为可读文本。

于 2013-08-20T15:39:12.773 回答
2

在 Modelsim 中,您可以使用以下步骤添加 FSM:

  1. 在编译期间使用 FSM 识别和 FSM 覆盖选项 ( +acc, ),+cover
  2. 使用vsim 命令行上的-fsmdebugand选项。-coverage

查看ModelSim 用户手册了解更多详情。请注意,使用View > FSM list您可以检查 ModelSim 检测到的所有 FSM 并将其添加到波形中。

于 2020-04-30T09:24:23.287 回答