- 13
- 0
- 约 26页
- 2015-09-13 发布于重庆
- 举报
EDA实习报告(26页).doc
北华大学
计算器设计
实习名称:基于FPGA的计算器设计
摘要
本文介绍了一个简单的计算器的设计,该设计采用了现场可编程逻辑器件FPGA设计,并基于VHDL语言实现加减乘除功能,并用十进制显示在LCD1602上。系统由计算部分、输入部分、选择部分、输出部分组成,计算部分为加法器、减法器、乘法器和除法器组成。使用Altera公司的QuartusII开发软件进行功能仿真,并下载到试验箱,用实验箱上的按键开关模拟输入,用数码管显示十进制计算结果。通过外部按键可以完成四位二进制数的加、减、乘、除四种运算功能,其结果简单,易于实现。
关键字:VHDL,计算器,QuartusII
目录
一.实验目的 3
二、流程图 3
三、各个模块 3
(1)加法器模块 3
1、RTL Viewer 3
2、加法器程序 4
3、仿真结果 5
(2)减法器模块 5
1、RTL Viewer 5
2、设计思想: 5
3、减法器程序 6
4、仿真结果 6
(3)乘法器模块 7
1、RTL Viewer 7
2、乘法器的设计思想 8
3、乘法器程序 8
4、仿真结果 9
(4)除法器模块 9
1、RTL Viewer 9
2、除法器设计思想 10
3、除法器程序 10
4、仿真结果 11
(5)、分位除法器 11
3、分位除法器设计思想: 11
(6)LCD1602显示模块 12
1、RTL Viewer 12
2、 LCD1602的使用 12
四、管脚锁定 15
五、小结与收获 16
附录:总程序 17
一.实验目的
1、熟悉QuartusII软件的相关操作,掌握数字电路设计的基本流程。
2、介绍QuartusII的软件,掌握基本的设计思路,软件环境参数配置,仿真,管脚分配,下载等基本操作。
3、了解VHDL或原理图设计方法与定制IP模块的思想。
4、掌握并行加法器,减法器乘法器以及除法器的设计思路及工作原理。
5、设计一个能完成加减乘除功能并以十进制显示结果的简单计算器。
二、流程图
当输入为00时输出加法结果
当输入为01时输出减法结果
当输入为10时输出乘法结果
当输入为11时输出除法结果
三、各个模块
(1)加法器模块
1、RTL Viewer
当CLR为‘1’时清零,输出为零
当CLR为‘0’时,输入两个四位二进制数,输出两个数之和。
2、加法器程序
3、仿真结果
当CLR为1时,输出为0;当CLR为0时,进行加法运算
(2)减法器模块
1、RTL Viewer
2、设计思想:
减去一个数等于加上这个数的补码,对减数求补码,再调用加法器
当CLR为‘1’时清零,输出为零
当CLR为‘0’时,a是四位二进制被减数,b时四位二进制减数。 S为相减的结果,co为借位,当co为0时代表a减b是整数,否 则为负数或者0。
3、减法器程序
4、仿真结果
CLR为清零,当CLR为1时清零,输出为0;当CLR为0时进行减法运算,a、b为两个四位二进制输入,s为输出,当co为0时,代表s为正,当co为1时代表co为负,当被减数小于减数时,s为相减得到的结果的补码。
(3)乘法器模块
1、RTL Viewer
当clr为‘1’时输出为0
当clr为‘0’时,a与b相乘输出y
2、乘法器的设计思想
用并行相乘的方法。通过开关和键盘,两组分别输入4bit的数据进行乘法运算时,先求出部分积,即求得二进制数据的乘数和被乘数逐位相乘,之后运用二进制加法进行加和。举例如下,10X9=90:
--10 × 9 = 90
-- 1 0 1 0
-- X 1 0 0 1 =
-- -------------
--
-- --部分积
--
- ----------------------------
-- 1011010 =90
这里加法的结果就是所求结果。
3、乘法器程序
4、仿真结果
clr为清零,当clr为1时进行乘法运算,a、b为两个四位二进制输入,y为十六进制输出。
(4)除法器模块
1、RTL Viewer
当clr为‘1’时,输出为0。当clr为‘0’时,a与b相除输出s,s高四位为商,低四位为余
2、除法器设计思想
f:=a; g:=b; e:=(others=‘0’);--f等于被除数,g等于除数
for i in 1 to 15 loop --e为商
if (f=g) then f:=f-g;
原创力文档

文档评论(0)