利用verilog将二进制码转换为十进制BCD码

本文介绍了如何使用Verilog设计一个模块,将8位二进制码转换为十进制的BCD码。通过8次移位和条件判断修正,实现了从二进制到BCD码的转换。代码已经过实测和仿真验证,并进行了优化,能够在不需要rst_n复位的情况下连续转换不同输入值。
摘要由CSDN通过智能技术生成

          小序

               先说一个 bear 的亲身体会,bear 在做一些 fpga 小设计时经常会用到数据显示功能,比如数字时钟,数字频率计,温度计,跑表等等,往往我们会选用

       led 数码管来做显示, 因为它驱动起来比 lcd 液晶要简单的很多,我们知道 fpga 中寄存器在定义和储存的数据都是采用二进制的格式 ,而 fpga 输出给数码

       管做显示的数据必须是十进制的格式 , 之前 bear 经常会选择把一个寄存器的个位和十位分开定义 ,比如在做数字时钟时 ,就会吧 时,分,秒的各位和十位

       都分别定义成一个变量  ,无疑这种方法会增加代码的复杂度 ,所以考虑需要一个专门把 二进制 的数据转换成 十进制 BCD码的模块 ,在网上有一些,但是好

       像都不太完整 , 所以bear花了一下午写了一个 ,亲测效果不错 ,希望对朋友们有所帮助,下面开始正文。

                

               首先给出二进制码转换为十进制BCD码的几个步骤(以8bit二进制码为例):

               1.将二进制码左移一位(或者乘2)

               2.找到左移后的码所对应的个,十,百位。

               3.判断在个位和百位的码是否大于5,如果是则该段码加3。<

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值