[an error occurred while processing this directive]
|
Сдвиговые регистры и в Максе на местном клоке работают с проблемами. Или Вы этого не замечали, или ползунок использовали optimize. При этом всегда надо запускать временной анализатор при любом изменении проекта. Если Вы работаете на глобальном клоке, у Вас не может быть проблем. Если есть многоклоковая синхронизация, Вам уже сказали как gate clk преобразовать в enable clk (хелп Квартуса) или использовать примитив Global, если кристалл поддерживает:
module global_clk (clk, in_data, out_data);
input clk;
input [31:0] in_data;
output [31:0] out_data;
reg [1:0] ct;
reg [31:0] out_data;
wire out_lcell;
wire out_global;
always @(posedge clk)
begin
ct <= ct + 1'b1;
end
lcell lcell (
.in (ct[1]),
.out (out_lcell)
);
global global (
.in (out_lcell),
.out (out_global)
);
always @(posedge out_global)
begin
out_data <= in_data;
end
endmodule
E-mail: info@telesys.ru