2016-07-11 1 views
0

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

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

Я получаю сообщение об ошибке: «Документ„sinGen_TB“не может быть открыт. Скандирование не может открывайте файлы этого типа ».

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

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

Вот код, я компиляции, если модуль я инстанцировании также необходимо, дайте мне знать:

`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 

ответ

0

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

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

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

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

initial begin 
    $dumpfile("dump.vcd"); 
    $dumpvars; 
end 
0

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