沈阳*****课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:阵列乘法器的设计院(系):计算机学院专业:计算机科学与技术班级:学号:姓名:指导教师:完成日期:2007年1月7日目录第1章总体设计方案 (1)1.1 设计原理 (1)1.2 设计思路 (1)1.3 设计环境 (1)第二章详细设计方案 (2)2.1顶层方案图的设计与实现 (2)2.1.1创建顶层图形设计文件 (2)2.1.2器件的选择与引脚锁定 (3)2.1.3编译、综合、适配........................................................................ . (4)2.2底层的设计与实现........................................................................ (4)2.2.1阵列乘法器的设计与实现..................................... ................. .......... ................. (4)2.3功能模块的设计与实现 (6)2.4 仿真调试.................................................................................. (7)第3章编程下载与硬件测试 (10)3.1 编程下载 (10)3.2 硬件测试及结果分析 (10)参考文献 (12)课程设计总结 (13)第1章总体设计方案1.1 设计原理阵列乘法器是类似于人工计算的方法,乘数与被乘数都是二进制数。
所以可以通过乘数从最后一位起一个一个和被乘数相与,自第二位起要依次向左移一位,形成一个阵列的形式。
这就可将其看成一个全加的过程,将乘数某位与被乘数某位与完的结果加上乘数某位的下一位与被乘数某位的下一位与完的结果再加上前一列的进位进而得出每一位的结果。
一个阵列乘法器要完成X.Y乘法运算(X=X4X3X2X1,Y=Y4Y3Y2Y1)。
阵列的每一行送入乘数Y的每一位数位,而各行错开形成的每一斜列则送入被乘数的每一数位。
阵列乘法器是由十六个模块组成,每一个模块构包括一个与门和一位全加器。
1.2 设计思路整体设计方法为先顶层后底层,逐步完成。
顶层设计采用原理图设计输入方式。
顶层由两个输入寄存器存储输入数据和一个输出寄存器存储输出数据和一个阵列乘法器元件图形符号相连接。
底层设计由相同的十六个模块组成,依次将模块按原理连接。
又由三个与门、三个异或门和一个或门的逻辑电路构成乘法器的功能模块并采用原理图设计输入方式。
采用硬件描述语言进行电路设计并实现给定的功能,设计的原理图经编译、调试后形成*.bit文件并下载到XCV200可编程逻辑芯片中,经硬件测试验证设计的正确性。
1.3 设计环境·硬件环境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机;·软件环境:Xilinx Foundation3.1设计软件、COP2000仿真软件。
第2章详细设计方案2.1 顶层方案图的设计与实现顶层方案图实现四乘四位阵列乘法器的逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。
在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。
2.1.1创建顶层图形设计文件顶层图形文件主要由四位被乘数输入端(X4X3X2X1)、四位乘数输入端(Y4Y3Y2Y1)和八位乘积输出端(Z8Z7Z6Z5Z4Z3Z2Z1)。
包括三个寄存器(FD4CE)和一个阵列乘法器。
四位被乘数和四位乘数分别存入两个输入寄存器后再打入阵列乘法器进行计算,再将结果存入输出寄存器最后将结果输出。
寄存器的CE端可控制是否使用寄存器,CE=1时使用寄存器,CE=0时停止使用。
C为脉冲控制着数据是否打入;CLR为寄存器的清零端,CLR=1时清零。
以便下一个数据的打入。
可利用Xilinx Foundation3.1软件实现顶层图形文件的设计,顶层图形文件结构如图2.1所示。
图2.1 四位阵列乘法器顶层图形文件结构2.1.2器件的选择与引脚锁定(1)器件的选择由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为Xlinx XCV200可编程逻辑芯片。
(2)引脚锁定把顶层图形文件中的输入/输出信号安排到Xlinx XCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及Xlinx XCV200芯片引脚对应关系如表2.1所示。
表2.1 信号和芯片引脚对应关系2.1.3编译、综合、适配利用Xilinx Foundation3.1编译器对顶层图形文件进行编译、综合、优化、逻辑分割、适配和布线,生成可供时序仿真的文件和器件下载编程文件。
2.2底层的设计与实现四乘四位阵列乘法器的每一个模块都是由一个两输入与门和一个全加器组成的,设计时将与门和全加器使用原理图输入设计方式实现阵列乘法器一个模块的功能。
2.2.1阵列乘法器的设计与实现阵列乘法器由十六个相同的基本乘法器模块构成,每一个模块由四个输入端(XIN,YIN,PARTIN,CNIN),两个输出端(PARTOUT,CNOUT)组成。
实现XIN,YIN与完后和PARTIN,CNIN相加后,PARTOUT输出部分积结果加到同一列的下一行的模块上,CNOUT输出结果加到同一行的下一列的模块上。
依次类推将结果输出。
X1、X2、X3、X4为阵列乘法器的四个被乘数输入端Y1、Y2、Y3、Y4为四个乘数输入端。
将输入输出连接在模块上。
Z1、Z2、Z3、Z4、Z5、Z6、Z7、Z8为八个乘积的输出端。
其设计过程如下:(1)原理图设计输入方式(2)创建元件图形符号为了能在图形编辑器(原理图设计输入方式)中调用此阵列乘法器,需要为此乘法器创建一个元件图形符号,可用Xilinx Foundation3.1编译器的Create Symbol模块实现。
此元件如下图所示2.3功能模块的设计与实现阵列乘法器的一个模块由三个与门、三个异或门和一个或门组成。
输入方式采用原理图输入设计方式。
四个输入为XIN、YIN、PARTIN,CNIN,两个输出为PARTOUT、CNOUT。
其设计过程如下:(1)原理图设计输入方式(2)创建元件图形符号为了能在图形编辑器(原理图设计输入方式)中调用此器件,需要为此器件创建一个元件图形符号,可用Xilinx Foundation3.1编译器的Create Symbol模块实现。
此元件如下图所示。
(3)功能仿真对创建的乘法器元件进行功能仿真,验证其功能的正确性,可用Xilinx ISE 编译器的Simulator模块实现。
2.4 仿真调试仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。
(1)建立仿真波形文件及仿真信号选择功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如表2.4所示。
表2.4仿真信号选择和参数设置(2)功能仿真结果与分析功能仿真波形结果如图2.3所示,仿真数据结果如表2.3所示。
对表2.3与表1.1的内容进行对比,可以看出功能仿真结果是正确的,进而说明电路设计的正确。
十六进制仿真结果二进制仿真结果图2.3 功能仿真波形结果第3章编程下载与硬件测试3.1 编程下载利用Xilinx Foundation3.1的软件实现编程下载功能,将得到的*.bin文件下载到XCV200实验板的XCV200可编程逻辑芯片中。
3.2 硬件测试及结果分析利用XCV200实验板进行硬件功能测试。
一位全加器的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的液晶显示管实现,其对应关系如表3.1所示。
表3.1 XCV200实验板信号对应关系利用表2.4中的输入参数作为输入数据,逐个测试输出结果,即用XCV200实验板的开关K0(7),K0(6),K0(5),K0(4),K0(3),K0(2),K0(1),K0(0),K2(1),K2(0)输入数据,同时观察S1的输出结果。
得到如表3.2所示的硬件测试结果。
表3.2 硬件测试结果(举例)路设计完全正确。
参考文献[1] 曹昕燕.EDA技术实验与课程设计[M].北京:清华大学出版社,2006[2] 范延滨.微型计算机系统原理、接口与EDA设计技术[M].北京:北京邮电大学出版社,2006[3] 王爱英.计算机组成与结构(第4版)[M].北京:清华大学出版社,2006[4] 夏宇闻.Verilog数字系统设计教程[M]北京航空航天大学出版社,2003[5] 黄建文艾西加魏方.VHDL语言及其应用1997年北京中国铁道出版社。
[6]王金明杨吉斌.数字系统设计与verilog HDL 北京:电子工业出版社[7]侯建军.数字逻辑与系统解题指导和Foundation操作指南北京 2001 中国铁道出版社[8]王冠黄熙王鹰.V erilog HDL与数字电路设计机械工业出版社。