二进制码转BCD码
时间:10-02
整理:3721RD
点击:
module bit_bcd(clk,rst,data_in,data_out);
input clk,rst;
input[7:0] data_in;
output[11:0] data_out;
reg[3:0]cnt;
reg [3:0] state;
reg [19:0]data_reg;
parameter start = 4'b0001,
yiwei = 4'b0010,
panduan = 4'b0100,
idle = 4'b1000;
always@(posedge clk or negedge rst)
if(!rst) begin
cnt =3'b101) begin
data_reg =3'b101) begin
data_reg =4'd10) begin
data_reg[11:8] =4'd10) begin
data_reg[15:12]<=data_reg[15:12]-4'd10;
data_reg[19:16]<=data_reg[19:16]+1'b1;
end
end
default:state<=start;
endcase
assign data_out = data_reg[19:8];
endmodule
input clk,rst;
input[7:0] data_in;
output[11:0] data_out;
reg[3:0]cnt;
reg [3:0] state;
reg [19:0]data_reg;
parameter start = 4'b0001,
yiwei = 4'b0010,
panduan = 4'b0100,
idle = 4'b1000;
always@(posedge clk or negedge rst)
if(!rst) begin
cnt =3'b101) begin
data_reg =3'b101) begin
data_reg =4'd10) begin
data_reg[11:8] =4'd10) begin
data_reg[15:12]<=data_reg[15:12]-4'd10;
data_reg[19:16]<=data_reg[19:16]+1'b1;
end
end
default:state<=start;
endcase
assign data_out = data_reg[19:8];
endmodule
用4位二进制数来表示1位十进制数中的0~9这10个数码。是一种二进制的数字编码形式,用二进制编码的十进制代码
学习一下。可以根据原来C语言的经验进行改变,尝试新的实现方式。
基础很有用,谢谢分享。
好……