module seven_segment_controller(
input wire clk,
input wire rst,
input wire [3:0] dig,
output reg [7:0] seg
);
always @(posedge clk or posedge rst) begin
if (rst)
seg <= 8'b00000000;
else begin
case (dig)
4'b0000: seg = 8'b11111111; // 0
4'b0001: seg = 8'b11111010; // 1
4'b0010: seg = 8'b11110110; // 2
4'b0011: seg = 8'b11101110; // 3
4'b0100: seg = 8'b11011110; // 4
4'b0101: seg = 8'b10111110; // 5
4'b0110: seg = 8'b01111110; // 6
4'b0111: seg = 8'b00111110; // 7
4'b1000: seg = 8'b00001110; // 8
4'b1001: seg = 8'b00000110; // 9
default: seg = 8'b00000000; // turn off all segments
endcase
end
end
endmodule
module seven_segment_controller(
input wire clk,
input wire rst,
input wire [3:0] dig,
output reg [7:0] seg
);
always @(posedge clk or posedge rst) begin
if (rst)
seg <= 8'b00000000;
else begin
case (dig)
4'b0000: seg = 8'b11111111; // 0
4'b0001: seg = 8'b11111010; // 1
4'b0010: seg = 8'b11110110; // 2
4'b0011: seg = 8'b11101110; // 3
4'b0100: seg = 8'b11011110; // 4
4'b0101: seg = 8'b10111110; // 5
4'b0110: seg = 8'b01111110; // 6
4'b0111: seg = 8'b00111110; // 7
4'b1000: seg = 8'b00001110; // 8
4'b1001: seg = 8'b00000110; // 9
default: seg = 8'b00000000; // turn off all segments
endcase
end
end
endmodule