当前位置:文档之家› 计算机组成原理_阵列乘法器的设计

计算机组成原理_阵列乘法器的设计

沈阳航空航天大学课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:阵列乘法器的设计与实现院(系):计算机学院专业:计算机科学与技术班级:学号:姓名:指导教师:完成日期:2014年1月10日目录第1章总体设计方案 01.1设计原理 01.2设计思路 (1)1.3设计环境 (2)第2章详细设计方案 (2)2.1总体方案的设计与实现 (2)2.1.1总体方案的逻辑图 (3)2.1.2器件的选择与引脚锁定 (3)2.1.3编译、综合、适配 (4)2.2功能模块的设计与实现 (4)2.2.1 一位全加器的设计与实现 (4)2.2.2 4位输入端加法器的设计与实现 (6)2.2.3 阵列乘法器的设计与实现 (8)第3章硬件测试 (11)3.1编程下载 (11)3.2 硬件测试及结果分析 (11)参考文献 (13)附录(电路原理图) (15)第1章总体设计方案1.1 设计原理阵列乘法器采用类似人工计算的方法进行乘法运算。

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

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

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

为了进一步提高乘法的运算速度,可采用大规模的阵列乘法器来实现,阵列乘法器的乘数与被乘数都是二进制数。

可以通过乘数从最后一位起一个一个和被乘数相与,自第二位起要依次向左移一位,形成一个阵列的形式。

这就可将其看成一个全加的过程,将乘数某位与被乘数某位与完的结果加上乘数某位的下一位与被乘数某位的下一位与完的结果再加上前一列的进位进而得出每一位的结果,假设被乘数与乘数的位数均为4位二进制数,即m=n=4,A×B可用如下竖式算出,如图1.1所示。

X4 X3 X2 X1 =A×Y4 Y3 Y2 Y1=BX4Y1X3Y1X2Y1 X1Y1X4Y2X3Y2X2Y2X1Y2X4Y3X3Y3X2Y3X1Y3(进位)X4Y4 X3Y4X2Y4X1Y4Z8Z7Z6Z5Z4Z3Z2Z1图1.1 A×B计算竖式X4 ,X3 ,X2 ,X1 ,Y4 ,Y3 ,Y2 ,Y1为阵列乘法器的输入端,Z1-Z8为阵列乘法器的输出端,该逻辑框图所要完成的功能是实现两个四位二进制既A(X)*B(Y)的乘法运算,其计算结果为C(Z) (其中A(X)=X4X3X2X1 ,B(Y)=Y4Y3Y2Y1,C(Z)=Z8Z7Z6Z5Z4Z3Z2Z1而且输入和输出结果均用二进制表示)。

阵列乘法器的总原理如图1.2所示。

图1.2 阵列器的总原理图1.2设计思路(1)整体部分:阵列乘法器采用的是先逐位求解部分积,本课程设计要完成X与Y的乘法运算(X=X4X3X2X1,Y=Y4Y3Y2Y1),采用自上而下的设计方法,顶层设计采用8输入和8输出的一个自设置芯片,芯片内部封装16个模块,构成4×4的乘法阵列,如图1.3所示,阵列的每一行送入乘数Y的每一位数位,而各行错开形成的每一斜列则送入被乘数的每一数位。

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

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

主要需要仿真的部分有:一位全加器、4输入加法器以及整体电路图。

(4)采用硬件描述语言进行电路设计并实现给定的功能,设计的原理图经编译、调试后形成*.bit文件并下载到XCV200可编程逻辑芯片中,经硬件测试验证设计的正确性。

阵列乘法器是由十六个模块组成,每一个模块构包括一个与门和一位全加器。

具体的各个模块的设计在模块设计中一一呈现。

1.3 设计环境(1)硬件坏境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机。

具体内容如下:COP2000实验仪:COP2000计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成实验平台上有寄存器组R0-R3、运算单元、累加器A、暂存器B、直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展座、总线插孔区、微动开关/指示灯、逻辑笔、脉冲源、20个按键、字符式LCD、RS232口。

XCV200实验板:在COP2000 实验仪中的FPGA 实验板主要用于设计性实验和课程设计实验,它的核心器件是20 万门XCV200 的FPGA 芯片。

用FPGA 实验板可设计8 位16 位和32 位模型机(2)软件坏境:Xilinx foundation f3.1设计软件、COP2000仿真软件。

Xilinx foundation f3.1是Xilinx公司的可编程期间开发工具,该平台功能强大,主要用于百万逻辑门设计。

该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成。

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

第2章详细设计方案2.1 总体方案的设计与实现本课设采用自上而下的设计方法,其顶层方案图实现4×4位阵列乘法器的逻辑功能,采用原理图设计输入方式完成,把16个细胞模块封装在自设置的芯片内,电路实现基于XCV200可编程逻辑芯片。

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

2.1.1总体方案的逻辑图顶层图形文件主要由四位被乘数输入端(X4X3X2X1)、四位乘数输入端(Y4Y3Y2Y1)和八位乘积输出端(Z8Z7Z6Z5Z4Z3Z2Z1)。

4×4阵列乘法器总设计框图可利用Xilinx foundation f3.1模块实现顶层图形文件的设计,顶层图形文件结构如图2.1所示。

图2.1 4×4阵列乘法器总设计框图2.1.2器件的选择与引脚锁定(1)器件的选择硬件设计环境以伟福COP2000型计算机组成原理实验仪和XCV200实验板为硬件平台,采用Xilinx foundation f3.1设计工具和COP2000仿真软件。

(2)引脚锁定把顶层图形文件中的输入/输出信号安排到Xlinx XCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及Xlinx XCV200芯片引脚对应关系如表2.1所示。

表2.1信号和芯片引脚对应关系阵列乘法器内部信号原理图中的信号XCV200芯片引脚Y4YY4P412.1.3编译、综合、适配利用Xilinx foundation f3.1对顶层图形文件进行编译、综合、优化、逻辑分割、适配和布线,生成可供时序仿真的文件和器件下载编程文件。

2.2功能模块的设计与实现4×4阵列乘法器的每一个模块都是由一个两输入与门和一个全加器组成的,设计时将与门和全加器使用原理图输入设计方式实现阵列乘法器一个模块的功能。

下面分成三大块:由小单元器件模块到最终阵列乘法器大功能模块(其中包括:功能表,仿真图)2.2.1 一位全加器的设计与实现2.2.1.1 功能描述一位全加器指两个多位二进制数中的某一位的加法运算电路,其输入变量有3个:被加数XN、加数YN、低一位的进位输入CIN;输出变量有2个:产生的和FN和进位输出COUT。

一位全加器的真值表如表2.1所示。

XN YN CIN COUT FN0 0 0000 0 1010 1 0010 1 1101 0 0011 0 1001 1 0001 1 111由表可写出逻辑表达式如下:COUTN=(YN),(CIN)(XN),+(XN),(CIN),(YN)+(YN),(CIN),(XN)+(YN)(CIN)(XN) FN=(YN)(CIN)(XN),+(XN)(CIN)(YN),+(YN)(XN)(CIN),+(YN)(CIN)(XN)化简结果如下:COUTN=(XN)(YN)+CIN(XN⊕YN)FN=XN⊕YN⊕CIN2.2.1.2 电路图根据逻辑表达式的化简结果可得一位全加器的逻辑图,如下图2.2所示:图2.2一位全加器的电路图一位全加器可以由两个与门,三个异或门及一个或门构成,XN,YN,CIN分别表示乘数与被乘数的一位二进制数和来自低位的进位。

2.2.1.3 功能仿真仿真调试主要验证设计电路逻辑功能、时序的正确性,用高电平代表输入的二进制数为1,低电平代表输入的二进制数为0,本设计中主要采用功能仿真方法对设计的一位全加器电路进行仿真。

(1)建立仿真波形文件及仿真信号选择:功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如功能表2.1所示。

图2.3 一位全加器的功能仿真图(2)功能仿真结果与分析上图2.3是一位全加器的功能仿真波形结果,而仿真数据结果如表2.1所示,当输入分别为000、001、010、011、100、101、110、111时,相对应的输出分别为00、01、01、10、01、00、00、11,对表与仿真图的结果进行对比,可以看出功能仿真结果是正确的,进而说明电路设计正确性2.2.2 4位输入端加法器的设计与实现2.2.2.1功能描述4位输入端加法器是在一位全加器的基础之上加上一个与门所构成,其真值表如表2.3所示。

XIN YIN PARTIN CNIN CNOUT PARTOUT0 0 00000 0 11100 1 00000 1 11101 0 00001 0 11001 1 00101 1 11110 0 01000 0 10100 1 01000 1 10101 0 01001 0 10101 1 01011 1 1011其中XIN、YIN表示乘数与被乘数多位二进制中的一位二进制数,CNIN表示进位输入,CNOUT表示进位输出,PARTOUT表示部分积。

2.2.2.2电路图4位输入端加法器可以由一个与门和一位全加器构成,加法器的逻辑图如下图2.4所示:图2.4 4位输入端加法器电路图注:AND表示两个逻辑量相与,XOR表示两个逻辑量相异或,OR表示两个逻辑量相或。

阵列乘法器由十六个相同的基本乘法器模块构成,每一个模块的内部图如上图2.4所示,由四个输入端(XIN,YIN,PARTIN,CNIN),两个输出端(PARTOUT,CNOUT)组成。

实现XIN,YIN与完后和PARTIN,CNIN相加后,PARTOUT输出部分积结果加到同一列的下一行的模块上,CNOUT输出结果加到同一行的下一列的模块上。

相关主题