Я работаю над изучением Verilog и работаю с CPLD, и я застрял. Код, который я написал, переключает светодиод, но во время синтеза я продолжаю получать предупреждения.
//toggles LED on and off after 1000000 clock cycles
module LEDON(
LED,
clk
);
output LED;
reg LED;
input clk ;
wire clk;
reg [31:0] count;
wire count_max = 32'd1_000_000;
assign count_nxt = (count >= count_max) ? 32'd0 : count + 32'd1;
assign led_state_nxt = (count == count_max) ? ~LED : LED;
always @(posedge clk)
begin
count <= count_nxt;
LED <= led_state_nxt;
end
endmodule
Я получаю эти предупреждения:
@W: MT420 |Найден предполагаемый тактовый сигнал LEDON|clk с периодом 1000,00 нс. Пожалуйста, объявите определяемые пользователем часы для объекта "p:clk"
ПРЕДУПРЕЖДЕНИЕ - карта: C:/Documents and Settings/belo/Desktop/LedOn2/LedON2.lpf (4): Ошибка в FREQUENCY NET "clk" 2,080000 МГц ;
ВНИМАНИЕ - карта: Результаты синтаксического анализа настроек: обнаружена 1 семантическая ошибка
ВНИМАНИЕ - карта: В файле настроек "C:/Documents and Settings/belo/Desktop/LedOn2/LedON2.lpf" обнаружены ошибки.
ПРЕДУПРЕЖДЕНИЕ - карта: В файле настроек "C:/Documents and Settings/belo/Desktop/LedOn2/LedON2.prf" есть семантические ошибки.
Мой файл LPF выглядит так:
BLOCK RESETPATHS ;
BLOCK ASYNCPATHS ;
LOCATE COMP "LED" SITE "41" ;
FREQUENCY NET "clk" 2.08 MHz ;
Так кто-нибудь знает, как исправить эти предупреждения часов?