保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

数值计算中Bcd码校验电路的分析与设计


并且ADDER2的初始进位始终为‘1’,由此可完成BCD的校验工作。

图三 一位串行BCD加法器电路

下面是基于4位并行BCD加法器算法的一种快速BCD的加法器VERILOG硬件描述语言程序及其仿真结果。

module bcd_check (data_i,data_o,cy_i,cy_o,en,z_i,z_o);

input data_i;

input cy_i;

input z_i;

input en; //insructure

output cy_o;

output data_o;

output z_o;

wire [3:0] data_i;

wire cy_i;

wire en;

reg z_o;

reg cy_o;

reg [3:0] data_o;

 

//}} End of automatically maintained section

reg [4:0] TEMP_RESULT;

 

always @(data_i or cy_i or en )

if(en == 0)

begin

cy_o=cy_i;

data_o=data_i;

z_o=z_i;

end

else

begin

if(data_i[3]&&data_i[1] ||(data_i[3]&&data_i[2]) || cy_i==1)

TEMP_RESULT = {1'b0,data_i } + {1'b0,4'b0110 } + cy_i;

else

begin

TEMP_RESULT[3:0]=data_i;

TEMP_RESULT[4]=cy_i;

end

data_o = TEMP_RESULT[3:0];

z_o = | TEMP_RESULT[3:0];

cy_o = TEMP_RESULT[4];

end

例如:两个十进制数2189+8075的正确结果应为11064,可是,相加运算后的结果为FEH,为此应进行BCD调整。将为经校验的相加结果0010,1001,1000,1001(十进制2989)+1000,0000,0111,0101(十进制8075)=1010,1001,1111,1110代人上述BCD校验模块,可得仿真结果如图四。

《数值计算中Bcd码校验电路的分析与设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/172724.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。