2015大作业简易计算器实验报告

实验报告——简易计算器

目录:

一、 实验目的1

二、 实验任务1

三、 电路设计及仿真1

1. 结构设计图示如下:2

2. 设计描述2

3. 一位全加器:2

4. 四位全加器:2

5. 补码器3

6. 四位加减器4

7. 八位全加器5

8. 乘法器5

9. 整体电路:6

四、 实验总结7

1. 实验收获:8

2. 实验中出现的问题及解决:8

实验目的

1. 学习面向可编程器件(FPGA)的简单数字系统的设计流程。

2. 熟练掌握EDA设计软件Quartus II的原理图输入方式和层次化设计模式。

3. 熟悉实验装置——实验箱。

实验任务

1. 设计1位全加器,并将其封装成1位全加器模块,仿真验证运算结果;

2. 设计4位加/减运算器。用封装好的1位全加器模块组成成4位加/减运算器。仿真验证运算结果;

3. 以全加器为基础设计一个4位乘法器并封装成乘法器模块,输出显示乘积和正负数标志。仿真验证运算结果;

4. 使用已生成的器件模块为基础设计一个简易计算器,根据控制端的状态,完成加、减、乘法运算,用十进制显示运算结果;用发光二极管显示负数标志。仿真验证运算结果;即实现如下设计:

电路设计及仿真

结构设计图示如下:

设计描述

利用门电路组合成1位全加器,封装;

调用1位全加器组合4位全加器和4位补码全加器(实现补码和相加),分别封装;

利用门电路实现补码器,封装;(可改进——使用4位全加器实现,见下);

调用4位补码全加器和补码器实现4位加减器;

调用4位全加器实现8位全加器,封装;

调用8位全加器实现乘法器;

译码(二进制码——BCD码);

组合4位加减器和乘法器成简易计算器;

一位全加器:

利用门电路组合而成4位全加器;电路图如下:

将其封装成1位全加器模块。

四位全加器:

利用1位全加器模块搭建4位补码全加器(实现补码后相加),电路如下:

将其封装成4位补码全加器模块。

仿真波形:

补码器

根据真值表可得如下表达式:

其中K,CO,S3,S2,S1,S0的含义由四位补码全加器表明;F表示结果的符号;H,R3,R2,R1,R0依次表示运算结果的从高到低位;R3,R2,R1,R0具有高度对称性;

利用门电路组合而成4位补码器,电路图如下:

将其封装成4位补码器模块。

改进说明:

直接根据由得到的符号位,用类似运算前求补码的方式求结果的补码;即令原先A3,A2,A1,A0输入端都等于0,将S3,S2,S1,S0接入原先B3,B2,B1,B0输入端;F(由得到)接入原先K输入端;便可通过4位全加器实现求补码运算。即得到如下电路(求补码时取CO输出端接运算结果的最高位H):

四位加减器

调用4位补码全加器和4位补码器实现4位加减器,电路如下:

八位全加器

用4位全加器实现8位全加器,电路如下:

将其封装成8位全加器模块,供乘法器使用。

乘法器

根据错位相加法原理利用8位全加器模块组合而成乘法器,电路如下:

将其封装成乘法器模块,供简易计算器调用。

仿真波形:

整体电路:

将4位加减器和乘法器组合起来,根据控制端的状态,完成加、减、乘法运算;

将模块电路输出的二进制码转换为BCD码输出;整体电路如下:

功能仿真波形:

时序仿真波形:

实验总结

实验收获:

通过在Quartus II上用门电路搭建和组合原理图并实现封装调用,掌握了层次化的设计模式和由小到大、由简单到复杂的设计流程;

掌握了引脚锁定,功能下载的方法,熟悉了实验装置——实验箱的操作方法,并能通过开关、按键输入,数码管、二极管输出来验证简易计算器的运算结果是否正确。

实验中出现的问题及解决:

首先遇到的问题是封装后调用出错的问题,即在新建的工程文件中新建原理图,调用之前封装的模块,但编译不能通过。但将工程放在同一文件夹下即可避免此问题。出错原因是封装后的模块的原理图不再当前文件夹下。最后采用将封装模块和原理图文件都拷贝到需要此模块的文件夹下,在新建工程时添加.bdf文件即可。

实现4位加减运算器时借鉴组合电路设计实验中2位加减运算器的设计方法。但需要考虑到最后将补码转换为原码的方法。方法a采用门单路实现,较复杂;方法b仿照运算前取补码的方式,将补码相加后的结果和符号类比输入的加数和符号,同时被加数位全部置0,即可实现求补码运算。

由于忽视实验指导中的要求,最后将二进制码转化为BCD码。故开始没有转化,在实验中只能得到10以下的正确结果。最后利用74185及其组合电路将运算器输出的结果转化为BCD码,再接到数码管上,便能得到正确结果。

时序仿真时,由于设置的波形不合理,造成输出波形不断跳变而无法判断输出结果的问题原因是由

android大作业计算器,2015大作业简易计算器实验报告.doc相关推荐

  1. 微型计算机电子琴实验报告,《微机原理与接口技术》简易电子琴实验报告.doc...

    <微机原理与接口技术>简易电子琴实验报告 . 信息学院信息安全系专业课程 <微机原理与接口技术> 简易电子琴实验报告 目录 一.设计要求 ................... ...

  2. 龙贝格数值分析作业c语言,数值分析龙贝格实验报告.doc

    数值分析龙贝格实验报告 实验三 龙贝格方法 [实验类型] 验证性 [实验学时] 2学时 [实验内容] 1.理解龙贝格方法的基本思路 2.用龙贝格方法设计算法,编程求解一个数值积分的问题. [实验前的预 ...

  3. 数值分析matlab实验报告,数值分析第一次作业matlab实验报告.doc

    数值分析第一次作业matlab实验报告.doc 几种线性方程组迭代算法的MATLAB实现和性能比较用有限差分方法(五点差分格式)求解正方形域上的Poisson方程边值问题用MATLAB语言编写算法程序 ...

  4. 深圳大学计算机图形学实验4.1,深圳大学计算机图形学大作业实验报告.doc

    深圳大学计算机图形学大作业实验报告 深 圳 大 学 实 验 报 告 实验课程名称: 计算机图形学 实验项目名称: 计算机期末综合大作业 学院: 计算机与软件 专业: 计算机科学与技术 报告人: 班级: ...

  5. 计算机课实验报告排版,大学计算机排版作业实验报告.doc

    大学计算机排版作业实验报告 计算机大作业(排版) 字体设置 按住"Ctrl+A"将要排的文章全部选定 在菜单栏点击"格式"→"字体" 在&q ...

  6. c语言课程设计作业红白球,c语言课程设计报告.doc

    <c语言课程设计报告.doc>由会员分享,可在线阅读,更多相关<c语言课程设计报告.doc(28页珍藏版)>请在装配图网上搜索. 1.C程序设计课程设计学 院: * 专 业: ...

  7. python表达式计算器_Python正则表达式实现简易计算器功能示例

    本文实例讲述了Python正则表达式实现简易计算器功能.分享给大家供大家参考,具体如下: 需求:使用正则表达式完成一个简易计算器. 功能:能够计算简单的表达式. 如:1*2*((1+2)/(2+3)+ ...

  8. 计算机动画火柴人作业,(Flash期末作品综合实验报告.doc

    (Flash期末作品综合实验报告 "回家过节不容易"动漫小品制作简介 Flash动画制作综合设计性实验报告 年级专业:2012级 6班 指导教师: 学号姓名(组长排名第一) 一.& ...

  9. pythontkinter做计算器_Python Tkinter实现简易计算器功能

    闲暇时间用tkinter写了个简易计算器,可实现简单的加减乘除运算,用了Button和Entry2个控件,下面是代码,只是简单的用了偏函数partial,因为那么多button的大部分参数都是一样的, ...

  10. 单片机实训简易计算机,单片机简易计算器实验报告.doc

    单片机简易计算器实验报告 单片机简易计算器实验报告 单片机原理及应用课程设计报告-简易计算器 <单片机原理>课 程课程设计 题 目简易计算器 院 (系) 信息工程学院 专 业 班 级 计算 ...

最新文章

  1. c+和python的区别-python和c先学哪个
  2. C++ Primer 5th笔记(chap 14 重载运算和类型转换)算术和关系运算符
  3. 【Qt】Qt数据库简介
  4. 十三、PyQt5的QFileDialog文件打开、文件保存、文件夹选择对话框
  5. openstack 功能_2016年OpenStack的新功能:看一下Newton版本
  6. Netty工作笔记0029---NIO 网络编程应用--群聊系统4--客户端编写2
  7. 6 VPP源码分析 (VPP中的多线程)
  8. UVA10227 POJ2419 ZOJ1900 Forests【并查集+set】
  9. Android逆向之静态分析
  10. html range样式修改,自定义(滑动条)input[type=range]样式
  11. 瑞昱rtl8168网卡支持Linux吗,瑞昱 RTL8168F PCI-E专用网卡驱动,亲测可用
  12. 面试官问你什么是QPS?
  13. 2-5暴力破解防范措施和防范误区
  14. 携程——聪明的猴子 (容斥定理)
  15. 十三个提高远程办公效率的工具
  16. OSINT 和 15 大开源情报工具
  17. VS code:代码出现蓝色波浪线,提示显示 xxxx: Unknown word.cSpell
  18. 小程序的三种生命周期
  19. 敏涵国际品牌:定义高端美妆新力量
  20. 自学网络安全?一般人我还是劝你算了吧

热门文章

  1. java实现AES密钥生成
  2. 这8款黑科技APP,满足你的所有需求,你想不到的照样帮你实现!
  3. 测试通达信指标胜率的软件,如何利用通达信程序交易评测系统选高胜率小回辙高收益股票...
  4. linux配置网桥,Linux下通过brctl配置网桥
  5. vscode vue开发环境搭建
  6. 【盘点】python最常用的快捷键,一定要收藏!
  7. sap的工作日历_ABAP-有关日期的SAP函数使用(日历)
  8. 【老骥伏枥-狗年大礼包】嵌入式linux逆向工程,手把手教你作黑Q-第三讲
  9. 6轴游戏手柄测试python程序
  10. 数字图像处理报告:实验4 图像复原