1 / 11
文档名称:

EDA课程设计--2位十进制四则运算器电路.doc

格式:doc   大小:268KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

EDA课程设计--2位十进制四则运算器电路.doc

上传人:allap 2021/8/9 文件大小:268 KB

下载得到文件列表

EDA课程设计--2位十进制四则运算器电路.doc

文档介绍

文档介绍:《电子设计自动化》
课程设计
题目: 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就可以实现其要求。