《电子设计自动化》
课程设计
题目: 2位十进制四则运算器电路
院(系) 信息科学与工程学院
专业通信工程
届别 2011级
班级 1班
学号 1115102040
姓名韦桂
任课老师彭盛亮
摘要
本次课程设计主要内容是采用VHDL语言实现2位十进制数四则运算编程,用Quartus II 软件实现功能仿真,并完成硬件测试。
本次试验目的是:输入任意两个两十进制位数(0~99),选择计算模式(加减乘除),输出它们的计算结果,利用四个数码 LED 分别显示输入的两个两位数,利用四个发光二极管显示计算模式(每次只有一个二极管发光),利用另外四个数码管显示计算结果;实现方法是:将整个系统分为输入模块,计算模块和输出模块三个部分组成。输入模块由3个脉冲键,2个复位键和2个使能端组成;计算模块分别为加法器,减法器,乘法器,除法器;输出模块通过8个数码管和4个发光二极管分别显示运算数值,运算结果和运算模式。
经过多次修改,波形仿真和硬件测试均成功。设置两个计数器的复位键,以便于输入比较大的数之后,想进行比较小的数字的运算可以按复位键,以减少按键5或键6的次数,设置模块时,为使电路看起来更加简洁,应减少使用电路模块,如:都除以10取余时,把除数端口都连接在同一个常数端。
目录
第一部分系统设计 4
: 4
: 4
: 4
: 4
: 4
: 4
(1)总电路 5
(2)输入模块: 5
(3)计算模块 5
(4)输出模块: 6
:总体方法的论证与比较: 7
第二部分软件设计 7
7
7
7
: 7
: 8
: 9
: 9
: 10
总电路波形仿真 11
管脚分配 11
(1)Input: 11
(2)Output: 11
第三部分系统测试 12
软件测试结构综合结果 12
、型号 12
、步骤: 12
第四部分结论及收获 13
13
13
参考文献 13
第一部分系统设计
:
输入两个2位十进制数(0~99),输出它们的四则运算(加减乘除)结果;发光二极管显示运算模式;可调用LPM_MULT及LPM_DIVIDE模块。
:
:
将总的电路大体分为以下几个大模块:三个输入端,模式选择,加法模块,减法模块,乘法模块,除法模块,输出模块。总思路框图如下:
:
a. 十进制数输入以及计算模式切换借助于单脉冲按键实现(模式 5);
b. “加”和“减”功能模块可自编VHDL 程序实现,“乘”和“除”功能模块可
调用LPM 模块实现;
c. 乘法运算的结果最多为四位数(如99*99=9801),分别取出其千位数(9),百位
数(8),十位数(0)和个位数(1)然后送给四个LED 才能显示计算结果(9801)。
:
:clkA,clkB,clkC,ENA,ENB,RSTA,RSTB;
:加、减、乘、除分别为:nu15_add,nu15_sub,nu15_mult,nu15_div
:nu15_mod
:显示输入的第一个数字:outIN11(高位),outIN12(低位), 显示输入的第二个数字:outIN21(高位),outIN22(低位), 显示运算后的结果:LED1(高位),LED2,LED3,LED4(低位);
:
(1)总电路
:
(2)输入模块:
TA电路:
TB电路:
(3)计算模块
:
:
:
:
(4)输出模块:
:
:总体方法的论证与比较:
方案一:输入直接用100进制的计数器,但要将输入数值显示在数码管上,则需制作显示模块,对输入的数进行除法运算,再通过输出模块将数值显示在数码管上。
方案二:输入用两个十进制的计数器连接实现100进制,此方法可很方便
《EDA课程设计2位十进制四则运算电路》 来自淘豆网m.daumloan.com转载请标明出处.