计算机硬件大型作业报告
项目名称
指导老师 姓 名 学 号
计算机工程与科学学院 报告日期 2010年 7 月 16 日
【项目名称】设计一个8位定点运算器 1、 实践项目意义
通过我们自己动手设计并且利用已有设备制作一个可以应用于现实生活中的仪器,可以让我们巩固知识,增强能力,提高素质,促进我们的全面发展。并且通过实践,我们可以系统的回顾已经学习过的理论知识,将其系统化,网络化,融会贯通,还可以培养我们独立思考,独立分析,独立解决问题的能力;培养我们硬件动手能力以及电路设计的综合能力,提高对计算机系统的整体理解,通过作业小组成员的集体合作,使自己学会与同学合作共事,为静候更好地胜任计算机系统软件、硬件相结合的应用开发大好扎实的基础。 2、 实践项目原理
实现基本逻辑运算和常用运算的单元电路通称为逻辑门电路。 加法器是数字系统中的基本部件。全加器将两个一位二进制数及来自低位的进位Ci-1进行相加,产生“和”与“进位Ci”。构成全加器的方法有多种:可用异或门和与非门等门电路组成、可用若干与门组成也可以用半加器和或门组成。
加法器是数字系统中的基本逻辑器件。但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。多位加法器的构成有两种形式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。
利用二进制补码,将减数转换成补码形式,通过加法运算,实现减法运算。 3、实践项目的设计 运算公式:A+B=S\\A-B=S A:a7a6a5a4 (High) a3a2a1a0 (Low) B:b7b6b5b4 (High) b3b2b1b0 (Low)
S:s7s6s5s4 (High) s3s2s1s0 (Low) C0:置0为加,置1为减 Over:1为溢出,0为正常。 设计图如下图
通过C0与B的异或,然后加上C0,实现真值到补码的转换,从而实现通过加法做减法的运算。 4、实践项目调试过程
(1)利用软件MAXPLUS将设计好的图纸用软件画出。
(2)对逻辑图进行编译,编译无误之后,开始连接实验箱的各个接口,对应如下表。灯:上0下1,key:上1下0
name button 实验箱引脚 软件引脚 S0 L9 33 37 A0 K2 79 96 S1 L7 32 36 A1 K4 81 118 S2 L5 30 32 A2 K6 83 120 S3 L6 28 29 A3 K8 4 130 S4 L5 26 26 A4 K10 6 132 S5 L4 17 21 A5 K12 8 135 S6 L3 15 18 A6 K14 10 137 S7 L1 13 13 A7 K16 11 8 name button 实验箱引脚 软件引脚
name button 实验箱引脚 软件引脚 B0 K1 78 117 0VER L10 72 87 B1 K3 80 119 K2 73 88 B2 K5 82 121 B3 K7 3 131 B4 K9 5 133 B5 K11 7 136 B6 K13 9 138 B7 K15 12 9 name button 实验箱引脚 软件引脚 C0上减下加 (3)将各个引脚连接好以后,在maxplus上选好设备,将编译好的电路图的各
个引脚托到指定位置,然后下载到仪器上测试。
(4)为了显示清晰,容易读取,将L7~L0按次序连接到四个led显示器上,两
个为一组,用十六进制显示数据,例如前两个led灯若分别显示8和7,则表示15即F。第一个灯的接口只接接口“8”,与最高位L7相连,剩下的L6L5L4与第二个灯的接口“4”“2”“1”相连。L3L2L1L0的连接同上。 (5)挑选测试数据对初步完成的运算器进行测试,挑选数据进行加减运算。测
试内容全面,涵盖结果小于零的情况。证明设计成功。 5、大型作业的心得与收获
由于数字逻辑这门课程是大二的第一学期的课程,所以,同学们在设计
时,查阅了以前的知识,温故知新,对数字逻辑的掌握在实践上得到了提高。由于实验仪器的老旧,加上日积月累的操作不当,仪器难免有这样那样的问题,给操作和调试带来的很大的困难,因为我们需要根据测试结果来判断到底是原理上的问题,还是操作上的问题。这需要我们一次一次的重接线路,改进接法,控制好本来就有故障的仪器,让它正常运转,每一个接口是否接触良好,小灯泡的接触是否良好,开关有无问题,数据溢出问题等等。例如,开始我们采用始终触发器来控制C0,后来发现这样的方法,会使人难以辨别到底触发的是加法还是减法,于是将开关腾出一个,先对加减选择,选择完毕之后,在将其还原,保证是完整的两位数运算。然后是小灯泡显示问题,我们采用了灯与led同时显示的方法,以便得到更准确的结果。但是led的四个接口若同时接上线后,当结果超过十,就不在亮灯,于是我们通过4个灯显示,具体操作在调试过程中已经有具体的说明。关于数据的溢出,我们采用了标志灯作为提示,在设计图中,用over表示,使我们的设计更加的全面和周到。我们终于完成了硬件实习的任务,并且能让它成功在仪器上运行,
实现了八位定点加法的运算器设计。这个运算器已经可以实现平时日常生活中我们所使用的简单计算器的部分功能,让我们觉得能够学以致用,我们的所学,不是和生活无关的枯燥理论,而是可以应用到实际当中的,理论与实践得到了很好的结合。