十六进制转换为BCD转换 [英] Hexadecimal to BCD Conversion
本文介绍了十六进制转换为BCD转换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从十六进制转换为Verilog的BCD。我没有使用任何时钟或其他的东西。在我的计划,我给一个输入的时间和转换它,并显示结果。但我的计划是给不确定的结果。我该如何解决?任何解决方案?
I am trying to convert from Hex To BCD in verilog. I am not using any clocks or other stuff. In my program, I give one input at a time and convert it and show the result. But my program is giving undefined result. How can I fix it? Any solution?
module HexToBCD(num,result);
input num;
output [7:0]result;
assign result[0]=num%2;
assign num=num/2;
assign result[1]=num%2;
assign num=num/2;
assign result[2]=num%2;
assign num=num/2;
assign result[3]=num%2;
assign num=num/2;
assign result[4]=num%2;
assign num=num/2;
assign result[5]=num%2;
assign num=num/2;
assign result[6]=num%2;
assign num=num/2;
assign result[7]=num%2;
assign num=num/2;
endmodule
问候
推荐答案
我看到一些不寻常的事情与你的模块。
I see a few unusual things with your module.
-
NUM
是1位宽,但您尝试除以2吧。
num
is 1 bit wide, but you are trying to divide it by 2.
您要分配到输入
。
您做出同样的赋值 NUM
8倍。 Verilog的不工作的方式;所有的连续作业并行计算。
You make the same assignment to num
8 times. Verilog does not work that way; all continuous assignments are evaluated in parallel.
这篇关于十六进制转换为BCD转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文