打印
[FPGA]

明德扬分享 BCD译码的实现_移位加3算法

[复制链接]
697|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mdykj33|  楼主 | 2017-5-11 16:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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

输出数据有效指示信号


需要代码的朋友请跟帖回复,分享给更多朋友学习!谢谢~

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:明德扬:http://www.mdy-edu.com/

57

主题

107

帖子

5

粉丝