8位全加器的设计.docx
《8位全加器的设计.docx》由会员分享,可在线阅读,更多相关《8位全加器的设计.docx(22页珍藏版)》请在冰豆网上搜索。
![8位全加器的设计.docx](https://file1.bdocx.com/fileroot1/2023-1/3/f714d82f-de17-4a0c-88f9-dfde3b133793/f714d82f-de17-4a0c-88f9-dfde3b1337931.gif)
8位全加器的设计
课程设计报告
课程名称 数字逻辑课程设计
课题 8位全加器的设计
专 业计算机科学与技术
班 级 1202
学 号 34
姓 名 贺 义 君
指导教师 刘洞波陈淑红陈多
2013年 12月13日
课程设计任务书
课程名称数字逻辑课程设计
课题 8位全加器的设计
专业班级 计算机科学与技术1202
学生姓名 贺 义 君
学号 34
指导老师 刘洞波 陈淑红 陈多
审批 刘洞波
任务书下达日期:
2013年 12月13日
任务完成日期:
2014年01月21日
一、设计内容与设计要求
1.设计内容:
本课程是一门专业实践课程,学生必修的课程。
其目的和作用是使学生能将已学过的数字电子系统设计、VHDL程序设计等知识综合运用于电子系统的设计中,掌握运用VHDL或者VerilogHDL设计电子系统的流程和方法,采用Quartus II等工具独立应该完成1个设计题目的设计、仿真与测试。
加强和培养学生对电子系统的设计能力,培养学生理论联系实际的设计思想,训练学生综合运用数字逻辑课程的理论知识的能力,训练学生应用QuartusII进行实际数字系统设计与验证工作的能力,同时训练学生进行芯片编程和硬件试验的能力。
题目一4线-16线译码器电路设计;
题目二 16选1选择器电路设计;
题目三4位输入数据的一般数值比较器电路设计
题目四10线-4线优先编码器的设计
题目五8位全加器的设计
题目六RS触发器的设计;
题目七JK触发器的设计;
题目八 D触发器的设计;
题目九十进制同步计数器的设计;
题目十 T触发器的设计;
每位同学根据自己学号除以10所得的余数加一,选择相应题号的课题。
参考书目
1
EDA技术与VHDL程序开发基础教程
雷伏容,李俊,尹霞
清华大学出版社
978-7-302-22416-7
2010
TP312VH/36
2
VHDL电路设计
雷伏容
清华大学出版社
7-302-14226-2
2006
TN702/185
3
VHDL电路设计技术
王道宪贺名臣刘伟
国防工业出版社
7-118-03352-9
2004
TN702/62
4
VHDL实用技术
潘松,王国栋
7-81065
7-81065-290-7
2000
TP312VH/1
5
VHDL语言100例详解
北京理工大学ASIC研究所
7-900625
7-900625-02-X
1999
TP312VH/3
6
VHDL编程与仿真
王毅平等
人民邮电出版社
7-115-08641-9
2000
73.9621/W38V
7
VHDL程序设计教程
邢建平曾繁泰
清华大学出版社
7-302-11652-0
2005
TP312VH/27/3
2.设计要求:
1)课程设计报告规范
课程设计报告应包含如下几个部分
(1) 功能描述
说明设计器件的功能,包括真值表(功能表),函数表达式,逻辑电路图
(2) 详细设计
按照VHDL语言开发流程写出整个开发的详细过程,可以根据如下步骤适当导出程序,程序界面截图到课程设计报告对应模块。
基本设计流程如下:
1工程管理:
新建工程,工程管理;
2源文件输入:
VHDL程序或者原理图的设计,内嵌模块的调用;
3综合、编译:
检查语法,连接错误,生成综合后网表;
④功能仿真:
综合后的功能仿真;
⑤简单约束:
管脚分配,I/O特性约束,简单的时序约束;
⑥全编译:
软件自动完成布局布线,生成最终编程文件;
⑦时序仿真:
带延时的和实际情况非常接近的时序仿真;
⑧ 编程:
下载到硬件当中。
(3)调试分析以及设计体会
① 仿真或程序下载调试(附界面截图)。
② 设计过程中遇到的问题以及解决问题的方法。
③课程设计过程经验教训、心得体会。
(4)书写格式
见附带说明。
(5) 附录
①参考书目
② 源程序清单(带注释)
2) 考核方式
指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。
具体考核标准包含以下几个部分:
(1)平时出勤 (占10%)
(2)系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%)
(3)程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%)
(4)设计报告(占30%)
(5)注意:
不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。
(6)独立完成情况(占10%)。
3)课程设计验收要求
(1)运行所设计的系统。
(2)回答有关问题。
(3)提交课程设计报告纸质稿。
(4)提交源程序或设计报告文档电子稿。
(5)依内容的创新程度,完善程序情况及对程序讲解情况打分。
二、进度安排
上机时间、地点:
16周周二下午 E410/413
16周周二下午 E413/414
16周周三 下午 E414/606
附带说明:
1.课程设计报告装订顺序:
封面、任务书、目录、正文、评分、附件(程序清单)。
2.正文的格式:
一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
3.正文的内容:
一、课题的主要功能;
二、详细设计;
三、程序调试;
四、总结;
五、附件(所有程序的原代码,要求对程序写出必要的注释)。
4. 正文总字数要求在5000字以上(不含程序原代码)。
(1)功能描述……………………………………………………………………………………………………1
(2)详细设计……………………………………………………………………………………………………3.
(3)调试分析与设计体会………………………………………………………………………………10
(4)书写格式……………………………………………………………………………………………………13
(5)附录……………………………………………………………………………………………………………14
(1)功能描述
1.1全加器介绍
全加器是能够计算低位进位的二进制加法电路。
一位全加器(FA)的逻辑表达式为:
S=A⊕B⊕Cin Co=AB+BCin+ACin
其中A,B为要相加的数,Cin为进位输入;S为和,Co是进位输出;ﻫ 如果要实现多位加法可以进行级联,就是串起来使用;比如8位全加器,就需要8个全加器;这种级联就是串行结构速度慢,如果要并行快速相加可以用超前进位加法,ﻫ 如果将全加器的输入置换成A和B的组合函数Xi和Y(S0…S3控制),然后再将X,Y和进位数通过全加器进行全加,就是ALU的逻辑结构结构。
即X=f(A,B) Y=f(A,B)
不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。
1.2真值表:
如下Ai为被加数,Bi为加数,相邻低位来的进位数为Ci-1,输出本位和为Si,向相邻高位进位数为Ci
输入
输出
Ai
Bi
Ci-1
Si
Ci
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
1.3函数表达式
Si=Ai⊕Bi⊕Ci-1
Ci=AiBi+Ci-1(Ai⊕Bi)
1.4逻辑电路图
(2)详细设计
按照VHDL语言开发流程写出整个开发过程,可以根据如下步骤适当导出程序,程序界面截图到课程设计报告对应模块。
2.1新建工程管理
2.2输入文本语言程序
2.3编译
2.4选择波形编辑器
2.5对应节点
2.6形成综合编译后网表
2.7进行仿真调试
2.8生成波形图
2.9配置管脚
(3)调试分析与设计体会
3.1调试分析
在编辑好程序代码完成后,编译结果如图:
图3.1编译结果
虽然有警告,当时不碍事,继续运行代码,查看表编译分析结果,如图:
图3.2 结果分析
程序运行正常,没有大的错误。
3.2分析设计过程中遇到的问题以及解决问题的方法。
设计过程中遇到的主要困难就是源程序不会写,因为我们根本没有学过VHDL这门程序语言,即使在网上搜索的或图书馆找的的源程序,一旦出现错误,也很难自己改正。
其次,就是对QuartusII软件应用不熟悉,全英文式的操作界面,让这个英语很菜的我用的很费劲,有有时操作到一半,竟不知下一步该怎么弄,又得去看教材或问同学,花费了很多时间。
对于出现的这些问题,我会先查查资料,理解实验的具体信息,不懂的地方问同学或上网查资料。
看看VHDL,理解源程序的组成,以便出现错误时能够自我改正。
对于软件应用的不熟习,进行反复操作,增加熟练度。
3.3课程设计过程经验教训、心得体会。
通过这次课程设计,加强了我们动手、思考和解决问题的能力。
在整个设计过程中,我设计了数字逻辑中八位全加器的设计。
在设计过程中,经常会遇到这样那样的情况,就是对于VHDL中源代码中出现的错误不会改正,还有就是对QuartusII应用的不熟悉,有时竟忘了下一步该怎么操作,又得去查阅资料或阅读教材,因此耗费在这上面的时间用去很多。
我觉得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用设计程序的功能,而且我们并没有学习VHDL这门程序语言,因此给课程设计造成了很大的困难。
平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了,而且还可以记住很多东西,映象深刻。
经过几天的上机操作,过程曲折可谓一语难尽。
在此期间我们也失落过,也曾一度热情高涨。
从开始时满富盛激情到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。
生活就是这样,汗水预示着结果也见证着收获。
劳动是人类生存生活永恒不变的话题。
通过实习,我才真正领略到“艰苦奋斗”这一词的真正含义,我才意识到老一辈电子设计为我们的社会付出。
我想说,设计确实有些辛苦,但苦中也有乐,在如今单一的理论学习中,很少有机会能有实践的机会,但我们可以在一起讨论、研究,相互帮助,配合默契,多少人间欢乐在这里洒下,大学里一年的相处还赶不上这几天的合作,我感觉我和同学们之间的距离更加近了;我想说,确实很累,但当我们看到自己所做的成果时,心中也不免产生兴奋;正所谓“三百六十行,行行出状元”。
我们同样可以为社会作出我们应该做的一切,这有什么不好?
我们不断的反问自己。
也许有人不喜欢这类的工作,也许有人认为设计的工作有些枯燥,但我们认为无论干什么,只要人生活的有意义就可。
社会需要我们,我们也可以为社会而工作。
既然如此,那还有什么必要失落呢?
于是我们决定沿着自己的路,执着的走下去。
同时我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。
某个人的离群都可能导致导致整项工作的失败。
实习中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。
团结协作是我们实习成功的一项非常重要的保证。
而这次实习也正好锻炼我们这一点,这也是非常宝贵的。
对我们而言,知识上的收获重要,精神上的丰收更加可喜。
挫折是一份财富,经历是一份拥有。
这次实习必将成为我人生旅途上一个非常美好的回忆。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
这次课程设计终于顺利完成了,在设计中遇到了很多专业知识问题,最后在老师的辛勤指导下,终于游逆而解。
同时,在老师的身上我们学也到很多实用的知识,在次我们表示感谢!
同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅,今后的制作应该更轻松,自己也都能扛的起并高质量的完成项目。
在此,感谢于老师的细心指导,也同样谢谢其他各组同学的无私帮助!
(4)书写格式
4.1 课程设计报告装订顺序:
封面、任务书、目录、正文、评分、附件(程序清单)。
4.2正文的格式:
一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
4.3 正文的内容:
①课题的主要功能;
②详细设计;
程序调试;
总结;
附件(所有程序的原代码,要求对程序写出必要的注释)。
4.4正文总字数要求在5000字以上(不含程序原代码)。
(5)附录
5.1.参考书目
1
EDA技术与VHDL程序开发基础教程
雷伏容,李俊,尹霞
清华大学出版社
978-7-302-22416-7
2010
TP312VH/36
2
VHDL电路设计技术
王道宪贺名臣刘伟
国防工业出版社
7-118-03352-9
2004
TN702/62
3
VHDL实用技术
潘松,王国栋
7-81065
7-81065-290-7
2000
TP312VH/1
4
VHDL语言100例详解
北京理工大学ASIC研究所
7-900625
7-900625-02-X
1999
TP312VH/3
5
VHDL编程与仿真
王毅平等
人民邮电出版社
7-115-08641-9
2000
73.9621/W38V
6
VHDL程序设计教程
邢建平曾繁泰
清华大学出版社
7-302-11652-0
2005
TP312VH/27/3
7
VHDL电路设计
雷伏容
清华大学出版社
7-302-14226-2
2006
TN702/185
5.2源程序清单(带注释)
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;ﻭUSEIEEE.STD_LOGIC_UNSIGNED.ALL;ﻭUSEIEEE.STD_LOGIC_ARITH.ALL;ﻭENTITY Adder_8ISﻭPORT(
A,B:
INSTD_LOGIC_VECTOR(0TO7);ﻭCIN:
IN STD_LOGIC;ﻭSUM:
OUT STD_LOGIC_VECTOR(0 TO7);
CO:
OUTSTD_LOGIC);ﻭEND;
ARCHITECTUREXIA OFAdder_8 ISﻭSIGNALY,AA,BB,CC:
STD_LOGIC_VECTOR(8DOWNTO0);ﻭBEGINﻭ AA<='0'&A;
BB<='0'&B;ﻭ CC<="00000000"&CIN;
PROCESS(AA,BB,CC)
BEGINﻭ Y<=AA+BB+CC;
END PROCESS;
CO<=Y(8);ﻭ SUM<=Y(7DOWNTO0);ﻭ END;
计算机与通信学院课程设计评分表
课题名称:
8位全加器的设计
项 目
评 价
设计方案的合理性与创造性
设计与调试结果
设计说明书的质量
答辩陈述与回答问题情况
课程设计周表现情况
综合成绩
教师签名:
日 期: