2015-06-05 5 views
0

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

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 

Line 25 это одна :

out <= 4'b0 ; 

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

+1

Я составил свой код в 3-х различных версиях Icarus Verilog, и я не мог воспроизвести эта ошибка. – Qiu

+0

Спасибо за ответ! Кажется, у меня избыток «» в моем коде. Хотя, я не уверен, как я могу проверить свой код. Является ли мой код правильным? Извините, недавно попал в Verilog. –

+0

Это выглядит вполне нормально, если вы хотите иметь синхронный сброс. – Qiu

ответ

-2

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

0
Line 25 is this one: 

Существует ошибка в строке 25:

out <= 4'b0 ; 

ответ:

Out <= 4'b0000 ;