Я написал программу в xilinx, этот код компилируется в ModelSim
, но я получаю эту ошибку, когда компилирую ее в xilinx.Ошибка шаблона в Xilinx
ERROR:Xst:899 - line 78: The logic for <iterator> does not match a known FF or Latch template. The description style you are using to describe a register or latch is not supported in the current software release.
Я не знаю, почему я получаю эту ошибку. Вот код:
module BcdCounter(input clk,input reset, output reg [3:0]out
);
reg [23:0]iterator;
always @(posedge clk,negedge reset)
begin
if(~reset)
begin
out=0;
iterator=0;
end
else
// clock divider
if(iterator==50000000) // 50Mhz clock divider
begin
out<=out+1;
iterator=0;
end
iterator=iterator+1;
end
endmodule
С уважением
Вы смешиваете блокирующие и неблокирующие назначения. Это может иметь какое-то отношение к этому. – dwikle
извините, что это была опечатка. этот обновленный код дает эту ошибку –
Iterator = iterator + 1 не находится в предложении else, скорее всего, работает только в модели sim, поскольку используются блокирующие назначения. Iterator = 0, не будет выполняться на аппаратном уровне. – Morgan