Как отображать текст в кривых в моделях

У меня есть сигнал reg [1:0] BRESP соответствует 4 строковым значениям: okay, exokay, slverr, decerr,

Как я могу отобразить эти значения в форме сигнала в сигнале BRESP?

2 ответа

Семя radix define команда в справочном руководстве Modelsim

Это зависит от симулятора. У некоторых есть аргументы, которые могут обнаруживать автоматы в вашем проекте и отображать имя состояния автомата на форме сигнала (например, ModelSim). Xilinx ISim не имеет этой функции (возможно, в новых версиях это реализовано, о чем я не знаю).

Я собираюсь дать универсальное решение независимо от того, какой у вас симулятор:

Сначала определите фиксированное количество символов для отображения названий состояний. Обычно 10 символов достаточно, затем объявите 10 8-битных регистров для хранения этих символов:

      reg [3:0] current_state; // Assuming a 4-bit state memory that supports 16 number of states.
reg [3:0] next_state;
reg [10*8-1:0] current_state_text; // 10 x 8-bit registers
reg [10*8-1:0] next_state_text;

always @ (posedge Clock or negedge Reset)
  begin: STATE_MEMORY
    if (!Reset) begin
      current_state <= STATE_RESRT;
      current_state_text <= "*****RESET"; // This text MUST be 10 characters
     // I put starts (*) but you should replace it with 5 spaces 
    end 
    else begin
      current_state <= next_state;
      current_state_text <= next_state_text;
    end
 end

// Now every time you want to change the state, change the state text also like above.

В программе моделирования установите систему счисленияcurrent_state_textиnext_state_textсигналы в ASCII.

Другие вопросы по тегам