FPGA|CPLD|ASICwilliam hill官网
直播中

Yesin

10年用户 21经验值
擅长:可编程逻辑 EDA/IC设计
私信 关注
[问答]

如何用VHDL实现16位二进制数转化为相应的BCD码



library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
Entity B_BCD is
port(
            B:    in std_logic_vector(15 downto 0);
       BCD:  out std_logic_vector(15 downto 0)
     );
End;
Architecture one of B_BCD is
Begin
Process(B)
begin
(16位的二进制码)转化为(相应的BCD码);比如说1234这个十进制数,它的16位二进制码是0000010011010010.则把它转化为BCD码后是:0001 0010 0011 0100.
如何实现这个功能呢:二进制转BCD码?




回帖(1)

angch77

2014-4-10 15:21:30
我觉得,可以用For-Loop语句,先计算该16进制数据的十进制数,然后再将该十进制数的千位、百位、十位和个位分别提出,最后用CASE语句转成BCD码。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分