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

[复制链接]
355|0
 楼主 | 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

输出数据有效指示信号


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

扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /7 下一条

在线客服 快速回复 返回顶部 返回列表