硬件加减法器的设计_第1页
硬件加减法器的设计_第2页
硬件加减法器的设计_第3页
硬件加减法器的设计_第4页
硬件加减法器的设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学号201140410337课程设计题目硬件加减法器的设计教学院计算机学院专业计算机科学与技术班级2011级(3)班姓名张勇指导教师高芹2013年1月20日课程设计任务书20122013学年第1学期学生姓名张勇专业班级计算机科学与技术(3)班指导教师高芹工作部门计算机学院一、课程设计题目硬件加减法器的设计二、课程设计内容(含技术指标)1利用QUARTUS软件设计8位的补码加减法电路。方案一用原理图设计法设计8位行波进位加减法器。方案二用原理图设计法设计8位超前进位加法器。方案三用VHDL设计法设计8位加减法器。2输入两个8位数据分别存放在A、B寄存器中,通过计算,将结果Y以十进制显示在数码管上,并判断是否产生溢出,用V表示,如果溢出,使蜂鸣器报警。总体框图参考下图加减法器ABYIN70LDBLDAV三、进度安排12012年12月29日,课题讲解,布置任务22012年12月30日到2013年1月4日,查阅资料,分析、讨论与设计32013年1月5日到8日,进行各子模块的设计,并进行调试42013年1月9日到10日完成各模块联调,进行测试52013年1月11日,成果验收,进行答辩四、基本要求1能够熟练掌握计算机中补码加法减法的计算方法及溢出判断方法;2掌握硬件描述语言VHDL及原理图设计方法;3熟练掌握QUARTUSII软件平台;4各小组按模块分工,每人独立完成自己负责的模块;5合作完成最终的硬件下载及调试;6独立撰写符合要求的课程设计报告。目录1课程设计概述411课设目的412设计任务413设计要求42实验原理与环境621实验原理622实验环境73总体方案设计831需求分析832硬件设计84详细设计与实现1041硬件实现105实验过程与调试1451仿真1452主要故障与调试1653功能测试1654实验流程图186设计总结与心得1961课设总结1962课设心得19参考文献211课程设计概述11课设目的计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决问题的能力。(1)学习从书籍以及实践的经历方面去获取知识加强自我学习的能力,对计算机组成原理更进一步的了解,从而锻炼自己的动手能力实践课本上的知识来加深对知识的掌握。(2)掌握硬件描述语言VHDL及原理图设计方法;掌握QUARTUCII软件平台。(3)培养小组团队间的团结合作精神12设计任务加减法器的目的是利用QUARTUS软件设计8位的补码加减法电路,实现八位二进制数的加减运算,通过指示灯亮暗来判断结果,并且用一个信号灯判断是否溢出。具体设计任务如下1输入两个8位数据分别存放在A、B寄存器中,通过计算,将结果Y显示在数码管上,并判断是否产生溢出,用V表示,如果溢出,使蜂鸣器报警。2用原理图设计法设计8位行波进位加减法器。13设计要求根据理论课程所学的至少,设计出简单计算机系统的总体方案,结合各单元实验积累和课堂上所学知识,选择适当芯片,设计简单的计算机系统,具体要求如下(1)根据课设指导书的要求,制定设计方案。(2)设计一个八位二进制数的寄存器。(3)设计一个一位二进制数的加减法器。(4)画出自己所涉及加减法器的原理图和器件连接引脚。(5)设计硬件电路,载入试验箱实现功能。2实验原理与环境21实验原理运用到数字逻辑与计算机组成原理知识,包括逻辑电路的设计,及加减法器的原理,根据运算的过程得到方程,从而画出原理图。一位全加器的原理为,两个二进制数AI,BI和一个进位输入CI相异或,产生一个和输出SI,以及一个进位输出CI1。表中列出一位全加器FA进行加法运算的输入输出真值表21。表21一位全加器真值表输入输出AIBICISICI10000010100111001011101110010100110010111根据表所示的真值表,三个输入端和两个输出端可按如下逻辑方程进行联系SIAIBICICI1AIBIBICICIAI而八位二进制的加法器则是有这样的二进制加法器串联而成,如图22,其中M用高低电压来控制,低电压时M0,此时做加法(AB)运算,高电压时M1,此时做减法A补(B)补运算,而V控制溢出。图22八位二进制加法器原理图N822实验环境(1)试验台设备EDA试验箱(2)设计开发软件QUARTUS3总体方案设计31需求分析根据总体结构图我们知道,此图需要两个输入和一个加减法器,这是实验的主体,因此需要两个八位的寄存器和一个八位二进制的加减法器,而八位二进制加减法器可有八个全加器组成而寄存器则用代码程序得到。32硬件设计321总体设计采用的是硬件设计,设计硬件电路,主要设计出寄存器和加法器,实现八位二进制数的运算,其中八位二进制寄存器采用VHDL语言程序生成。加法器FA则采用一位加法器生成。总体结构图如所示。图31总体结构图加减法器ABYIN70LDBLDAV322全加器从AI和BI输入端,输入数,CI1为上一位的进位,三个从相异或,产生一个输出SI和一个进位CI,如此运算。图32一位全加器FA323寄存器寄存器为八位寄存器,是由VHDL语言所写的程序生成,如下所示,其中包括八位输入和八位输出以和一个控制信号LDA。D0D7为八个输入端,Q0Q7为八个输出端,LDA用于寄存器控制输入信号。图34八位寄存器4详细设计与实现41硬件实现411全加器硬件原理图如图41所示,进位链采用一个或门。该原理图为一位全加器,其中结果SI由三个输入信号AI、BI、CI1异或得到,信号CI为进位。图41一位加法器原理图412寄存器实现在QUARTUS软件上用程序如下LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLENTITYREGISPORTD0INSTD_LOGICD1INSTD_LOGICD2INSTD_LOGICD3INSTD_LOGICD4INSTD_LOGICD5INSTD_LOGICD6INSTD_LOGICD7INSTD_LOGICLDAINSTD_LOGICQ0OUTSTD_LOGICQ1OUTSTD_LOGICQ2OUTSTD_LOGICQ3OUTSTD_LOGICQ4OUTSTD_LOGICQ5OUTSTD_LOGICQ6OUTSTD_LOGICQ7OUTSTD_LOGICENDENTITYREGARCHITECTUREBHVOFREGISBEGINPROCESSD0,D1,D2,D3,D4,D5,D6,D7,LDABEGINIFLDA1THENQ0D0Q1D1Q2D2Q3D3Q4D4Q5D5Q6D6Q7D7ENDIFENDPROCESSENDBHV从而生成了下图八位寄存器,而程序定义了16个输入输出和1个控制键。图42八位寄存器42总体原理图全图由八个全加器相互串联组成八位加减法,并且由两个八位的寄存器A和B组成输入设备。其中M用高低电压来控制,低电压时M0,此时做加法(AB)运算,高电压时M1,此时做减法A补(B)补运算,而V控制溢出。图43总体结构原理图5实验过程与调试51仿真将M置为0做加法,高电平为1,低电平为0,置LDA、LDB为1,分别为A和B赋值,A为10010010,B为00000001,结果S为10010011,V为0,未溢出。图51如下仿真图将M置为1做减法,分别给A、B赋值,A为10010000,B为00000101,结果S为10001011,V为0,未溢出,如下仿真图。图52如下仿真图52主要故障与调试521故障1用VHDL语言编写的生成全加器的程序调试出错。调试与分析由于刚开始时只用一个DN和QN用循环语句来表示输入和输出,导致只有一个总的一根线来表示输入,但是八位加减法器A有八根线,八个引脚,无法连接,导致总的原理图不正确,最后将DN用D0到D7分别定义和QN用Q0到D7分别定义从而解决了八个引脚的问题。522故障2将逻辑电路载入芯片后,连接线路完成,但是试验箱不能正常运行。调试与分析刚开始时按原理图连接完实验需要的所有线后,安装了驱动后,但是仍然不能输出,检查了原理图、逻辑电路和实验箱连线并进行了仿真无错误,最后进行各排查,确认是连接高电压的电线不能导电,最后换掉后实现输出的运行。53功能测试本次课程设计中,根据方程设计出一位全加器FA,进行八位运算只需要使用八个FA即可,将进位连接好,输入与寄存器相连,并设计好运算控制信号M和溢出判断信号V。待电路连接好后便可进行测试。题目10000000100000001程序流程为将M置为0做加法,高电平为1,低电平为0,置LDA、LDB为1,分别为A和B赋值,A为00000001,B为00000001,结果S为00000010,V为0,未溢出。程序运行结果图53运行结果模拟图题目21000000000000001程序流程为将M置为1做减法,分别给A、B赋值,A为10000000,B为00000001,结果S为10001011,V为0,未溢出。程序运行结果54运行结果模拟图54实验流程图12012年12月29日,课题讲解,布置任务22012年12月30日到2013年1月4日,查阅资料,分析、讨论与设计32013年1月5日到8日,进行各子模块的设计,并进行调试42013年1月9日到10日完成各模块联调,进行测试52013年1月11日,成果验收,进行答辩6设计总结与心得61课设总结基于八位二进制数的的加减法,采用方案是用原理图设计法设计八位行波进位加减法器,主要用于计算机中的基本运算。(1)完成方案总结这个实验主要是实现加减法器,首先在QUARTUSII上画出一个全加器的原理图然后再将其转化为一个全加器的元器件,最后将八个全加器串联并用一个非门控制加减法,从而实现了八位二进制的加减法器。实现全加器的方程SIAIBICICI1AIBIBICICIAI。从而在QUARTUSII画出整个原理图。(2)功能总结首先将原理图的功能从电脑写入实验箱的芯片中,首先,LDA,LDB高电压,M用高低电压来控制,低电压时M0,此时做加法(AB)运算,高电压时M1,此时做减法A补(B)补运算,结果用亮灯来表示,而V控制溢出,溢出则显示器亮红灯。62课设心得做这次课程设计,我学会了很多,首先锻炼了自己的动手,实践能力,本来自己就对电子技术不感兴趣的,学的很无趣,基本不懂,但是这次课程设计的硬件加减法器的设计让自己死啃电子技术,必须清楚硬件布线和逻辑电路,而主要为加法器的逻辑图和整个原理图的设计,而我们知道八位加法器重点为怎样生成八位寄存器和八位二进制的加减法器。当然这就涉及生成八位寄存器的代码和一位二进制的全加器怎么转换为八位二进制的加法器和怎样变加法器为减法器,我们首先从老师那里得到八位寄存器的代码,但是那是只有一根将八根输入或输出总起来输入和输出,和我们需要分别有八根输入和输出的代码有很大区别,因此我们试着将一个循环的代码改为一个分别定义八个输入和输出的代码,而八个全加器则串联生成了八位二进制的加法器,这样基本将一个八位二进制的加法器设计成功,而加法器变减法器则用一个非门来控制B的输入,从而到达减法器的目的,当然这次的课设也锻炼了我们对QUARTUSII软件的掌握,对怎样去用这软件画逻辑图和怎样利用这个软件把这个原理图的功能写入到芯片中,这些都需要我们的学习和掌握的能力的提升。而这些需要上网查资料和跟课本知识的理解,也需要一个团队的相互配合才可以在规定的时间内完成这个实验,这个课设启发我们要有一定对知识的变通能力,和对知识的类比的能力只有这样才可以去很好的完成课程设计。参考文献1白中英计算机组成原理(第四版)北京科学出版社,20082/余孟尝数字电子技术基础简明教程(第三版)北京高等教育出版社,2006计算组成原理课程设计成绩评定表1、课程设计答辩或质疑记录(1)VHDL语言是什么语言VHDL是一种硬件描述语言,是以通用语言的形式描述电路。(2)行波进位加减法器中利用什么控制加法或减法利用非门来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论