-
Dj_Crush
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 1
-
Спасибо получено: 0
-
-
|
Добрый день!
подскажите почему данный код не работает и квартус выдает ошибку:
module clock_div(
input clk,
output clk_out
);
reg [22:0] cnt = 23'd0;
reg clk_out;
always @(posedge clk)
begin
cnt <= cnt + 1'b1;
if(cnt == 23'd2500000)
begin
cnt <= 0;
assign clk_out = ~clk_out;
end
end
endmodule
в чем ошибка.
и как в симуляторе квартус увидеть счетчит clk (чтобы были видны тактирующие импульсы)
спасибо!
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
nfader
-
-
Не в сети
-
Осваиваюсь на форуме
-
-
Сообщений: 37
-
Спасибо получено: 14
-
-
|
Навскидку: assign в always блоке???
Так будет работать: module clock_div(
input clk,
output reg clk_out
);
reg [22:0] cnt = 23'd0;
always @(posedge clk)
begin
cnt <= cnt + 1'b1;
if(cnt == 23'd2500000)
begin
cnt <= 0;
clk_out <= ~clk_out;
end
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от nfader.
|
-
tomas111
-
-
Не в сети
-
Осваиваюсь на форуме
-
-
Сообщений: 20
-
Спасибо получено: 0
-
-
|
В симуляторе хватит одной строки
assign #10 clk_out = ~clk_out;
Только не забудь начальное значение задать.
assign - переводиться как назначить :))
always - переводиться как всегда :)) Они не знакомы друг с другом :))
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
Время создания страницы: 0.112 секунд