| 网站首页 | 文章中心 | 下载中心 | 雁过留声 | 网站论坛 | 专业词库 | 
您现在的位置: 纯粹版图 IC Layout >> 文章中心 >> 电路设计 >> 正文
  二进制转BCD 【verilog code】          【字体:
二进制转BCD 【verilog code】
作者:nfmao    文章来源:本站原创    点击数:    更新时间:2010-1-10    

二进制转BCD verilog code

   

在上一篇中我讲了IEEE STD 754 浮点数的手算方法及相应的验证python原代码。本篇中介绍用verilog code 将上篇例子中的38414.4 整数部分二进制转换成BCD码,以方便其他如七段显示用。

                                  

   

    

Modelsim仿真结果示例图

   

   

原代码中将功能模块与测试模块写在同一个文件中,原代码在本文篇尾。最后测试一个测试数据为38414 从图中可以看出,c_q5=0011, c_q4=1000,c_q3=0100,c_q2=0001, c_q1=0100 而在内存中38414应为 0000_1001_0110_0000_1110.  这些二进制码会被从MSBLSB依次从c_in1 输入,模块进行判断从c_q中输出,而进位则是为c_out输出。

   

input      tens      units    result  

    0         0          0        0  

    1         0          2        2  

    2         0          4        4  

    3         0          6        6  

    4         0          8        8  

    5         1          0       10  

    6         1          2       12  

    7         1          4       14  

    8         1          6       16  

    9         1          8       18  

   

上面的示例是模块的精髓所在。在将二进制码一位位的输入时,寄存器也在不断的左移,这就说明数据在不断的加倍,如果数据在0-4里面就没有进位,而数据在5-9中,加倍就会进位。

   

 [原代码]  

   

 float.v 

   

[参考]

[1] http://www.doulos.com/knowhow/vhdl_designers_guide/models/binary_bcd/

[2] http://www.engr.udayton.edu/faculty/jloomis/ece314/notes/devices/binary_to_BCD/bin_to_BCD.html  

文章录入:nfmao    责任编辑:iclayout 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    浮点数二进制转换
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    点击申请点击申请点击申请点击申请点击申请点击申请
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 |
    www.chalayout.com (c)CopyRight, all right reserve 2003