- 10
- 0
- 约小于1千字
- 约 5页
- 2022-04-21 发布于山东
- 举报
BCD :Binary Coded Decimal 即用4 位二进制编码表示1 位的十进制数.
定义:BCD 码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以
快捷的进行。这种编码技巧,最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确
的计算。相对于一般的浮点式记数法,采用 BCD 码,既可保存数值的精确度,又可免却使电脑作浮点运算
时所耗费的时间。此外,对于其他需要高精确度的计算,BCD 编码亦很常用。
参考百度百科对 BCD 码的解释:/view/45179.htm
此处要介绍的是二进制转BCD 码的硬件实现,采用左移加3 的算法,具体描述如下:
(此处以8-bit 二进制码为例)
1、左移要转换的二进制码1 位
2、左移之后,BCD 码分别置于百位、十位、个位
3、如果移位后所在的BCD 码列大于或等于5 ,则对该值加3
4、继续左移的过程直至全部移位完成
举例:将十六进制码0xFF 转换成BCD 码
Verilog实现
加3操作:
真值表
因为有“大于等于5就加3”的规则存在,所以,无论十位、个位的4-bit数,最大都不会超过9. 因此add3
模块只要写到9就可以了。
在add3模块中,小于5的数据,输出还是原来的数。这样写是为了省去很多if的判断,便于程序的书写
和阅读。
原创力文档

文档评论(0)