定点原码两位乘法器的设计说明.docx
- 文档编号:10923739
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:10
- 大小:19.98KB
定点原码两位乘法器的设计说明.docx
《定点原码两位乘法器的设计说明.docx》由会员分享,可在线阅读,更多相关《定点原码两位乘法器的设计说明.docx(10页珍藏版)》请在冰点文库上搜索。
定点原码两位乘法器的设计说明
课程设计报告
课程设计名称:
计算机组成原理课程设计
课程设计题目:
定点原码两位乘法器的设计
院〔系:
计算机学院
专业:
计算机科学与技术
班级:
学号:
姓名:
指导教师:
完成日期:
第1章总体设计方案
1.1设计原理
定点原码两位乘与定点原码一位乘一样,符号位的运算和数值部分是分开进行的,但为了提高运算速度,所以采用了原码两位乘,因为原码两位乘是用乘数的末两位的状态来决定新的部分积如何形成,可提高运算速度。
乘数和被乘数都用原码表示。
两位乘数有四种可能的组合,每种组合对应与以下操作:
00——相当与0*X。
部分积+0,右移两位;
01——相当与1*X。
部分积+X,右移两位;
10——相当与2*X。
部分积+2X,右移两位;
11——相当与3*X。
部分积+3X,右移两位。
与一位乘法比较,多出了+2X和3X两种情况。
把X左移1位即得到2X,在机器通常采用左斜送一位来实现。
可是+3X一般不能一次完成,如分成两次进行,又降低了计算速度。
解决问题的办法是:
以〔4X-X来代替3X运算,在本次运算中只执行-X,而+4X则归并到下一步执行,此时部分积以右移了两位,上一步欠下的+4X已变成+X,在实际线路中要用一个触发器C来记录是否欠下+4X,若是,则C变为1。
因此实际操作用Yi-1,Yi,C三位来控制,运算规则如下所示:
组合值Yi-1YiC操作C值变化
0000部分积+0;右移两位C=0
1001部分积+x;右移两位C=0
1010部分积+x;右移两位C=0
2011部分积+2x;右移两位C=0
2100部分积+2x;右移两位C=0
3101部分积-x;右移两位C=1
3110部分积-x;右移两位C=1
4111部分积+0;右移两位C=1
定点原码两位乘法器实现的功能应如下面例子所示,设计的电路应实现下面
例子给定的功能。
用原码两位乘方法求X*Y,已知X=0.101100,Y=0.111001。
、
实现定点原码两位乘法的逻辑电路框图如1.1所示.
部分积
0
X
2X
-X
被乘数
乘数
选择器
ALU加法器
移位电路
控制
电路
最低两位移出
图1.1定点原码两位乘法器逻辑电路框图
1.2设计思路
我所设计的定点原码两位乘法器是用一个乘数模块,一个被乘数模块和部分积模块以及移位电路和选择器构成。
定点原码两位乘法器顶层的乘法器采用原理图设计输入方式,原码两位乘的整体设计包含一个乘数模块,一个被乘数模块和部分积模块以及移位电路和选择器作为底层设计,采用Verilog设计输入方式。
采用硬件描述语言进行电路设计并实现给定的功能,设计的Verilog程序经编译、调试后形成*.bit文件并下载到XCV200可编程逻辑芯片中,经硬件测试验证设计的正确性。
1.3设计环境
·硬件环境:
伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机;
·EDA环境:
XilinxFoundationF3.1设计软件。
第2章功能模块的设计与实现
2.1顶层电路的设计与实现
顶层方案图实现原码两位乘法器的逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。
在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。
2.1.1创建顶层图形设计文件
顶层图形文件主要由一个乘数模块,一个被乘数模块和部分积模块以及选择器模块和移位电路模块封装而成的一个完整的设计实体,输入和输出组成。
可利用XilinxFoundationF3.1设计软件软件实现顶层图形文件的设计两位乘法器的顶层图形如图2.1所示,INTA为乘数输入端,INTB为被乘数输入端,CLK为脉冲输入端,OUTC为两数积高位输出端,OUTD为两数积低位输出端。
图2.1定点原码两位器顶层图形文件
2.1.2器件的选择与引脚锁定
〔1器件的选择
由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为XlinxXCV200可编程逻辑芯片。
〔2引脚锁定
把顶层图形文件中的输入/输出信号安排到XlinxXCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及XlinxXCV200芯片引脚对应关系。
图形文件中的输入/输出信号
XCV200芯片引脚
INTA
94,95,96,97,100,101,102,103
INTB
79,80,81,82,84,85,86,87
CLK
213
OUTC
224,228,229,230,231,232,234,235
OUTD
215,216,217,218,220,221,222,223
2.2基本功能模块的组成及工作原理
定点原码两位乘法器是由一个乘数模块,一个被乘数模块和部分积模块以及选择器模块和移位电路模块为基础而实现的,设计时被乘数模块,部分积模块以及选择器模块用图形设计输入方式实现,移位电路模块采用Verilog语言设计方式实现。
2.2.1被乘数模块的组成及工作原理
〔1被乘数模块的组成
被乘数模块由4个寄存器,1个移位寄存器,1个加法器等组成。
〔2被乘数模块的工作原理
被乘数模块主要的功能是实现把X转换成0,X,2X以及-X然后再由选择器模块选择出那一个送到加法器里。
对2X的实现才用移位寄存器来实现,用其左移的功能将X左移一位得到2X,-X用加法器和寄存器得到,采用取反加一的办法实现。
〔3被乘模块部结构
2.2.2乘数模块的组成及工作原理
〔1乘数模块的组成
乘数模块由寄存器和移位电路组成。
〔2乘数模块的工作原理
乘数模块主要功能是右移两位将乘数最低两位移出,所移出的两位去控制被乘数模块去选择向加法器所送的数,移位由一个移位电路实现右移两位,在移位的同时乘数本身右移两位。
〔3乘数模块部结构
2.2.3选择模块的组成及工作原理
〔1选择模块的组成
选择模块由8个4选1的选择器组成,8个4路选择器分别去选择由被乘数模块转换完的0,X,2X,-X,由8个4路选择器分别表示8位,再组合成一个数输出。
〔2选择模块的工作原理
选择模块的控制信号来自于乘数所移出的两位,然后选择被乘数的0,X,2X,-X其中一个输出,其主要工作原理就是8个4选1的选择器。
4选一数据选择器逻辑输出表达式为:
F=〔S0S1D0+S0S1D1+S0S1D2+S0S1D3E
它的功能表为:
地址
使能端
输入
输出
S0
S1
E
D
F
* *
1
*
0
0 0
0
D0---D3
D0
0 1
0
D0---D3
D1
1 0
0
D0---D3
D2
1 1
0
D0---D3
D3
从表上我们可以看出当使能端E为"1"时输出为"0"即禁止,只有当使能端为"0"时选择器才有效
〔3选择模块的部结构
2.2.4移位模块的组成及工作原理
〔1创建Verilog源文件
moduleBFI
input[7:
0]D;
inputCLK;
inputCLR;
inputCE;
inputLOAD;
output[7:
0]Q;
reg[7:
0]Q;
outputY1;
regY1;
outputY0;
regY0;
always
begin
if
CLR>Q<=0;
elseif
else
begin
Y1<=D[1];
Y0<=D[0];
Q<=Q>>2;
end
end
endmodule
〔2创建元件图形符号
为了能在图形编辑器中调用此元件,需要建立D[7:
0],CLK,CLR,CE,LOAD输入端,Q,Y1,Y0输出端,可用Xilinx编译器的CreateSymbol模块实现。
2.3仿真调试
仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。
〔1建立仿真波形文件及仿真信号选择
功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数.。
〔2部分功能仿真结果与分析
被乘数模块功能仿真波形结果如图2.2所示,可以看出功能仿真结果是正确的,进而说明电路设计的正确性。
图2.2被乘数功能仿真波形结果
移位电路模块功能仿真波形结果如图2.3所示
图2.3移位电路功能仿真波形结果
第3章编程下载与硬件测试
3.1编程下载
利用Xilinxfoundationf3.的编程下载功能,将得到的*.bin文件下载到XCV200实验板的XCV200可编程逻辑芯片中。
3.2硬件测试及结果分析
利用XCV200实验板进行硬件功能测试。
原码两位乘发器的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED数码管实现.
原码两位乘法器的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED数码管实现,其对应关系如表3.1所示
XCV200芯片引脚信号
XCV200实验板
相关信号
INTA
K0
00111001
INTB
K1
00101100
CLK
CLOCK
OUTC
S1
00100111
OUTD
S0
00001011
表3.1XCV200实验板信号对应关系
由表3.1和图3.1比较可以看出硬件测试结果是正确的,说明电路设计完全正确。
其硬件测试最后结果如图3.1所示:
图3.1硬件测试
参考文献
[1]昕燕.EDA技术实验与课程设计[M].:
清华大学,2006
[2]延滨.微型计算机系统原理、接口与EDA设计技术[M].:
邮电大学,2006
[3]王爱英.计算机组成与结构<第4版>[M].:
清华大学,2006
[4]俸远祯等.计算机组成原理[M].:
电子工业,1996.
[5]杜建国.VerilogHDL硬件描述语言.:
国防工业,2000
[6]王炜.计算机组成与设计实验教程.:
科学,2006
附录〔电路原理图
课程设计总结:
主要从以下几方面总结:
1.设计过程中首先出现的问题是应用FoundationF3.1设计软件设计软件找不到自己要用的器件,熟练以后解决了此问题,接下来出现的问题是设计上的问题,在设计选择器这个问题上开始用的方法是用加法器去替代选择器发现这是把问题复杂化,解决方法是采用4选1选择器解决;
2.设计达到了题目的要求可以实现要去的大部分功能;
3.我相信,只要自己在每一次实践中都能仔细思考,亲自动手,现在学到的任何一点知识在将来都会成为一笔宝贵的财富。
因此,我会认真地对待我的每一次课设和实验。
在这次计算机组成原理课程设计中,我做得很认真,也增长了不少知识。
实验完后,我对FoundationF3.1设计软件软件,计算机基本工作原理有了更深的了解,也对乘法器的结构与原理有了进一步的认识。
不足之处在于:
自己设计的没能完全的和老师所要求的一样
希望自己在可以学以致用,改进和提高,并将这些知识应用于自己以后的工作中。
指导教师评语:
指导教师<签字>:
年月日
课程设计成绩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 定点 原码两位 乘法器 设计 说明