Implement changes of the bulbs

This commit is contained in:
Yannick Reiß 2024-03-18 12:48:13 +01:00
parent 92f29bf794
commit 56a1e00347
No known key found for this signature in database
GPG Key ID: 5A3AF456F0A0338C
1 changed files with 56 additions and 27 deletions

View File

@ -20,24 +20,7 @@ module tt_um_yannickreiss_lights_out (
assign uio_oe = 8'b00000010; assign uio_oe = 8'b00000010;
// Matrix (input) // Matrix (input)
wire in1; wire [8:0] buttons = ui_in[7:0] & uio_in[0];
wire in2;
wire in3;
wire in4;
wire in5;
wire in6;
wire in7;
wire in8;
wire in9;
assign in1 = ui_in[0];
assign in2 = ui_in[1];
assign in3 = ui_in[2];
assign in4 = ui_in[3];
assign in5 = ui_in[4];
assign in6 = ui_in[5];
assign in7 = ui_in[6];
assign in8 = ui_in[7];
assign in9 = uio_in[0];
// Matrix (current field) // Matrix (current field)
reg field1; reg field1;
@ -69,17 +52,63 @@ module tt_um_yannickreiss_lights_out (
if (rst_n == 1'b1) begin if (rst_n == 1'b1) begin
// Do act normal // Do act normal
field1 <= 1'b0; case ( buttons )
field2 <= 1'b0; 9'b000000001: begin
field3 <= 1'b0; field1 = !field1;
field4 <= 1'b0; field2 = !field2;
field5 <= 1'b0; field4 = !field4;
field6 <= 1'b0; end
field7 <= 1'b0; 9'b000000010: begin
field8 <= 1'b0; field1 = !field1;
field9 <= 1'b0; field2 = !field2;
field3 = !field3;
field5 = !field5;
end
9'b000000100: begin
field2 = !field2;
field3 = !field3;
field6 = !field6;
end
9'b000001000: begin
field1 = !field1;
field4 = !field4;
field5 = !field5;
field7 = !field7;
end
9'b000010000: begin
field2 = !field2;
field4 = !field4;
field5 = !field5;
field6 = !field6;
field8 = !field8;
end
9'b000100000: begin
field3 = !field3;
field5 = !field5;
field6 = !field6;
field9 = !field9;
end
9'b001000000: begin
field4 = !field4;
field7 = !field7;
field8 = !field8;
end
9'b010000000: begin
field5 = !field5;
field7 = !field7;
field8 = !field8;
field9 = !field9;
end
9'b100000000: begin
field6 = !field6;
field8 = !field8;
field9 = !field9;
end
default: begin
end end
endcase
end
else begin else begin
// set new matrix in a pseudo random way // set new matrix in a pseudo random way