分享

【精品博文】BCD译码的实现_移位加3算法

 ChinaAET 2020-10-31

BCD译码是指将二进制数,转换成BCD格式。如当cnt_s值为10时,也就是8’b00001010,转换成个位值为4’b0000,十位值为4’b0001。这个转换过程就是BCD译码。

此处介绍二进制转BCD码的硬件实现,采用左移加3的算法,具体描述如下:(此处以8-bit 二进制码为例)

1、左移要转换的二进制码1位  

2、左移之后,BCD码分别置于百位、十位、个位  

3、如果移位后所在的BCD码列大于或等于5,则对该值加3 

4、继续左移的过程直至全部移位完成

举例:将十六进制码0xFF转换成BCD码

本模块的信号列表如下:

信号名

I/O

位宽

说明

rst_n

I

1

系统复位信号,低电平有效

clk

I

1

系统工作时钟50M

din

I

32

输入要译码的数据

din_vld

I

1

输入数据有效指示信号

dout

O

12

输出的BCD数据,共12比特,每4比特一组,分别表示百、十、个位的值

dout_vld

O

1

输出数据有效指示信号

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多