32位二进制数转BCD码
来源:互联网 发布:http压力测试软件 编辑:程序博客网 时间:2024/05/01 22:30
//32位二进制数转BCD码(基本思想是逢十进1)
module BIN_BCD_4 (CLK, A,BWW,BQW,BAW,BSW, BW, BQ, BB, BS, BG);
input CLK;
input [31:0]A; //二进制输入数据
output [3:0]BWW,BQW,BAW,BSW,BW, BQ, BB, BS, BG;//BCD数据输出寄存器
reg [3:0]BWW,BQW,BAW,BSW,BW, BQ, BB, BS, BG;
integer I;
reg [35:0]TEMP;
reg [31:0]C;
always @ (posedge CLK)
begin
C=A;
TEMP=0;
for (I=1; I<32; I=I+1)
begin
{TEMP, C}={TEMP[34:0], C, 1'b0};//左移一位
if (TEMP[3:0]>4'b0100)
begin
TEMP[3:0]=TEMP[3:0]+3; // >4则加3
end
if (TEMP[7:4]>4'b0100)
begin
TEMP[7:4]=TEMP[7:4]+3;
end
if (TEMP[11:8]>4'b0100)
begin
TEMP[11:8]=TEMP[11:8]+3;
end
if (TEMP[15:12]>4'b0100)
begin
TEMP[15:12]=TEMP[15:12]+3;
end
if (TEMP[19:16]>4'b0100)
begin
TEMP[19:16]=TEMP[19:16]+3;
end
if (TEMP[23:20]>4'b0100)
begin
TEMP[23:20]=TEMP[23:20]+3;
end
if (TEMP[27:24]>4'b0100)
begin
TEMP[27:24]=TEMP[27:24]+3;
end
if (TEMP[31:28]>4'b0100)
begin
TEMP[31:28]=TEMP[31:28]+3;
end
if (TEMP[35:32]>4'b0100)
begin
TEMP[35:32]=TEMP[35:32]+3;
end
{BWW,BQW,BAW,BSW,BW, BQ, BB, BS, BG}={TEMP[34:0], A[0]};
end
end
endmodule
- 32位二进制数转BCD码
- 二进制转BCD码
- R0中的8位二进制数转换成3位BCD码 -单片机编程
- 将A中的二进制数转换为3位的BCD码,其中百位数存放......
- 16位二进制数转成BCD码--51单片机
- 16位二进制数转换成BCD码的的快速算法-51单片机
- 一种用verilog生成任意位二进制转BCD码的方法
- 二进制数转化为8421BCD码的C++程序
- 硬件算法__二进制转BCD码
- 硬件算法__二进制转BCD码
- 十进制,BCD数怎样转8421BCD码
- Verilog - 二进制数转换成BCD编码
- 二进制与BCD码转换
- Bcd码与二进制区别
- fpga 二进制转bcd码 模块(经典)
- 2014-3-16 FPGA学习 二进制转8421BCD码
- 80x86 汇编语言编程:BCD 码转二进制
- verilog二进制转BCD码(加三移位法)
- 数的拆分
- 加油!
- 字符串的比较
- 关于32位win7实现4G(或更大)内存的完全利用(修正...)
- 今天在lamp群里遇到的两个问题及解决方法
- 32位二进制数转BCD码
- 开始新的IT学习
- 学生成绩管理系统
- 图案
- SQL介绍及查询
- 比較兩個字符串之間的相同與不同之處
- 如何计算结构体的大小
- 关于未来互联网的设想
- Xampp的有用操作