1、沈阳航空工业学院课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:阵列乘法器的设计院(系):计算机学院专 业:计算机科学与技术班 级:学 号:姓 名: 指导教师: 完成日期:2006年12月31日沈阳航空工业学院课程设计报告 -I-目 录第 1 章 总体设计方案 .11.1 设计原理 .11.2 设计环境 .3第 2 章 详细设计方案 .42.1 顶层方案图的设计与实现 .42.1.1 创建顶层图形设计文件 .42.1.2 器件的选择与引脚锁定 .42.2 功能模块的设计与实现 .52.2.1 四位阵列乘法模块的设计与实现 .52.2.2 细胞模块的设计与实现 .72.3
2、 仿真调试 .9第 3 章 编程下载与硬件测试 .113.1 编程下载 .113.2 硬件测试及结果分析 .11参考文献 .14沈阳航空工业学院课程设计报告 第 1 章 总体设计方案-1-第 1 章 总体设计方案1.1 设计原理由于采用普通的方法计算两个数的相乘比较慢,为了进一步提高乘法运算的运算速度,可以采用类似于人工计算的方法,用阵列乘法器来进行计算,给人们带来了很大的方便。四位阵列乘法器的原理框图如图 1.1 所示,X=X1X2X3X4 Y=Y1Y2Y3Y4且 X 为被乘数的输入端,Y 为乘数的输入端,M=M0M1M2M3M4M5M6M7 为乘积的输出端。其基本原理是阵列的每一行送入乘数
3、 Y 的每一位数位,而各行错开形成的每一斜列则送入被乘数的每一数位。四位阵列乘法器的整体设计包含十六个加法器模块,加法器模块中由一个与门和一个全加器构成,由四个与门、两个异或门、一个三端接口的或门构成的全加器为底层设计,采用原理图设计输入方式,所谓的全加器就是两个数 X、Y 及进位输入 Cn 相加可得全加和 Fn 和进位输出 Cn。顶层的四位阵列乘法器也采用原理图设计输入方式,在以十六个加法器为基础而构成的四位阵列乘法器,其主要以四个被乘数输入端、四个乘数输入端以及八个乘积输出端为主,外加还包括中间过程参与计算的进位输入端、部分积输入端和进位输出端、部分积输出端,这样一来就构成了一个完整的四位
4、阵列乘法器。采用硬件描述语言进行电路设计并实现四位阵列乘法的功能,设计的原理图经编译、调试后形成*.bit 文件并下载到 XCV200 可编程逻辑芯片中,若以上过程全部正确,最后经硬件测试验证设计的正确性。沈阳航空工业学院课程设计报告 第 1 章 总体设计方案-2-全加Y 40Y 30000 0 0 0部分积入X jY i进位入进位出部分积出( 和 )X 1X 2X 3 X 4Y 2Y 1位 12 4 5 6 7 83图 1.1 四位阵列乘法器原理框图四位阵列乘法器实现的功能如表 1.1 所示,设计的电路应实现表 1.1 中给定的功能。表 1.1 四位阵列乘法器功能表(举例)X1 X2 X3
5、X4 Y1 Y2 Y3 Y4 M0 M1 M2 M3 M4 M5M6M70 0 0 0 0 0 0 1 0 0 0 0 0 0 0 00 0 1 0 0 0 0 1 0 0 0 0 0 0 1 00 0 1 1 0 0 0 1 0 0 0 0 0 0 1 10 1 0 0 0 0 0 1 0 0 0 0 0 1 0 00 1 0 1 0 0 0 1 0 0 0 0 0 1 0 10 1 1 0 0 0 0 1 0 0 0 0 0 1 1 00 1 1 1 0 0 0 1 0 0 0 0 0 1 1 11 0 0 0 0 0 0 1 0 0 0 0 1 0 0 01 0 0 1 0 0 0 1
6、0 0 0 0 1 0 0 11 0 1 0 0 0 0 1 0 0 0 0 1 0 1 01 0 1 1 0 0 0 1 0 0 0 0 1 0 1 1沈阳航空工业学院课程设计报告 第 1 章 总体设计方案-3-1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 01 1 0 1 0 0 0 1 0 0 0 0 1 1 0 11 1 1 0 0 0 0 1 0 0 0 0 1 1 1 01 1 1 1 0 0 0 1 0 0 0 0 1 1 1 11.2 设计环境硬件环境:伟福 COP2000 型计算机组成原理实验仪、XCV200 实验板、微机;EDA 环境:Xilinx Found
7、ation 3.1 设计软件、 。沈阳航空工业学院课程设计报告 第 2 章 详细设计方案-4-第 2 章 详细设计方案2.1 顶层方案图的设计与实现顶层方案图实现四位阵列乘法器的逻辑功能,采用原理图设计输入方式完成,电路实现基于 XCV200 可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出信号安排到 XCV200 指定的引脚上去,实现芯片的引脚锁定。2.1.1 创建顶层图形设计文件顶层图形文件主要由四位被乘数输入端、四位乘数输入端和八位乘积输出模块组装而成的一个完整的设计实体。可利用 Xilinx Foundation 3.1 模块实现顶层图形文件的设计,顶层图形文件结构如图 2.1
8、所示。图 2.1 四位阵列乘法器顶层图形文件结构2.1.2 器件的选择与引脚锁定(1)器件的选择由于硬件设计环境是基于伟福 COP2000 型计算机组成原理实验仪和 XCV200实验板,故采用的目标芯片为 Xlinx XCV200 可编程逻辑芯片。(2)引脚锁定把顶层图形文件中的输入/输出信号安排到 Xlinx XCV200 芯片指定的引脚上去,实现芯片的引脚锁定,各信号及 Xlinx XCV200 芯片引脚对应关系如表 2.1 所沈阳航空工业学院课程设计报告 第 2 章 详细设计方案-5-示。表 2.1 信号和芯片引脚对应关系四位阵列乘法器内部 信号 图形文件中的输入/输出 信号XCV200
9、 芯片引脚X1 X1 P33X2 X2 P34X3 X3 P35X4 X4 P36Y1 Y1 P38Y2 Y2 P39Y3 Y3 P40Y4 Y4 P41M0 N0 P215M1 N1 P216M2 N2 P217M3 N3 P218M4 N4 P220M5 N5 P221M6 N6 P222M7 N7 P2232.2 功能模块的设计与实现四位阵列乘法器是以十六个加法器模块为基础而实现的,加法器模块中还包括一个两端输入的与门和一个全加器,设计时这两个模块用原理图设计输入方式实现。2.2.1 四位阵列乘法模块的设计与实现四位阵列乘法模块由十六个基本加法器模块构成,共有四个被乘数输入端四个乘数输入
10、端和八个乘积的输出端。加法器模块由四个两端接口的与门、两个两端接口的异或门和一个三端接口的或门构成如图 2.2 所示,其设计过程如下:X=X1X2X3X4 Y=Y1Y2Y3Y4 X*Y=M0M1M2M3M4M5M6M7沈阳航空工业学院课程设计报告 第 2 章 详细设计方案-6-(1)原理图设计输入方式XCINP I NYPOUTCOUTXCINP I NYPOUTCOUTXCINP I NYPOUTCOUTXCINP I NYPOUTCOUTXCINP I NYPOUTCOUTXCINP I NYPOUTCOUTXCINP I NYPOUTCOUTXCINP I NYPOUTCOUTXCINP
11、 I NYPOUTCOUTXCINP I NYPOUTCOUTXCINP I NYPOUTCOUTXCINP I NYPOUTCOUTXCINP I NYPOUTCOUTXCINP I NYPOUTCOUTXCINP I NYPOUTCOUTXCINP I NYPOUTCOUTY4Y3Y2Y1X4X3X2X1M0M1M2M3M4M5M6M7图 2.2 阵列乘法模块原理图沈阳航空工业学院课程设计报告 第 2 章 详细设计方案-7-(2)创建元件图形符号为了能在图形编辑器(原理图设计输入方式)中调用此十六个基本加法器模块,需要为这十六个加法器模块创建一个元件图形符号,可用 Xilinx Found
12、ation 3.1编译器的 Create Symbol 模块实现。(3)功能仿真对创建的十六个基本加法器模块进行功能仿真,验证其功能的正确性,可用Xilinx Foundation 3.1 编译器的 Simulator 模块实现。四位阵列乘法器的功能表如表 2.2 所示。表 2.2 阵列乘法功能表输入被乘数 输入乘数 输出乘积X1 X2 X3 X4 Y1 Y2 Y3 Y4 N0 N1 N2 N3 N4 N5 N6 N70 0 0 0 0 0 0 1 0 0 0 0 0 0 0 11 1 1 1 0 0 0 1 0 0 0 0 1 1 1 10 0 0 1 1 1 1 0 0 0 0 0 1 1
13、 1 01 1 1 1 1 1 1 1 1 1 1 0 0 0 0 12.2.2 细胞模块的设计与实现细胞模块是以加法器为基础的模块,它包括四个输入端分别为被乘数 X、乘数 Y、部分积输入 PIN、进位输入 CIN,相乘部分积输出用 POUT 表示,进位输出用 COUT 表示,形成的原理图设计如图 2.3 表示,其设计过程如下:部分积输出: POUT=(XY) PIN CIN进位输出: CIN=XYPIN+XYCIN+PINCIN(1) 原理图设计输入方式沈阳航空工业学院课程设计报告 第 2 章 详细设计方案-8-图 2.3 加法器运算原理图(2)创建元件图形符号为了能在图形编辑器(原理图设计
14、输入方式)中调用此加法器,需要为加法器创建一个元件图形符号,可用 Xilinx Foundation 3.1 编译器的 Create Symbol 模块实现。(3)功能仿真对创建的加法器元件进行功能仿真,验证其功能的正确性,可用 Xilinx Foundation 3.1 编译器的 Simulator 模块实现。加法器的功能仿真波形如图 2.4 所示。图 2.4 加法器功能仿真波形沈阳航空工业学院课程设计报告 第 2 章 详细设计方案-9-表 2.3 加法器的功能表输 入 信 号 输 出 信 号X Y PIN CIN POUT COUT0 0 0 0 0 00 0 0 1 1 00 0 1 0
15、 1 00 0 1 1 0 10 1 0 0 0 00 1 1 0 1 00 1 1 1 0 11 0 0 0 0 01 1 1 0 0 11 1 1 1 1 12.3 仿真调试仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。(1)建立仿真波形文件及仿真信号选择功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如表 2.4 所示。表 2.4 仿真信号选择和参数设置(举例)输 入 信 号 输 出 信 号X1 X2 X3 X4 Y1 Y2 Y3 Y4 N0 N1 N2 N3 N4 N5 N6 N70
16、 0 0 0 0 0 0 11 1 1 1 0 0 0 10 0 0 1 1 1 1 01 1 1 1 1 1 1 1沈阳航空工业学院课程设计报告 第 2 章 详细设计方案-10-(2)功能仿真结果与分析功能仿真波形结果如图 2.5 所示,仿真数据结果如表 2.5 所示。对表 2.5 与表1.1 的内容进行对比,可以看出功能仿真结果是正确的,进而说明电路设计的正确性。图 2.5 功能仿真波形结果表 2.5 仿真数据结果(举例)输 入 信 号 输 出 信 号X1 X2 X3 X4 Y1 Y2 Y3 Y4 N0 N1 N2 N3 N4 N5 N6 N70 0 0 0 0 0 0 1 0 0 0 0
17、 0 0 0 11 1 1 1 0 0 0 1 0 0 0 0 1 1 1 10 0 0 1 1 1 1 0 0 0 0 0 1 1 1 01 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1沈阳航空工业学院课程设计报告 第 3 章 编程下载与硬件测试-11-第 3 章 编程下载与硬件测试3.1 编程下载利用 COP2000 实验箱、XCV200 实验板的编程下载功能,将得到的1037*.bit 文件下载到 XCV200 实验板的 XCV200 可编程逻辑芯片中,此时该元件可实现四位阵列乘法器的功能。3.2 硬件测试及结果分析利用 XCV200 实验板进行硬件功能测试。一位全加器的输
18、入数据通过XCV200 实验板的输入开关实现,输出数据通过 XCV200 实验板的液晶显示管实现,其对应关系如表 3.1 所示。表 3.1 XCV200 实验板信号对应关系XCV200芯片引脚信号 XCV200实验板X1 K4(7)X2 K4(6)X3 K4(5)X4 K4(4)Y1 K4(3)Y2 K4(2)Y3 K4(1)Y4 K4(0)N0N1N2N3D1N4N5N6N7D0利用表 2.4 中的输入参数作为输入数据,逐个测试输出结果,即用 XCV200沈阳航空工业学院课程设计报告 第 3 章 编程下载与硬件测试-12-实验板的开关 K4(7)、K4(6)、K4(5)、K4(4)、K4(3
19、)、K4(2)、K4(1)、K4(0) 输入数据,同时观察液晶显示管 D1 和 D0 的输出,得到如表 3.2 所示的硬件测试结果。表 3.2 硬件测试结果(举例)输 入 信 号 控 制 开 关 输 出 信 号 (十六进制)K4(7)K4(6) K4(5) K4(4) K4(3) K4(2) K4(1) K4(0) D(1)D(0)0 0 0 0 0 0 0 1 0 00 0 0 1 0 0 0 1 0 10 0 1 0 0 0 0 1 0 20 0 1 1 0 0 0 1 0 30 1 0 0 0 0 0 1 0 40 1 0 1 0 0 0 1 0 50 1 1 0 0 0 0 1 0 6
20、0 1 1 1 0 0 0 1 0 71 0 0 0 0 0 0 1 0 81 0 0 1 0 0 0 1 0 91 0 1 0 0 0 0 1 0 A1 0 1 1 0 0 0 1 0 B1 1 0 0 0 0 0 1 0 C1 1 0 1 0 0 0 1 0 D1 1 1 0 0 0 0 1 0 E1 1 1 1 0 0 0 1 0 F对表 3.2 与表 1.1 的内容进行对比,可以看出硬件测试结果是正确的,说明电路设计完全正确并下载成功。沈阳航空工业学院课程设计报告 第 3 章 编程下载与硬件测试-13-下面以被乘数 X=1111,乘数 Y=0011 为例其乘积结果则在 XCV200 实
21、验板上显示为如图所示:理论计算结果得:X=1111 Y=0011X*Y=(00101101)2=(2d)16从而验正了测试结果是正确的,说明电路设计完全正确。沈阳航空工业学院课程设计报告 参考文献-14-参考文献1 曹昕燕. EDA 技术实验与课程设计M.北京:清华大学出版社,20062 范延滨.微型计算机系统原理、接口与 EDA 设计技术M.北京:北京邮电大学出版社,20063 王爱英.计算机组成与结构(第 4 版)M.北京:清华大学出版社, 20064 百中英.计算机组成原理题解、题库与实验(第 3 版)M.北京:科学出版社,20015 王尔乾. 数字逻辑及数字集成电路.北京:清华大学出版
22、社, 19966 杨天行. 计算机技术.北京:国防工业出版社,19997 李勇、裘式纲等. 计算机原理与设计.长沙:国防大学出版社,1989沈阳航空工业学院课程设计报告-15-课程设计总结:1在课程设计中遇到的困难以及解决的方法:本次课设题目是阵列乘法器的设计,可实现四位阵列乘法的功能。起初设计该电路的时候遇到了很多困难,尤其在对电路原理图进行封装时,完全没有头绪。后来向老师和同学进行请教才把问题得以解决,导致出现这样问题的原因是自己本身对系统软件的操作并不是很了解,所以才发生这样的问题。封装问题解决完以后,在对原理图进行验证的时候出现了问题,验证出现的结果并不是想象中的正确结果,后来通过一步步耐心的检查并验证才发现错误的所在,接下来对其进行修改。最后,才达到了课可设题目所要求的实验结果目的,可以实现阵列的乘法的设计。2在整个课程设计中的感受:课设实验结束了,我的感受颇多,尤其在这将近十天的时间里,与老师和同学建立了非常友好的感情。我在这将近十天的时间里在实验学到了平时在课堂上学不到的很多东西,自己的基础知识也得到进一步的巩固,动手能力也得到了很大的提高。最重要的一点是我的心血没有白费,因为我凭借自己的所知和向老师、同学请教,成功地将课设做完并达到了题目所要求的目的。指导教师评语:指导教师(签字): 年 月 日课程设计成绩沈阳航空工业学院课程设计报告-16-