Загрузка данных


module indicator2(

input clk,

output reg [6:0]segments,

output reg [7:0]select

);

reg [15:0]count = 1'b0;

reg [2:0]dynamic_temp = 1'b0;

always @ (posedge clk)

begin

count <= count + 1'b1; //задаем частоту переключения между индикаторами

if(count == 0) //по входной тактовой частоте

begin

dynamic_temp <= dynamic_temp + 1'b1; //переключаемся между индикаторами

end

case(dynamic_temp)

3'b000 :

begin

segments = 7'b0100100;

select = 8'b01111111; //зажигаем первый индикатор

end

3'b001 :

begin

segments = 7'b1000000;

select = 8'b10111111; //зажигаем второй индикатор

end

3'b010 :

begin

segments = 7'b0100100;

select = 8'b11011111; //зажигаем третий индикатор

end

3'b011 :

begin

segments = 7'b0000010;

select = 8'b11101111; //зажигаем четвертый индикатор

end

3'b100 :

begin

segments = 7'b0111111;

select = 8'b11110111; //зажигаем пятый индикатор

end

3'b101 :

begin

segments = 7'b0001000;

select = 8'b11111011; //зажигаем шестой индикатор

end

3'b110 :

begin

segments = 7'b0111111;

select = 8'b11111101; //зажигаем седьмой индикатор

end

3'b111 :

begin

segments = 7'b0111111;

select = 8'b11111110; //зажигаем восьмой индикатор

end

endcase

end

endmodule