Здравствуйте!
Было дано задание: создать бегущий огонек на базе ПЛИС Cyclone IV. Собственно, благодаря мануалам, удалось выполнить задание. Код такой:
Код:
module LED
(
input CLK,
output [7:0] LED_Out,
input RST
);
reg [8:0] count = 8'b1;
reg [24:0] ctr = 24'b0;
always @(posedge CLK )
begin
if (RST == 0)
begin
ctr = 24'b0;
end
ctr = ctr + 1;
if(ctr == 0)
begin
count[8:0] <= {count[0], count[8:1]};
end
end
assign LED_Out = count [7:0];
endmodule
Вопрос в другом: как сделать бегущий огонь с накоплением? Нужно чтобы также бежал светодиод, доходил до последнего светодиода ленты и оставался гореть. Затем новый огонек. И повторяться это должно до момента, пока все огни не зажгутся. После этого все начинается заново.
Как я понял, нужно оперировать с count, но так и не смог разобраться в том, как реализовать накопление. Прошу помощи.
Спасибо!