4-битный реверсивный счетчик Verilog, разработанный с использованием Т-триггеров, запускаемых отрицательным фронтом.

Я очень новичок в Verilog HDL, и мне нужно закодировать этот 4-битный счетчик вверх-вниз. С помощью некоторого чтения счетчиков вверх-вниз и t-триггеров я уже сделал следующий код:

module up_down_4bitcounter (
out,
up_down,
clk,
data,
reset
);

//Output Ports
output [3:0] out;

//Input Ports
input [3:0] data;
input up_down, clk, reset;

//Internal Variables
reg [3:0] out;

//Start of Code
always @(negedge clk)
if (reset) begin // active high reset
out <= 4'b0 ;
end else if (up_down) begin
out <= out + 1;
end else begin
out <= out - 1;
end

endmodule 

Теперь я получаю эту ошибку:

Exercise5_1.v:25: syntax error
Exercise5_1.v:25: error: unmatched character (')
Exercise5_1.v:25: error: malformed statement

Строка 25 это:

out <= 4'b0 ;

Я не уверен на 100%, что моя кодировка верна. Можете ли вы сказать мне, где моя проблема?


person Freeda Suing    schedule 05.06.2015    source источник
comment
Я скомпилировал ваш код в 3 разных версиях Icarus Verilog и не смог воспроизвести эту ошибку.   -  person Qiu    schedule 05.06.2015
comment
Спасибо за ответ! Кажется, у меня есть лишний ' в моем коде. Хотя я не уверен, как я могу проверить свой код. Мой код на правильном пути? Извините, недавно попал в Verilog.   -  person Freeda Suing    schedule 05.06.2015
comment
Это выглядит вполне нормально, если вы хотите синхронный сброс.   -  person Qiu    schedule 05.06.2015
comment
Спасибо за ответ, Цю, очень ценю это. Да, профессор сказал, что код правильный.   -  person Freeda Suing    schedule 06.06.2015


Ответы (2)


Line 25 is this one:

Ошибка в строке 25:

out <= 4'b0 ;

Ответ:

Out <= 4'b0000 ;
person Viki Vignesh    schedule 07.02.2016
comment
Это неправильно. В коде Вопроса нет ошибки; это правильный синтаксис. Но вы только что создали ошибку, изменив out на Out. - person toolic; 17.06.2020

Ваш код в порядке, вы можете смоделировать его здесь. Один из вариантов — изменить out <= 4'b0; на out <= 0;, и если это сработает, значит, что-то не так с вашим редактором или симулятором.

person RafazZ    schedule 05.06.2015