- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EDA2位十进制四则运算器电路
《电子设计自动化》
课程设计
题目: 2位十进制四则运算器电路
院(系)
专 业
届 别
班 级
学 号
姓 名
任课老师
摘要
本次设计的目的是通过QuartusII软件实现输入两个2位十进制数(0~99),输出它们的四则运算(加减乘除)结果(发光二极管显示运算模式;调用LPM_MULT、LPM_CONSTANT及LPM_DIVIDE模块)。实现的方法是利用四则运算的规律进行初步设计,然后进行调整和修改。最终结果要求:随机的输入两个数,经过加法、减法、乘法和除法的运算,可以得到正确的运算结果。
主要分为4大部分:一、2位十进制数模块;二、加减乘除四则运算四个小模块;三、加减乘除四则运算的选择模块;四、处理输出结果的模块。
目 录
1 系统设计 4
2 单元电路设计 5
3 软件设计 5
4 系统测试 14
5 结 论 14
6 参考文献 14
1、系统设计
设计要求:
输入两个2位十进制数(0~99),输出它们的四则运算(加减乘除)结果;发光二极管
显示运算模式;可调用LPM_MULT及LPM_DIVIDE模块。
系统设计方案:
系统设计思路
要完成2位十进制四则运算器电路,首先,需要生成2个两位的十进制数,其次,需要加减乘除四个运算,然后,四种运算的选择,最后,对输出结果的处理。
2个2位十进制模块:法一,用两个100进制计数器构成;法二,用4个10进制计数器构成。因为add1模块(后面详细介绍)只有两个输入口,所以选择法一比较方便。
加减乘除四则运算:①加法:写一个加法程序,制成模块,再分别取出它的各位、十位、百位。②减法:写一个减法程序,用调用LPM的方法制成一个模块,在分别取出它的各位、十位和符号位。③乘法:直接调用内部LPM,制成乘法模块。④除法:直接调用内部LPM,制成除法模块。
加减乘除运算的选择:写一个4路选择器,分别选择加减乘除。
对输出结果的处理:写一个程序,对应不同选择下的不同输出,注意位数(加法:输出在0~198之间,需3个LED灯来显示;减法:输出在0~99之间,需3个LED灯(其中一个符号位);乘法:输出在0~9801之间,需4个LED灯;除法:输出在0~99之间,需2个LED灯。综上可知,输出一共需4个LED灯)。
总体方案的论证与比较
该方案能够较好的实现本设计的功能。一些小模块可以有不同做法。如:
2位十进制模块:法一,用两个100进制计数器构成;法二,用4个10进制计数器构成。因为add1模块(后面详细介绍)只有两个输入口,所以选择法一比较方便。
加减乘除输出结果的处理:要求出各个位的数。(假设输出结果3位)法一:每次除以10,依次求出个位、十位、百位;法二:除以100,得百位,除以10得个位和十位。因为法二需要较多的LPM_DIVIDE和LPM_CONSTANT,所以,法一比较好。
(3)各功能块的划分与组成
(4)系统的工作原理
对于随机输入的两个数,系统都会对其进行加减乘除四则运算,然后选择加法、减法、乘法或除法来作为输出,并验证其正确性。
2、单元电路设计
一、输入单元(2个2位十进制模块)
输入单元设计中, 用VHDL语言来实现该功能,然后制成模块。
二、加法单元
对两个输入的数进行加法运算,可用VHDL语言来实现该功能。其输出结果在0~198之间,将其结果显示在LED灯上,就需调用4个LPM_DIVIDE和4个LPM_CONSTANT来实现。
三、减法单元
对两个输入的数进行减法运算,可用VHDL语言来实现。结果有正、负之分,“F”来
表示负号。输出范围在0~99之间,需2个LPM_DIVIDE 和2个LPM_CONSTANT来将其结果显示在LED灯上。
四、乘法单元
乘法单元可调用LPM_MULT模块来实现。其输出结果在0—9801之间,需4个LPM_DIVIDE和4个LPM_CONSTANT来将其结果显示在LED灯上。
五、除法单元
除法单元直接调用3个LPM_DIVIDE 和2个LPM_CONSTANT就可以实现其要求。
选择模式单元
用VHDL语言写一个四路选择器程序,然后制成模块。
七、输出单元
用VHDL语言写一个程序可实现该功能,然后制成模块。
3、软件设计
一、软件设计平台和开发工具
在在Quartus II平台中用VHDL语言编程和调试。并调用其Quartus II的内部模块来实现设计要求。
二、程序原理图
①总程序图及其仿真波形
②一百进制模块
其程序为:
文档评论(0)