1、课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:定点补码加法器的设计院(系):专 业:班 级:学 号:姓 名:指导教师:完成日期:-I-目 录第 1 章 总体设计方案 .21.1 设计原理 .21.2 设计思路 .31.3 设计环境 .4第 2 章 详细设计方案 .62.1 顶层方案图的设计与实现 .62.1.1 器件的选择与引脚锁定 .62.1.2 编译、综合、适配 .72.2 功能模块的设计与实现 .7.2.1 求补模块的设计与实现 .72.2.2 加法器模块的设计与实现 .10第 3 章 仿真与调试 .12第 4 章 编程下载与硬件测试 .134.1 编程下载 .
2、134.2 硬件测试与结果分析 .13参考文献 .15附 录(程序清单或电路原理图) .16第 1 章 总体设计方案 -2-第 1 章 总体设计方案1.1 设计原理用两个原码输入,将其改变为补码进行加法运算,这样负数用补码表示后,就可以和正数一样来处理。这样,运算器里只需要一个加法器就可以了,不必为了负数的加法运算,再配一个加法器。补码加法公式是x补+y补=x+y 补 可分四种情况来证明。本实验采用了定点整数表示,因此证明了先决条件是:|x|0,y0,则 x+y0.相加的两个数都是正数,顾其和也一定是正数。正数的补码和源码是一样的,根据数据补码定义可得:x补+y补=x+y=x+y 补(2)x0
3、,y0 或 x+y0,则 x+y0 或 x=y0.这种情况和第二种情况一样,把 x 和 y 的位置对调即得证。(4)x0,y0,则 x+y0。相加两个数都是负数,则其和也一定是负数。x补=2 n+1+x, y补=2 n+1+yx补+y补=2 n+1+(2n+1+x+y)= 2n+1+( 2n+1+x+y)=x+y补 公式说明,在模 2 意义下,任意两数的补码之和等于两个数之和的补码。这是补码加法的理论基础。第 1 章 总体设计方案 -3-其原理框图如图 1.1 所示原码求补模块 原码求补模块原码输入 B求补模块原码输入 A输出结果 CALU图 1.1 原理框图1.2 设计思路本课设要求控制信号
4、可以采用外部开关输入或用 VHDL 语言编写的控制器输出的控制信号,其他部分可以调用系统资源库中的器件;必须用基本的逻辑门实现,然后封装,实现两个 8 位数相加,其中包括以为符号位,采用原码输入;根据具体要求先对八位二进制数利用对 2 求补器的拓展实现 8 位的求补,其中符号位可以直接输出计算,不参与求补过程。然后通过两个四位的加法器实现两个二进制数的求和。最后通过求补器转换成正确的结果,达到课设要求。第 1 章 总体设计方案 -4-1.3 设计环境(1)硬件环境伟福 COP2000 型计算机组成原理实验仪COP2000 计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成实验平台上有
5、寄存器组 R0-R3、运算单元、累加器 A、暂存器 B、直通/ 左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展座、总线插孔区、微动开关/指示灯、逻辑笔、脉冲源、20 个按键、字符式 LCD、RS232 口。COP2000 计算机组成原理实验系统各单元部件都以计算机结构模型布局,清晰明了,系统在实验时即使不借助 PC 机,也可实时监控数据流状态及正确与否 , 实验系统的软硬件对用户的实验设计具有完全的开放特性,系统提供了微程序控制器和组合逻辑控制器两种控制器方式, 系统还支持手动方式、联机方式、模拟方
6、式三种工作方式,系统具备完善的寻址方式、指令系统和强大的模拟调试功能。(2)EDA 环境Xilinx foundation f3.1 设计软件Xilinx foundation f3.1 是 Xilinx 公司的可编程期间开发工具,该平台(如图1.2 所示)功能强大,主要用于百万逻辑门设计。该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成。设计入口工具包括原理图编辑器、有限状态机编辑器、硬件描述语言(HDL )编辑器、LogiBLOX 模块生成器、Xilinx 内核生成器等软件。其功能是:接收各种图形或文字的设计输入,并最终生成网络表文件。设计实现工具包括流程引擎、限制编辑器、基片
7、规划器、FPGA 编辑器、FPGA 写入器等软件。设计实现工具用于将网络表转化为配置比特流,并下载到器件。设计验证工具包括功能和时序仿真器、静态时序分析器等,可用来对设计中的逻辑关系及输出结果进行检验,并详尽分析各个时序限制的满足情况。第 1 章 总体设计方案 -5-COP2000 集成调试软件COP2000 集成开发环境是为 COP2000 实验仪与 PC 机相连进行高层次实验的配套软件,它通过实验仪的串行接口和 PC 机的串行接口相连,提供汇编、反编、编辑、修改指令、文件传送、调试 FPGA 面。其实验等功能,该软件在Windows 下运行。 COP2000 集成开发环境界图如 1.3 所
8、示。图 1.3COP2000 集成开发环境界图第 2 章 详细设计方案 -6-第 2 章 详细设计方案2.1 顶层方案图的设计与实现顶层方案图实现原码输入,实现一个八位数相加,为其方便将其转换为补码进行计算。采用原理图设计输入方式完成,电路实现基于 XCV200 可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出信号安排到 XCV200 指定的引脚上去,实现芯片的引脚锁定。2.1.1 器件的选择与引脚锁定(1)器件的选择由于硬件设计环境是基于伟福 COP2000 型计算机组成原理实验仪和 XCV200实验板,故采用的目标芯片为 Xilinx XCV200 可编程逻辑芯片。(2)引脚锁定把顶
9、层图形文件中的输入/输出信号安排到 Xilinx XCV200 芯片指定的引脚上去,实现芯片的引脚锁定,各信号及 Xilinx XCV200 芯片引脚对应关系如表 2.1所示。表 2.1 引脚图图形文件中的输入/输出信号 XCV200芯片引脚信号A0 P103A1 P102A2 P101A3 P100A4 P97A5 P96A6 P95E1 P94B0 P87B1 P86B2 P85第 2 章 详细设计方案 -7-B3 P84B4 P82B5 P81B6 P80E2 P79O0 P223O1 P222O2 P221O3 P220O4 P218O5 P217O6 P216O7 P78OF P14
10、72.1.2 编译、综合、适配利用 Xilinx foundation f3.1 的原理图编辑器对顶层图形文件进行编译,并最终生成网络表文件,利用设计实现工具经综合、优化、适配,生成可供时序仿真的文件和器件下载编程文件。2.2 功能模块的设计与实现根据课设要求,本实验共分为两个模块,其中包括求补模块,加法器模块,求补模块是把两个源码输入转换成补码,负数可以像正数一样计算,使得计算简单;加法器模块,实现两个补码相加,将两个补码相加结果在转换成源码,其中包括溢出处理,并输出结果,具体实现如下所示。.2.1 求补模块的设计与实现求补模块是将两个原码输入,将其转换成补码,本模块采用的是对 2 求补器的
11、扩展,实现七位求补电路,并采用按位扫描技术来执行所需要的求补操作。令A=a.a1a0 是给定的(n+1 )位带符号的数,要求确定它的补码形式。进行求补的方法就是从数的最右端的 a0 开始,由右向左,直到找到第一个 1,例如 ai =1,这第 2 章 详细设计方案 -8-样,a i 以右的每一个输入位,包括他自己,都保持不变,而 ai 以左的每一个输入位都求反,即 1 变 0,0 变 1。另外 C 不许永远置 0,当控制信号线 E 为 1 时,启动求补器的操作,当控制信号线为 0 时,输出将和输入相等,显然我们可以符号位来作为控制信号。其模块实现电路图如图 2.1 所示。图 2.1 求补模块当输
12、入信号为 00001111 时,E 置为 0 时,不启动求补器,其输出与输入相等,结果也为 00001111,当输入信号依次为 10011111 时,由于最高位是 1,也就是 E=1,启动求补器,其输出从左起第一个 1 左边的数按位取反,右边的数包括 1 保持不变。其波形图如 2.2 所示,内部电路如图 2.3 所示。图 2.2 求补模块波形图第 2 章 详细设计方案 -9-图 2.3 补码转换电路图 第 2 章 详细设计方案 -10-2.2.2 加法器模块的设计与实现由于所选器件有限,加法器模块采用了两个四位的加法器实现八位的求补电路,将前四位的最高进位进到后四位的最低进位,从而实现了八位的
13、加法运算,加法模块如图 2.4 所示、图 2.4 加法模块图当加数取 00000111,被加数取 00000011 时,其相加结果为 00001010。其中符号位都取整数,波形图如图 2.5 所示,内部电路如图 2.6 所示。图 2.5 加法模块波形图第 2 章 详细设计方案 -11-图 2.2 加法器电路图第 3 章 仿真与调试 -12-第 3 章 仿真与调试仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。(1)建立仿真波形文件及仿真信号选择功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号,其具体波形如
14、图 3 所示。3.1 波形图当运算结果超出机器数所能表示的范围时,称为溢出。显然,两个异号数相加或两个同号相减,其结果是不会溢出的,仅当两个同号数相加或者两个异号数相减时,才有可能发出溢出的情况,一旦溢出,运算结果就不正确了,因此必须将溢出的情况查出来。以上波形图试举两例,A=A7A6A5A4A3A2A1A0=00000111, B=B7B6B5B4B3B2B1=00000011,输出就等于 00001010;A=10000111,B=00000011, 第 3 章 仿真与调试 -13 -6输出结果等于 10000100;其结果与计算完全相同,因此证明是正确的。第 4 章 编程下载与硬件测试4
15、.1 编程下载利用 COP2000 仿真软件的编程下载功能,将得到.bit 文件下载到 XCV200 实验板的 XCV200 可编程逻辑芯片中。4.2 硬件测试与结果分析利用 XCV200 实验板进行硬件功能测试。定点原码一位乘法器的输入数据通过 XCV200 实验板的输入开关实现,输出数据通过 XCV200 实验板的 LED 指示灯实现,其对应关系如表 4.2 所示。表 4.2 实验平台引脚图XCV200芯片引脚信号 XCV200实验板P103 K0:1P102 K1:1P101 K2:1P100 K3:0P97 K4:0P96 K5:0P95 K6:0P94 K7:0P87 K8:1P86
16、 K9:1P85 K10:1P84 K11:0第 4 章 编程下载和硬件测试 -14-P82 K12:0P81 K13:0P80 K14:0P79 K15:0P223P222P221P220P218P217P216P125P110利用表 4.2 中的输入参数作为输入数据,逐个测试输出结果,其中加数等于00000111,被除数等于 00000111 时,结果为 E,如图 4.1 所示。第 4 章 编程下载和硬件测试 -15-图 4.1 硬件测试结果参考文献-16-参考文献1 曹昕燕. EDA 技术实验与课程设计M.北京:清华大学出版社,20062 范延滨.微型计算机系统原理、接口与 EDA 设计技术M.北京:北京邮电大学出版社,20063 王爱英.计算机组成与结构(第 4 版)M.北京:清华大学出版社,20064 侯伯亨,顾新.VHDL 硬件描述语言与数字逻辑电路设计。西安:西安电子科技大学出版社,19995 杜建国。 Veriling HDL 硬件描述语言。北京:国防工业出版社, 20036 林灶生,刘绍汉。Verilog FPGA 芯片设计。北京:北京航空航天出版社,20067 白中英,计算机组成原理(第 3 版) 。北京:科技出版社-17-附 录(程序清单或电路原理图)课程设计总结:指导教师评语:指导教师(签字): 年 月 日课程设计成绩