计算机组成原理_阵列乘法器设计
沈阳航空航天大学
课 程 设 计 报 告
课程设计名称:计算机组成原理课程设计
课程设计题目:阵列乘法器的设计与实现
院(系):计算机学院
专 业:计算机科学与技术
班 级:
学 号:
姓 名:
指导教师:
完成日期:2014年1月10日
目 录
第1章 总体设计方案1
1.1 设计原理1
1.2 设计思路2
1.3 设计环境3
第2章 详细设计方案3
2.1 总体方案的设计与实现4
2.1.1总体方案的逻辑图4
2.1.2器件的选择与引脚锁定4
2.1.3编译、综合、适配5
2.2功能模块的设计与实现5
2.2.1 一位全加器的设计与实现6
2.2.2 4位输入端加法器的设计与实现7
2.2.3 阵列乘法器的设计与实现10
第3章 13
3.1 编程下载13
3.2 硬件测试及结果分析13
参考文献15
附 录(电路原理图)16
第1章 总体设计方案
1.1 设计原理
阵列乘法器采用类似人工计算的方法进行乘法运算。人工计算方法是用乘数的每一位去乘被乘数,然后将每一位权值对应相加得出每一位的最终结果。如图1.1所示,用乘数的每一位直接去乘被乘数得到部分积并按位列为一行,每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值。将各次部分积求和,即将各次部分积的对应数位求和即得到最终乘积的对应数位的权值。
为了进一步提高乘法的运算速度,可采用大规模的阵列乘法器来实现,阵列乘法器的乘数与被乘数都是二进制数。可以通过乘数从最后一位起一个一个和被乘数相与,自第二位起要依次向左移一位,形成一个阵列的形式。这就可将其看成一个全加的过程,将乘数某位与被乘数某位与完的结果加上乘数某位的下一位与被乘数某位的下一位与完的结果再加上前一列的进位进而得出每一位的结果,假设被乘数与乘数的位数均为4位二进制数,即m=n=4,A×B可用如下竖式算出,如图1.1所示。
X4 X3 X2 X1 =A
× Y4 Y3 Y2 Y1 =B
X4Y1 X3Y1 X2Y1 X1Y1
X4Y2 X3Y2 X2Y2 X1Y2
X4Y3 X3Y3 X2Y3 X1Y3
(进位) X4Y4 X3Y4 X2Y4 X1Y4
Z8 Z7 Z6 Z5 Z4 Z3 Z2 Z1
图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)整体部分:阵列乘法器采用的是先逐位求解部分积,本课程设计要完成X与Y的乘法运算(X=X4X3X2X1,Y=Y4Y3Y2Y1), 采用自上而下的设计方法,顶层设计采用8输入和8输出的一个自设置芯片,芯片内部封装16个模块,构成4×4的乘法阵列,如图1.3所示,阵列的每一行送入乘数Y的每一位数位,而各行错开形成的每一斜列则送入被乘数的每一数位。
图 1.3 阵列乘法器4×4阵列
单元部分:设计整体框图中的每一个细胞模块实现的功能是计算部分积和向高位的进位。
(3)仿真部分:将整个电路连接好以后即可进行仿真,用以验证设计是否正确。主要需要仿真的部分有:一位全加器、4输入加法器以及整体电路图。
(4)采用硬件描述语言进行电路设计并实现给定的功能,设计的原理图经编译、调试后形成*.bit文件并下载到XCV200可编程逻辑芯片中,经硬件测试验证设计的正确性。
阵列乘法器是由十六个模块组成,每一个模块构包括一个与门和一位全加器。具体的各个模块的设计在模块设计中一一呈现。
1.3 设计环境
(1)硬件坏境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机。具体内容如下:
COP20