当前位置:文档之家› 间接补码阵列乘法器的设计组成原理课程设计报告

间接补码阵列乘法器的设计组成原理课程设计报告

沈阳航空航天大学课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:间接补码阵列乘法器的设计院(系):计算机学院专业:计算机科学与技术班级:学号:姓名:指导教师:完成日期:2015年1月16日沈阳航空工业学院课程设计报告目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (2)1.3设计环境 (2)第2章详细设计方案 (5)2.1顶层方案图的设计与实现 (5)2.1.1创建顶层图形设计文件 (5)2.1.2器件的选择与引脚锁定 (5)2.1.3编译、综合、适配 (6)2.2功能模块的设计与实现 (6)2.2.1 细胞模块的设计与实现 (6)2.2.2 全加器模块的设计与实现 (7)2.3仿真调试 (11)第3章编程下载与硬件测试 (13)3.1编程下载 (13)3.2硬件测试及结果分析 (13)参考文献 (15)附录(电路原理图) (16)第1章总体设计方案1.1 设计原理由于计算机采用补码做加减运算,所以设计阵列补码乘法器能避免码制转换,提高机器效率。

可以利用原码阵列乘法器来设计补码阵列乘法器,这时需要在计算前先进行原码--补码的转换。

乘法器的常规设计是适用“串行移位”和“并行加法”相结合的方法,这种方法并不需要很多器件。

然而串行方法毕竟太慢,不能满足科学技术对高速乘法所提出的要求。

自从大规模集成电路问世以来,高速的单元阵列乘法器应运而生,出现了各种形式的流水线阵列乘法器,它们属于并行乘法器。

阵列乘法器采用类似于人工计算的方法进行乘法运算。

人工计算方法是用乘数的每一位去乘被乘数,然后将每一位权值对应相加得出每一位的最终结果。

如图1.1所示,用乘数的每一位直接去乘被乘数得到部分积并按位列为一行,每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值。

将各次部分积求和,即将各次部分积的对应数位求和即得到最终乘积的对应数位的权值。

011010* 001001____________011010000000000000011010000000000000_______________00011101010图1.1 人工计算乘法示例阵列乘法器采用类似人工的计算方法来完成乘法计算。

阵列的每一行送入乘数的每一位数位,而各行错开形成的每一斜列送入被乘数的每一数位。

该方案所用加法器数量很多,但内部结构规则性强,标准化程度高, 适于用超大规模集成电路的批量生产。

1.2 设计思路一、整体部分:阵列乘法器采用的是先逐位求解部分积,由于求解每一位的部分积是并行完成的,因此可以节省很多的计算时间,由于本课程设计要求的是设计一个六位乘六位的阵列乘法器,最高位为符号位,因此此阵列乘法器的整体设计包括25个加法器模块,加法器模块中由一个与门和一个全加器构成,由四个与门、两个异或门、一个三端接口的或门构成的全加器为底层设计,采用原理图设计输入方式,所谓的全加器就是就是两个数X、Y及进位输入CIN相加可得全加和POUT和进位输出COUT,三个补码转换模块。

二、单元部分:设计整体框图中的每个细胞模块,每个模块实现的功能是计算部分积和向高位的进位。

三、仿真部分:将整个电路连好之后即可进行仿真,用以验证设计是否正确。

四、下载部分:仿真成功之后即可进行此部分,在编译、调试之后形成的*.bit 文件即可下载到XCV200可编程逻辑芯片中,经硬件测试验证设计的正确性。

设被乘数和乘数(均为补码)分别为A=(a6)a5a4a3a2a1,B=(b6)b5b4b3b2b1,其中a6和b6为符号位,用括号括起来表示这一位有负的位权值。

根据补码和真值的转换可以知道(如图1.2所示):图1.2 补码和真值转换公式1.3设计环境(1)硬件环境•伟福COP2000型计算机组成原理实验仪COP2000计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成实验平台上有寄存器组R0-R3、运算单元、累加器A、暂存器B、直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展座、总线插孔区、微动开关、逻辑笔、脉冲源、20个按键、字符式LCD、RS232口。

COP2000计算机组成原理实验系统各单元部件都以计算机结构模型布局,清晰明了,系统在实验时即使不借助PC 机,也可实时监控数据流状态及正确与否, 实验系统的软硬件对用户的实验设计具有完全的开放特性,系统提供了微程序控制器和组合逻辑控制器两种控制器方式,系统还支持手动方式、联机方式、模拟方式三种工作方式,系统具备完善的寻址方式、指令系统和强大的模拟调试功能。

(2)EDA环境Xilinx foundation f3.1设计软件是Xilinx公司的可编程期间开发工具,该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成(如图1.3所示)。

设计入口工具包括原理图编辑器、有限状态机编辑器、硬件描述语言(HDL)编辑器、LogiBLOX模块生成器、Xilinx内核生成器等软件。

其功能是:接收各种图形或文字的设计输入,并最终生成网络表文件。

设计实现工具包括流程引擎、限制编辑器、基片规划器、FPGA编辑器、FPGA写入器等软件。

设计实现工具用于将网络表转化为配置比特流,并下载到器件。

设计验证工具包括功能和时序仿真器、静态时序分析器等,可用来对设计中的逻辑关系及输出结果进行检验。

图 1.3 Xilinx foundation f3.1设计平台•COP2000集成调试软件COP2000集成开发环境是为COP2000实验仪与PC机相连进行高层次实验的配套软件,它通过实验仪的串行接口和PC机的串行接口相连,提供汇编、反汇编、编辑、修改指令、文件传送、调试FPGA实验等功能,该软件在Windows 下运行。

COP2000集成开发环境界面如图1.4所示。

图 1.4 COP2000计算机组成原理集成调试软件第2章详细设计方案2.1 顶层方案图的设计与实现顶层方案图实现阵列乘法器的输入/输出、以及乘法器的芯片连接等逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。

在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。

2.1.1创建顶层图形设计文件顶层图形文件的设计实体主要由一个由全加器器和与门组成的芯片(CELL)等模块组装而成的一个完整的可编程逻辑芯片U37。

而以上顶层图形文件的设计可利用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 信号和芯片引脚对应关系2.1.3编译、综合、适配利用Xilinx foundation f3.1的原理图编辑器对顶层图形文件进行编译,并最终生成网络表文件,利用设计实现工具经综合、优化、适配,生成可供时序仿真的文件和器件下载编程文件。

2.2 功能模块的设计与实现定点原码一位乘法器的底层设计包括控制器(运算控制电路)、一个由寄存器和与门组成的芯片、加法器及两个寄存器的实现由Xilinx XCV200可编程逻辑芯片分别实现。

2.2.1 细胞模块的设计与实现该模块主要用于求解部分积、低位的进位的输入求和、向高位的进位以及本位积。

(1)创建细胞模块设计原理图。

控制器原理结构如图2.2所示:图2.2 细胞模块逻辑框图(2)创建元件图形符号为能在图形编辑器(原理图设计输入方式)中调用CONTROLER芯片,需要为CONTROLER模块创建一个元件图形符号,可利用Xilinx foundation f3.1编译器中的如下步骤实现:Tools=>Symbol Wizard=>下一步。

其中X、Y为被乘数与乘数,CI为地位的进位,CO为向高位的输出。

PAT为部分积。

该元件图形符号如图2.3所示:图2.3 细胞模块元件图形符号2.2.2 全加器模块的设计与实现本设计需要用到全加器,目前在数字计算机中实现两个二进制之间的算术运算无论是加、减、乘、除,都是化做若干步加法运算进行的。

因此,加法器是构成算术运算器的基本单元。

将两个多位二进制数相加时,除了最低位以外,每一位都应考虑来自低位的进位,即将两个对应位的加数和来自低位的进位3个数相加,这种运算成为全加,所用电路称为全加器。

由于在Xilinx foundation f3.1的元件库中未找到单全加器芯片,因此需要自行设计全加器并封装成芯片使用。

(1)全加器的逻辑设计。

首先先要写出全加器的真值表,根据真值表设计逻辑电路。

表2.2 全加器真值表(2)列出逻辑表达式并化简列出表2.1对应S 、CO 的卡诺图,如图2.4所示:图2.4 全加器卡诺图采用合并零并求反的化简方法化简。

得到S 和CO 的逻辑表达式:S=(A B CI +A B CI+A BCI+AB CI ) CO=(A B +B CI +A CI )COS(3)全加器的逻辑电路选用基本的逻辑元件,按照上面两个表达式连接电路,如图2.5所示:图2.5 全加器逻辑电路图(4)创建元件图形符号完成了全加器的逻辑电路设计之后,为方便在其它电路模块里应用,可将逻辑电路图封装成全加器芯片,该全加器芯片为三输入二输出芯片。

该芯片符号如图2.5所示。

图2.6 全加器图形符号(5)加法器逻辑电路(6)功能仿真对创建的全加器器模块进行功能仿真,验证其功能的正确性,可用Xilinx Foundation f3.1编译器Simulator模块实现。

仿真结果如图2.7所示:图2.7 全加器仿真结果2.3 仿真调试仿真调试主要验证设计电路逻辑功能的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。

(1)建立仿真波形文件及仿真信号选择功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,对波形的现实比例进行调整。

(2)功能仿真结果与分析功能仿真波形结果如图2.8所示,仿真数据结果如表2.3所示。

通过对输入数据进行人工计算并与仿真结果进行对比,可以看出功能仿真结果是正确的,进而说明电路设计的正确性。

但是仅仅凭借波形的正确与否不能完全判定设计的合理性,因此在下载到硬件实现的过程中,还要考虑硬件配置的问题,例如硬件的时钟脉冲是上升沿还是下降沿,因此在仿真时,要以硬件配置为依据,根据芯片的引脚,以及其它的硬件参数在设计好的电路的基础上进行模拟,这样才能保证或者说减小下载到实际芯片后失败的几率。

相关主题