十六进制转换为BCD转换 [英] Hexadecimal to BCD Conversion

查看:202
本文介绍了十六进制转换为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.


  1. NUM 是1位宽,但您尝试除以2吧。

  1. 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆