硬件加减法器的设计.doc

上传人:文库蛋蛋多 文档编号:2883581 上传时间:2023-03-01 格式:DOC 页数:24 大小:676.50KB
返回 下载 相关 举报
硬件加减法器的设计.doc_第1页
第1页 / 共24页
硬件加减法器的设计.doc_第2页
第2页 / 共24页
硬件加减法器的设计.doc_第3页
第3页 / 共24页
硬件加减法器的设计.doc_第4页
第4页 / 共24页
硬件加减法器的设计.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《硬件加减法器的设计.doc》由会员分享,可在线阅读,更多相关《硬件加减法器的设计.doc(24页珍藏版)》请在三一办公上搜索。

1、学 号: 201140410337课 程 设 计题 目硬件加减法器的设计教 学 院计算机学院专 业计算机科学与技术班 级2011级(3)班姓 名张勇指导教师高 芹2013年1月20日课程设计任务书 20122013学年第 1 学期学生姓名: 张勇 专业班级:计算机科学与技术(3)班 指导教师: 高芹 工作部门: 计算机学院 一、课程设计题目 硬件加减法器的设计二、课程设计内容(含技术指标)1利用QUARTUS软件设计8位的补码加减法电路。方案一:用原理图设计法设计8位行波进位加减法器。方案二:用原理图设计法设计8位超前进位加法器。方案三:用VHDL设计法设计8位加减法器。2. 输入两个8位数据

2、分别存放在A、B寄存器中,通过计算,将结果Y以十进制显示在数码管上,并判断是否产生溢出,用V表示,如果溢出,使蜂鸣器报警。总体框图参考下图:加减法器ABYIN(70)LDBLDAV三、进度安排1. 2012年12月29日,课题讲解,布置任务2. 2012年12月30日到2013年1月4日,查阅资料,分析、讨论与设计3. 2013年1月5日到8日,进行各子模块的设计,并进行调试4. 2013年1月9日到10日完成各模块联调,进行测试5. 2013年1月11日,成果验收,进行答辩四、基本要求1. 能够熟练掌握计算机中补码加法减法的计算方法及溢出判断方法;2. 掌握硬件描述语言VHDL及原理图设计方

3、法;3. 熟练掌握Quartus II软件平台;4. 各小组按模块分工,每人独立完成自己负责的模块;5. 合作完成最终的硬件下载及调试;6. 独立撰写符合要求的课程设计报告。 目 录1 课程设计概述41.1 课设目的41.2 设计任务41.3 设计要求42 实验原理与环境62.1 实验原理62.2 实验环境73 总体方案设计83.1 需求分析83.2 硬件设计84 详细设计与实现104.1 硬件实现105 实验过程与调试145.1 仿真145.2 主要故障与调试165.3 功能测试165.4 实验流程图186 设计总结与心得196.1 课设总结196.2 课设心得19参考文献211 课程设计概

4、述1.1 课设目的计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决问题的能力。(1) 学习从书籍以及实践的经历方面去获取知识加强自我学习的能力,对计算机组成原理更进一步的了解,从而锻炼自己的动手能力实践课本上的知识来加深对知识的掌握。 (2)掌握硬件描述语言VHDL及原理图设计方法;掌握QUARTUC II软件平台。 (3)培养小组团队间的团结合作精神1.2 设计任务加减法器的目的是利用QUARTUS软件设计8位的补码加减法电路,实现八位二进制数的加减运算,通过指示灯亮暗来判断结果,并且用一个

5、信号灯判断是否溢出。具体设计任务如下: 1输入两个8位数据分别存放在A、B寄存器中,通过计算,将结果Y显示在数码管上,并判断是否产生溢出,用V表示,如果溢出,使蜂鸣器报警。2.用原理图设计法设计8位行波进位加减法器。1.3 设计要求根据理论课程所学的至少,设计出简单计算机系统的总体方案,结合各单元实验积累和课堂上所学知识,选择适当芯片,设计简单的计算机系统,具体要求如下:(1) 根据课设指导书的要求,制定设计方案。(2) 设计一个八位二进制数的寄存器。(3) 设计一个一位二进制数的加减法器。(4) 画出自己所涉及加减法器的原理图和器件连接引脚。(5) 设计硬件电路,载入试验箱实现功能。2 实验

6、原理与环境2.1 实验原理运用到数字逻辑与计算机组成原理知识,包括逻辑电路的设计,及加减法器的原理,根据运算的过程得到方程,从而画出原理图。一位全加器的原理为,两个二进制数Ai,Bi和一个进位输入Ci相异或,产生一个和输出Si,以及一个进位输出Ci+1。表中列出一位全加器FA进行加法运算的输入输出真值表2.1。表2.1一位全加器真值表输入输出Ai Bi CiSi Ci+1 0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 10 01 01 00 11 00 10 11 1根据表所示的真值表,三个输入端和两个输出端可按如下逻辑方程进行联系: S i=AiBiCi Ci

7、+1=AiBi + BiCi+ CiAi 而八位二进制的加法器则是有这样的二进制加法器串联而成,如图2.2,其中M用高低电压来控制,低电压时M=0,此时做加法(A+B)运算,高电压时M=1,此时做减法A补+(-B)补运算 ,而V控制溢出。 图2.2八位二进制加法器原理图 n=82.2 实验环境(1)试验台设备EDA试验箱 (2)设计开发软件Quartus 3 总体方案设计3.1 需求分析 根据总体结构图我们知道,此图需要两个输入和一个加减法器,这是实验的主体,因此需要两个八位的寄存器和一个八位二进制的加减法器,而八位二进制加减法器可有八个全加器组成而寄存器则用代码程序得到。3.2 硬件设计3.

8、2.1 总体设计采用的是硬件设计,设计硬件电路,主要设计出寄存器和加法器,实现八位二进制数的运算,其中八位二进制寄存器采用VHDL语言程序生成。加法器FA则采用一位加法器生成。总体结构图如所示。图3.1总体结构图加减法器ABYIN(70)LDBLDAV3.2.2 全加器从Ai和Bi输入端,输入数,Ci-1为上一位的进位,三个从相异或,产生一个输出Si和一个进位Ci,如此运算。图3.2一位全加器FA3.2.3 寄存器 寄存器为八位寄存器,是由VHDL语言所写的程序生成,如下所示,其中包括八位输入和八位输出以和一个控制信号LDA。D0-D7为八个输入端,Q0-Q7为八个输出端,LDA 用于寄存器控

9、制输入信号。图3.4八位寄存器4 详细设计与实现4.1 硬件实现4.1.1 全加器硬件原理图如图4.1所示,进位链采用一个或门。该原理图为一位全加器,其中结果S i由三个输入信号Ai、Bi、Ci-1异或得到,信号Ci为进位。图4.1一位加法器原理图4.1.2 寄存器实现 在QUARTUS软件上用程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY REG ISPORT(D0: IN STD_LOGIC;D1: IN STD_LOGIC;D2: IN STD_LOGIC;D3: IN STD_LOGIC;D4: IN STD_LOGIC;D5

10、: IN STD_LOGIC;D6: IN STD_LOGIC;D7: IN STD_LOGIC; LDA: IN STD_LOGIC;Q0:OUT STD_LOGIC;Q1:OUT STD_LOGIC;Q2:OUT STD_LOGIC;Q3:OUT STD_LOGIC;Q4:OUT STD_LOGIC;Q5:OUT STD_LOGIC;Q6:OUT STD_LOGIC;Q7:OUT STD_LOGIC);END ENTITY REG;ARCHITECTURE bhv OF REG ISBEGINPROCESS (D0,D1,D2,D3,D4,D5,D6,D7,LDA)BEGIN IF LDA

11、 =1 THEN Q0= D0;Q1= D1;Q2= D2;Q3= D3; Q4= D4; Q5= D5; Q6= D6; Q7= D7;END IF;END PROCESS;END bhv;从而生成了下图八位寄存器,而程序定义了16个输入输出和1个控制键。 图4.2八位寄存器 4.2 总体原理图 全图由八个全加器相互串联组成八位加减法,并且由两个八位的寄存器A和B组成输入设备。其中M用高低电压来控制,低电压时M=0,此时做加法(A+B)运算,高电压时M=1,此时做减法A补+(-B)补运算 ,而V控制溢出。 图4.3 总体结构原理图 5 实验过程与调试5.1 仿真将M置为0做加法,高电平为1,

12、低电平为0,置LDA、LDB为1,分别为A和B赋值,A为10010010,B为00000001,结果S为10010011,V为0,未溢出。图5.1如下仿真图将M置为1做减法,分别给A、B赋值,A为10010000,B为00000101,结果S为10001011,V为0,未溢出,如下仿真图。图5.2如下仿真图5.2 主要故障与调试5.2.1 故障1用VHDL语言编写的生成全加器的程序调试出错。调试与分析:由于刚开始时只用一个Dn和Qn用循环语句来表示输入和输出,导致只有一个总的一根线来表示输入,但是八位加减法器A有八根线,八个引脚,无法连接,导致总的原理图不正确,最后将Dn用D0到D7分别定义和

13、Qn用Q0到D7分别定义从而解决了八个引脚的问题。5.2.2 故障2将逻辑电路载入芯片后,连接线路完成,但是试验箱不能正常运行。调试与分析:刚开始时按原理图连接完实验需要的所有线后,安装了驱动后,但是仍然不能输出,检查了原理图、逻辑电路和实验箱连线并进行了仿真无错误,最后进行各排查,确认是连接高电压的电线不能导电,最后换掉后实现输出的运行。5.3 功能测试本次课程设计中,根据方程设计出一位全加器FA,进行八位运算只需要使用八个FA即可,将进位连接好,输入与寄存器相连,并设计好运算控制信号M和溢出判断信号V。待电路连接好后便可进行测试。题目1:00000001+00000001程序流程为:将M置

14、为0做加法,高电平为1,低电平为0,置LDA、LDB为1,分别为A和B赋值,A为00000001,B为00000001,结果S为00000010,V为0,未溢出。程序运行结果: 图5.3 运行结果模拟图题目2:10000000-00000001程序流程为:将M置为1做减法,分别给A、B赋值,A为10000000,B为00000001,结果S为10001011,V为0,未溢出。程序运行结果: 5.4 运行结果模拟图5.4 实验流程图1. 2012年12月29日,课题讲解,布置任务2. 2012年12月30日到2013年1月4日,查阅资料,分析、讨论与设计3. 2013年1月5日到8日,进行各子模

15、块的设计,并进行调试 4. 2013年1月9日到10日完成各模块联调,进行测试5. 2013年1月11日,成果验收,进行答辩6 设计总结与心得6.1 课设总结基于八位二进制数的的加减法,采用方案是用原理图设计法设计八位行波进位加减法器,主要用于计算机中的基本运算。(1) 完成方案总结 这个实验主要是实现加减法器,首先在 QUARTUS II上画出一个全加器的原理图然后再将其转化为一个全加器的元器件,最后将八个全加器串联并用一个非门控制加减法,从而实现了八位二进制的加减法器。实现全加器的方程:S i=AiBiCi Ci+1=AiBi + BiCi+ CiAi。从而在 QUARTUS II画出整个

16、原理图。(2)功能总结 首先将原理图的功能从电脑写入实验箱的芯片中,首先,LDA,LDB高电压,M用高低电压来控制,低电压时M=0,此时做加法(A+B)运算,高电压时M=1,此时做减法A补+(-B)补运算 ,结果用亮灯来表示,而V控制溢出,溢出则显示器亮红灯。6.2 课设心得做这次课程设计,我学会了很多,首先锻炼了自己的动手,实践能力,本来自己就对电子技术不感兴趣的,学的很无趣,基本不懂 ,但是这次课程设计的硬件加减法器的设计让自己死啃电子技术,必须清楚硬件布线和逻辑电路,而主要为加法器的逻辑图和整个原理图的设计,而我们知道八位加法器重点为怎样生成八位寄存器和八位二进制的加减法器。当然这就涉及

17、生成八位寄存器的代码和一位二进制的全加器怎么转换为八位二进制的加法器和怎样变加法器为减法器 ,我们首先从老师那里得到八位寄存器的代码,但是那是只有一根将八根输入或输出总起来输入和输出,和我们需要分别有八根输入和输出的代码有很大区别,因此我们试着将一个循环的代码改为一个分别定义八个输入和输出的代码,而八个全加器则串联生成了八位二进制的加法器,这样基本将一个八位二进制的加法器设计成功,而加法器变减法器则用一个非门来控制B的输入,从而到达减法器的目的, 当然这次的课设也锻炼了我们对QUARTUS II软件的掌握,对怎样去用这软件画 逻辑图和怎样利用这个软件把这个原理图的功能写入到芯片中,这些都需要我

18、们的学习和掌握的能力的提升。而这些需要上网查资料和跟课本知识的理解,也需要一个团队的相互配合才可以在规定的时间内完成这个实验,这个课设启发 我们要有一定对知识的变通能力,和对知识的类比的能力只有这样才可以去很好的完成课程设计。参考文献1 白中英. 计算机组成原理(第四版)北京:科学出版社,20082 /余孟尝 数字电子技术基础简明教程(第三版)北京:高等教育出版社,2006 计算组成原理 课程设计成绩评定表1、课程设计答辩或质疑记录(1)VHDL语言是什么语言?VHDL是一种硬件描述语言,是以通用语言的形式描述电路。 (2)行波进位加减法器中利用什么控制加法或减法? 利用非门来控制,具体表现为:M=0做加法,M=1做减法。(3) 一位全加器FA的内部由哪些逻辑门构成?主要是三个与门、两个或门和两个异或门2、答辩情况a)未能完全理解题目,答辩情况较差 c)理解题目较清楚,问题回答基本正确 b)部分理解题目,答辩情况较差 d)理解题目透彻,问题回答流利 3、课程设计报告a)内容: 不完整 完整 详细 b)方案设计: 较 差 合理 非常合理 c)实现: 未实现 部分实现 全部实现 d)文档格式: 不规范 基本规范 规范 考勤成绩: ,占总成绩比例10%答辩成绩: ,占总成绩比例30%课程设计论文成绩: ,占总成绩比例60%课程设计总成绩: 4、课程设计评语 指导教师签字: 年 月 日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号