在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2387|回复: 3

[原创] 明德扬每日分享--BCD译码的实现_移位加3算法

[复制链接]
发表于 2017-5-11 15:54:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 xuehua_12 于 2017-5-11 17:02 编辑

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

输出数据有效指示信号


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

发表于 2017-5-12 10:49:56 | 显示全部楼层
新人学习,求分享代码,谢谢
 楼主| 发表于 2017-5-12 14:31:31 | 显示全部楼层
回复 2# BGbird


   代码下载链接已私信给你,请查收!
发表于 2017-5-13 16:36:35 | 显示全部楼层
回复 3# xuehua_12 嗯嗯,已收到,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-7-5 13:38 , Processed in 0.016044 second(s), 7 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表