
原码一位乘法器.doc
26页课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码一位乘法器的设计院(系): 专 业:班 级:学 号:姓 名: 指导教师:完成日期:沈阳航空工业学院课程设计报告 目 录第1章 总体设计方案 11.1 设计原理 11.2 设计思路 21.3设计环境 3第2章 详细设计方案 52.1 顶层方案图的设计与实现 52.1.1创建顶层图形设计文件 52.1.2器件的选择与引脚锁定 52.1.3编译、综合、适配 72.2 功能模块的设计与实现 72.2.1 控制器模块的设计与实现 72.2.2 寄存器和与门组成的模块的设计与实现 92.2.3 加法器模块的设计与实现 112.2.4 寄存器模块的设计与实现 142.3 仿真调试 16第3章 编程下载与硬件测试 193.1 编程下载 193.2 硬件测试及结果分析 19参考文献 22附录(电路原理图) 23-18-沈阳航空工业学院课程设计报告 第1章 总体设计方案1.1 设计原理原码一位乘,两个原码数相乘,其乘积的符号为相乘两数符号的异或值,数值则为两数绝对值之积。
例如:X的值为1101,Y的数值为1011,求X·Y数值的过程如下: 即 X·Y=10001111由于在计算机内多个数据一般不能同时相加,一次加法操作只能求出两数之和,因此每求得一个相加数,就与上次部分积相加每次计算时,相加数逐次向左偏移一位,由于最后的乘积位数是乘数(被乘数)的两倍,因此加法器也需增到两倍部分积右移时,乘数寄存器同时右移一位,所以用乘数寄存器的最低位来控制相加数取被乘数或零,同时乘数寄存器接收部分积右移出来的一位,完成运算后,部分积寄存器保存乘积的高位部分,乘数寄存器中保存乘积的低位部分根据人工算法可以知道,原码一位乘法的整体设计应包括乘数寄存器,被乘数寄存器,移位电路,控制器,部分积五大模块,包含一个输入、输出、控制器模块,并作为顶层设计,以上五大模块作为底层设计,采用硬件器件设计实现 因此,可以得出以下原理框图设计如图1.1所示:图1.1 原码一位乘的逻辑电路框图如上逻辑框图1.1中所示,其中B为被乘数寄存器,用来存放被乘数,C为乘数寄存器,用来存放乘数并且移位,A为部分积寄存器,存放每次相加并移位后的数据,ALU加法器实现加法操作,移位电路用来对相加后的数据作移位处理,计数器控制移位次数和输出结果。
1.2 设计思路定点原码一位乘法器的设计(如图1.1所示)主要包含如下两个部分一、运算部分:被乘数寄存器要有并入功能,从而进行被乘数的输入,被乘数寄存器的输出和乘数寄存器的最后一位分别相与,以此来确定+X或+0;乘数寄存器要有并入和右移的功能,从而实现乘数部分的右移,最后得到结果的低八位;被乘数和乘数的最后一位相与的结果作为加法器的一个输入,与原部分积相加,得到新的部分积,最后则为结果的高八位二、控制部分:进行运算时主要有两个状态,一个是乘数与被乘数的并入状态,一个就是乘数与部分积的右移状态定点原码一位乘法器的底层、顶层的设计都采用原理图设计输入方式,经编译、调试后形成*.bit文件并下载到XCV200可编程逻辑芯片中,经硬件测试验证设计的正确性1.3设计环境(1)硬件环境•伟福COP2000型计算机组成原理实验仪COP2000计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成实验平台上有寄存器组R0-R3、运算单元、累加器A、暂存器B、直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展座、总线插孔区、微动开关/指示灯、逻辑笔、脉冲源、20个按键、字符式LCD、RS232口。
COP2000计算机组成原理实验系统各单元部件都以计算机结构模型布局,清晰明了,系统在实验时即使不借助PC 机,也可实时监控数据流状态及正确与否, 实验系统的软硬件对用户的实验设计具有完全的开放特性,系统提供了微程序控制器和组合逻辑控制器两种控制器方式, 系统还支持手动方式、联机方式、模拟方式三种工作方式,系统具备完善的寻址方式、指令系统和强大的模拟调试功能2)EDA环境•Xilinx foundation f3.1设计软件Xilinx foundation f3.1是Xilinx公司的可编程期间开发工具,该平台(如图1.2所示)功能强大,主要用于百万逻辑门设计该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成设计入口工具包括原理图编辑器、有限状态机编辑器、硬件描述语言(HDL)编辑器、LogiBLOX模块生成器、Xilinx内核生成器等软件其功能是:接收各种图形或文字的设计输入,并最终生成网络表文件设计实现工具包括流程引擎、限制编辑器、基片规划器、FPGA编辑器、FPGA写入器等软件设计实现工具用于将网络表转化为配置比特流,并下载到器件设计验证工具包括功能和时序仿真器、静态时序分析器等,可用来对设计中的逻辑关系及输出结果进行检验,并详尽分析各个时序限制的满足情况。
图 1.2 Xilinx foundation f3.1设计平台•COP2000集成调试软件COP2000 集成开发环境是为COP2000 实验仪与PC 机相连进行高层次实验的配套软件,它通过实验仪的串行接口和PC 机的串行接口相连,提供汇编、反汇编、编辑、修改指令、文件传送、调试FPGA 实验等功能,该软件在Windows 下运行沈阳航空工业学院课程设计报告 第2章 详细设计方案2.1 顶层方案图的设计与实现顶层方案图实现原码一位乘的逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定2.1.1创建顶层图形设计文件顶层图形文件的设计实体主要由控制电路(H13)、加法器(H10)、两个寄存器(H9和H11)、一个由寄存器和与门组成的芯片(H8)等模块组装而成的一个完整的可编程逻辑芯片H1而以上顶层图形文件的设计可利用Xilinx foundation f3.1中逻辑器件实现,顶层图形文件结构如图2.1所示图2.1 定点原码一位乘法器的设计图形文件结构2.1.2器件的选择与引脚锁定(1)器件的选择由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为Xilinx XCV200可编程逻辑芯片。
2)引脚锁定把顶层图形文件中的输入/输出信号安排到Xilinx XCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及Xilinx XCV200芯片引脚对应关系如表2.1所示表2.1 信号和芯片引脚对应关系图形文件中的输入/输出信号XCV200芯片引脚信号X1P94X2P95X3P96X4P97X5P100X6P101X7P102X8P103Y1P79Y2P80Y3P81Y4P82Y5P84Y6P85Y7P86Y8P87X0P63Y0P64SP65CLRP66CKP213S0P223S1P147S2P152S3P178S4P184S5P185S6P203S7P111S8P110S9P78S10P93S11P99S12P107S13P108S14P19S15P124S161252.1.3编译、综合、适配利用Xilinx foundation f3.1的原理图编辑器对顶层图形文件进行编译,并最终生成网络表文件,利用设计实现工具经综合、优化、适配,生成可供时序仿真的文件和器件下载编程文件2.2 功能模块的设计与实现定点原码一位乘法器的底层设计包括控制器(运算控制电路)、一个由寄存器和与门组成的芯片、加法器及两个寄存器的实现由Xilinx XCV200可编程逻辑芯片分别实现。
2.2.1 控制器模块的设计与实现该模块的输出为三个寄存器的控制端和加法器的进位输入端,根据S为0和1时他们应取的值,判断S与他们每个之间的关系,用对应的控制门连接所以只需要一个S控制端,开关S的电平变化可以控制整个电路的状态变化1)创建控制器设计原理图控制器原理结构如图2.2所示:图2.2 控制器逻辑框图(2)创建元件图形符号为能在图形编辑器(原理图设计输入方式)中调用CONTROLER芯片,需要为CONTROLER模块创建一个元件图形符号,可利用Xilinx foundation f3.1编译器中的如下步骤实现:Tools=>Symbol Wizard=>下一步S是输入信号,0、S11、S01、S12、S02、S13、S03是输出信号其元件图形符号如图2.3所示:图2.3 控制器元件图形符号(3)功能仿真对创建的控制器模块进行功能仿真,验证其功能的正确性,可用Xilinx Foundation f3.1编译器Simulator模块实现仿真结果如图2.4所示:图2.4 控制器仿真结果控制电路的输入与输出信号的真值表如表2.2所示:表2.2控制电路的输入与输出信号的真值表步骤S0S11S01S12S02S13S03乘数与被乘数的并入10111111右移10001011将仿真结果与控制电路的输入与输出信号的真值表相对照可知,控制器电路的仿真结果正确。
2.2.2 寄存器和与门组成的模块的设计与实现该模块分为两部分,74_198为被乘数寄存器,它将实现被乘数的并入,将其与乘数的最后一位分别相与,得到的即是要与部分积相加的X或01)创建寄存器和与门组成模块设计原理图寄存器和与门组成模块原理结构如图2.5所示:图2.5 寄存器和与门组成模块逻辑框图其中,与门的原理结构如图2.6所示:图2.6 与门逻辑框图(2)创建元件图形符号为能在图形编辑器(原理图设计输入方式)中调用X芯片,需要为X模块创建一个元件图形符号,可利用Xilinx foundation f3.1编译器中的如下步骤实现:Tools=>Symbol Wizard=>下一步A1-A8是数据输入信号,CP、CLR、CK、B、1、0是输入信号,S1-S8是数据输出信号其元件图形符号如图2.7所示:图2.7 寄存器和与门模块元件图形符号(3)功能仿真对创建的寄存器和与门模块进行功能仿真,验证其功能的正确性,可用XilinxFoundation f3.1编译器Simulator模块实现仿真结果如图2.8所示:图2.8 寄存器和与门模块仿真结果 与门仿真结果如图2.9所示:图2.9 与门仿真结果将寄存器和与门模块的功能和仿真结果对照可知,寄存器和与门模块的仿真结果正确。
2.2.3 加法器模块的设计与实现该模块实现的是两个。