Verilog实现BCD码加法器,求帮看下我的代码输入的num1,num2是两个加数,out1是输出加法结果的十进制个位数字,out2是输出加法结果的十进制十位数字.(加数为两个四位的8421BCD码,结果也是两个8421BCD

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/20 11:38:54
Verilog实现BCD码加法器,求帮看下我的代码输入的num1,num2是两个加数,out1是输出加法结果的十进制个位数字,out2是输出加法结果的十进制十位数字.(加数为两个四位的8421BCD码,结果也是两个8421BCD

Verilog实现BCD码加法器,求帮看下我的代码输入的num1,num2是两个加数,out1是输出加法结果的十进制个位数字,out2是输出加法结果的十进制十位数字.(加数为两个四位的8421BCD码,结果也是两个8421BCD
Verilog实现BCD码加法器,求帮看下我的代码
输入的num1,num2是两个加数,out1是输出加法结果的十进制个位数字,out2是输出加法结果的十进制十位数字.(加数为两个四位的8421BCD码,结果也是两个8421BCD码)
例如输入二进制BCD码1000 ,1000 (十进制8,8)应当输出out2 = 0001 ,out1 = 0100(也就是1和6,合起来看就是16)
没有仿真软件,急求达人帮忙看看下面的代码有没有问题?
module bcd_add(num1,num2,out1,out2);
\x05input [3:0]num1,num2;
\x05output [3:0]out1,out2;
\x05reg [3:0]out1,out2;
\x05reg [4:0]tmp; //以多一位寄存器确保加法不会溢出
\x05always@(num1 or num2)
\x05begin
\x05\x05tmp = num1 + num2;
\x05\x05if(tmp > 5'd9)
\x05\x05\x05begin
\x05\x05\x05\x05out2 = 4'd1;
\x05\x05\x05\x05out1 = tmp[3:0] - 4'd10;
\x05\x05\x05end
\x05\x05else
\x05\x05\x05out2 = 4'd0;
\x05\x05out1 = tmp[3:0];
\x05end
endmodule
关键是想知道tmp = num1 + num2;这句话,后面两个四位的数字相加,赋值给五位的寄存器,就比如例子中的1000 + 1000,能否把正确的结果1 0000赋给寄存器tmp?

Verilog实现BCD码加法器,求帮看下我的代码输入的num1,num2是两个加数,out1是输出加法结果的十进制个位数字,out2是输出加法结果的十进制十位数字.(加数为两个四位的8421BCD码,结果也是两个8421BCD
这个是可以的,要说明一点的是你这里虽然定义成了reg类型,但是在实际综合时会变成组合电路,但是功能是正确的.

Verilog实现BCD码加法器,求帮看下我的代码输入的num1,num2是两个加数,out1是输出加法结果的十进制个位数字,out2是输出加法结果的十进制十位数字.(加数为两个四位的8421BCD码,结果也是两个8421BCD 超前进位加法器?怎样用Verilog HDL 实现8位超前进位加法器本人需要完成《基于Verilog HDL的8位超前进位加法器的实现》有资料的发送到本人的邮箱里 我将提问多条信息,争取让各位提供资料的好 如何用加法器实现减法的运算? verilog程序中如何实现乘法器 Verilog HDL 模60 BCD码加法计数器 程序段如图所示:为什么要判断高位是否为5? 为什么一套加法器可以实现加法和减法操作? verilog 使用Verilog HDL实现50MHz分频为50Hz 如何实现余3码至8421BCD码的转换 求Verilog HDL程序1编写求补码的Verilog HDL程序,输入是带符号的8位二进制数.2有一个比较电路,当输入的一位8421BCD码大于4时,输出为1,否则为0.试编写出Verilog HDL程序. 用Verilog HDL设计一个4位BCD码计数器16、BCD码计数器的设计基本要求:设计一个4位BCD码,具有置数和复位功能,并可以根据外部的拨码开关来选择加1计数还是减1计数,要求能在数码管上面正确显 用两片74138怎么实现二进制转换成格雷码和BCD码那请问怎么实现啊,就是用138的基础上 使用Verilog HDL实现50MHz分频为50Hz要求完整程序 有关verilog HDL语言的请问要实现这个真值表 always@(?)写什么合适? 求对DACO832电路控制实现sin函数发生器 verilog hdl程序 什么是Viterbi算法?怎么理解Viterbi算法?如何用Verilog HDL语言实现此算法? 数字逻辑设计 求给出verilog程序 用case语句实现操作码的译码 输入a和b要求opcode为00 01 10 11时分别输出a/b a*b a+b a-b FPGA 数电 如何用74160加法计数器 实现 模13BCD码计数器 模13BCD码计数器的真值表如图示求设计的思路,