просмотр сигнала с помощью сканирования

ПРИМЕЧАНИЕ: если я могу задать этот вопрос лучше, дайте мне знать! Я долго гуглил и не нашел ответа

Я пытаюсь просмотреть вывод простого LUT счетчика/синуса с помощью средства просмотра сигналов scansion< /а>. Я использую icarus verilog для компиляции. До сих пор я запускал iverilog -o sinGen_TB sinGenerator_TB в командной строке, затем vvp sinGen_TB

Я получаю сообщение об ошибке "Не удалось открыть документ "sinGen_TB". Scansion не может открыть файлы этого типа."

В качестве альтернативы, когда я сохраняю файл как sinGen_TB.vvp или sinGen_TB.vcd, я получаю сообщение "Не удалось открыть документ «sinGen_TB.vvp». Scansion не может открывать файлы в формате «Документ»».

Что это значит, и что я могу сделать, чтобы увидеть этот сигнал?

Вот код, который я компилирую, если модуль, который я создаю, также нужен, дайте мне знать:

`include "sinGenerator"

module sinGenerator_TB();
reg clk, rst;
reg [0:3]M;
wire [16:0]data_out;

//instantiate the unit under test
sin_LUT UUT(
  .clk(clk),
  .rst(rst),
  .M(M),
  .data_out(data_out)
  );

//initialize clock
always begin
#5 clk = ~clk;
end

//initialize variables
initial begin
rst = 1;
M = 1;
#20 rst = 0;
#200 M = 2;
#200 M = 4'b0100;
#200 $stop;
end

endmodule

person qasddd    schedule 11.07.2016    source источник


Ответы (2)


Файлы Verilog обычно используют .v в качестве расширения файла; SystemVerilog использует .sv. Пожалуйста, используйте расширение файла. Это помогает симулятору узнать, какой язык вы пытаетесь скомпилировать (все современные симуляторы Verilog — это симуляторы SystemVerilog с обратной совместимостью). Кроме того, текстовые редакторы, такие как vim и emacs, используют расширение файла, чтобы решить, как выполнять подсветку/форматирование синтаксиса.

Симулятор должен сгенерировать файл .vcd. Scansion — это всего лишь инструмент для просмотра сигнала. Это не имеет ничего общего с генерацией формы волны и, похоже, не имеет ничего общего с вопросом.

Чтобы симулятор знал, где создать файл VCD, ему нужно $dumpfile; чтобы знать, какие сигналы помещать в файл VCD, ему нужно $dumpvars. Прочтите Стандарт IEEE 1800-2012 21.7 Дамп изменения значения ( VCD) файлы

Например, если вы хотите сбросить все и поместить в dump.vcd, добавьте это в свой тестовый стенд:

initial begin
  $dumpfile("dump.vcd");
  $dumpvars;
end
person Greg    schedule 11.07.2016

iverilog -o sinGen_TB sinGenerator_TB генерирует только окончательный исполняемый файл sinGen_TB.

используйте man iverilog, чтобы получить больше информации о том, как запустить симулятор Iicarus.

Исполняемый файл нужно запустить -vvp sinGen_TB . Это запустит симуляцию и создаст выходной файл, который можно открыть в средстве просмотра сигналов.

[ Думаю, ./sinGen_TB тоже запускает симуляцию ]

Вам также необходимо добавить приведенный ниже код для создания дампа сигнала.

initial
 begin
    $dumpfile("sinGen_TB.vcd"); //file name 
    $dumpvars(0,sinGenerator_TB); // module name 
 end
person Rahul Menon    schedule 11.07.2016