实验代码
Key_LED.v
module Key_LED (key, HEX0);
input[3:0] key;
output[6:0] HEX0;
reg[3:0] A;
always @(key) begin
if (key[0] <= 0) begin
A = 4'b0001;
end
else if (key[1] <= 0) begin
A = 4'b0010;
end
else if (key[2] <= 0) begin
A = 4'b0011;
end
else if (key[3] <= 0) begin
A = 4'b0100;
end
else
A = 4'b0000;
end
hex_7seg DSPO (A[3:0], HEX0);
endmodule //Key_LED
hex_7seg.v
module hex_7seg (hex_digit, seg);
input[3:0] hex_digit;
output[6:0] seg;
reg[6:0] seg;
always @(hex_digit)
case (hex_digit)
4'h0: seg = ~7'h3F;
4'h1: seg = ~7'h06;
4'h2: seg = ~7'h5B;
4'h3: seg = ~7'h4F;
4'h4: seg = ~7'h66;
4'h5: seg = ~7'h6D;
4'h6: seg = ~7'h7D;
4'h7: seg = ~7'h07;
4'h8: seg = ~7'h7F;
4'h9: seg = ~7'h67;
4'ha: seg = ~7'h77;
4'hb: seg = ~7'h7C;
4'hc: seg = ~7'h39;
4'hd: seg = ~7'h5E;
4'he: seg = ~7'h79;
4'hf: seg = ~7'h71;
endcase
endmodule //hex_7seg