二进制转BCDVerilog实现程序.doc
文本预览下载声明
二进制转BCD的Verilog实现
BCD:Binary Coded Decimal 即用4位二进制编码表示1位的十进制数.
定义:BCD 码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。这种编码技巧,最常用于会计系统的设计里,因为会计制 度经常需要对很长的数字串作准确的计算。相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免却使电脑作浮点运算时所耗费的时间。此 外,对于其他需要高精确度的计算,BCD编码亦很常用。
参考百度百科对BCD码的解释: HYPERLINK /view/45179.htm /view/45179.htm
此处要介绍的是二进制转BCD码的硬件实现,采用左移加3的算法,具体描述如下:
(此处以8-bit 二进制码为例)
1、左移要转换的二进制码1位
2、左移之后,BCD码分别置于百位、十位、个位
3、如果移位后所在的BCD码列大于或等于5,则对该值加3
4、继续左移的过程直至全部移位完成
举例:将十六进制码0xFF转换成BCD码
HYPERLINK /showpic.html \l blogid=6d9c6ef50100sfu6url=/orignal/6c31e165g9f253db54969 \t _blank Verilog实现
加3操作:
真值表
HYPERLINK /showpic.html \l blogid=6d9c6ef50100sfu6url=/orignal/6c31e165g9f2555d0ceab \t _blank
显示全部