求verilog二进制到十进制的转换简单写法

module zhi(hex1,hex0,v);
input[3:0] v;
output[6:0] hex1,hex0;
reg[6:0] hex1,hex0;
reg [3:0] D;
always@(v)
begin
case(v)
4'b0000:D=4'd0;
4'b0001:D=4'd1;
4'b0010:D=4'd2;
4'b0011:D=4'd3;
4'b0100:D=4'd4;
4'b0101:D=4'd5;
4'b0110:D=4'd6;
4'b0111:D=4'd7;
4'b1000:D=4'd8;
4'b1001:D=4'd9;
4'b1010:D=4'd10;
4'b1011:D=4'd11;
4'b1100:D=4'd12;
4'b1101:D=4'd13;
4'b1110:D=4'd14;
4'b1111:D=4'd15;
endcase
end
always@(D)
begin
case(D)
4'd0: begin hex0=7'b1000000;hex1=7'b1000000;end
4'd1: begin hex0=7'b1111001;hex1=7'b1000000;end
4'd2: begin hex0=7'b0100100;hex1=7'b1000000;end
4'd3: begin hex0=7'b0110000;hex1=7'b1000000;end
4'd4: begin hex0=7'b0011001;hex1=7'b1000000;end
4'd5: begin hex0=7'b0010010;hex1=7'b1000000;end
4'd6: begin hex0=7'b0000010;hex1=7'b1000000;end
4'd7: begin hex0=7'b1111000;hex1=7'b1000000;end
4'd8: begin hex0=7'b0000000;hex1=7'b1000000;end
4'd9: begin hex0=7'b0010000;hex1=7'b1000000;end
4'd10:begin hex0=7'b1000000;hex1=7'b1111001;end
4'd11:begin hex0=7'b1111001;hex1=7'b1111001;end
4'd12:begin hex0=7'b0100100;hex1=7'b1111001;end
4'd13:begin hex0=7'b0110000;hex1=7'b1111001;end
4'd14:begin hex0=7'b0011001;hex1=7'b1111001;end
4'd15:begin hex0=7'b0010010;hex1=7'b1111001;end
default:begin hex0=7'b1111111;hex1=7'b1111111;end
endcase
end
endmodule
上题就是4位二进制转换成2位十进制的题目,并在HEX1和HEX0两数码管中显示十进制来

第1个回答  2008-10-30
0分 想么呢
相似回答