设 计 报 告EDA原理及应用.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设 计 报 告 课程名称:EDA 原理及应用 设计内容:二进制数转换为BCD 码 一.设计要求 (信工专业)通过不同的算法,实现N 位二进制数到BCD 码的转换 并通过行为级和时序仿真对设计进行验证,要求如下: (1)数据经过寄存器后,执行9 位二进制数到BCD 码的转换。 (2 )设计和调用函数来实现9 位二进制数到BCD 码的转换。 (3 )在行为仿真时,调用系统任务$display,在Tcl Console 窗口中 显示结果。 (4 )拓展设计,实现16 位二进制数到BCD 码的转换。 二.设计思路 (九位二进制数) 1.转换原理 由二进制数转换为 BCD 码实际上也是一种由二进制数向十进制 数的转换。这种转换有利于将未来设计使数字能够在 LED 灯或数码 管上进行逐位显示。 思路一:基于数学分析 对于9 位二进制数,最大值为512,因此需要3 个四位BCD 码, 分别代表数据的百位、十位、个位。考虑使用数学方法实现,即9 位 二进制数除以 100 所得的整数应为百位,即可得最高位 BCD 码,对 100 取余再除以10 所得的整数应为十位,即可得次高位 BCD 码,对 10 取余所得的整数应为个位,即可得最低位BCD 码。这种方法较为 简单,但考虑到这种方法没有使用寄存器,与题目中要求不符合,所 以放弃该思路。 思路二:基于左移移位加三法 我们需要转换的是9 位二进制数,由于9 位二进制数的最大值为 512,所以使用3 个四位BCD 码即可转换。需要计算二进制数和BCD 码之间的转换关系。考虑使用左移的方法实现转换,将9 位二进制数 逐渐左移进 BCD 码中,则需要9 次移位,并对移位数据进行校准。 校准过程如下:由于每一组BCD 码对应的十进制数都应小于等于10 (因为这三组四位BCD 码分别代表十进制数的百位、十位、个位), 即不应大于等于1010,即进行左移一位的操作前不应大于等于0101, 即进行左移操作前 BCD 码对应的十进制数不应大于 5。如果数据大 于等于5,则加上3 后再进行左移。(我们的每一组BCD 码对应的十 进制数都不能大于等于10,即逢10 进位,而正常的4 位二进制是满 16 才进一位。这时候我们就需要将数值中的10 变成16,可以将该数 值加 6 即0110。对左移一位前的上一个值来说,就是加0011 即加 3 )。 举例验证方法正确性:例如十进制数 377 ,它的二进制码应为 1 0111 1001,而对应的三个四位BCD 码应为0011 0111 0111,分别 对应十进制数的百位、十位、个位。我们可以分析它的移位和校准功 能如下表: BCD BCD BCD 原二进制码 (百位) (十位) (个位) (串行输入) 未移位 0 0 0 0 0 0 0 0 0 0 0 0 1 0111 1001 左移1 位 0 0 0 0 0 0 0 0 0 0 0 1 0111 1001 左移2 位 0 0 0 0 0 0 0 0 0 0 1 0 111 1001 左移3 位 0 0 0 0 0 0 0 0 0 1 0 1 11 1001 判断已大于等于5,进行校准 1000 (加3 ) 左移4 位 0 0 0 0 0 0 0 1 0 0 0 1 1 1001 左移5 位 0 0 0 0 0 0 1 0 0 0 1 1 1001 左移6 位 0 0 0 0 0 1 0 0 0 1 1 1 001 判断已大于等于5,校准 1010 (加3 ) 左移7 位 0 0 0 0 1

文档评论(0)

恬淡虚无 + 关注
实名认证
内容提供者

学高为师,身正为范.师者,传道授业解惑也。做一个有理想,有道德,有思想,有文化,有信念的人。 学无止境:活到老,学到老!有缘学习更多关注桃报:奉献教育,点店铺。

1亿VIP精品文档

相关文档