定点原码两位乘法器的设计_第1页
定点原码两位乘法器的设计_第2页
定点原码两位乘法器的设计_第3页
定点原码两位乘法器的设计_第4页
定点原码两位乘法器的设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码两位乘法器的设计院(系):计算机学院专 业:计算机科学与技术班 级:学 号:姓 名:指导教师: 完成日期: 目 录沈阳航空工业学院I第1章 总体设计方案11.1 设计原理11.2 设计思路31.3 设计环境4第2章 功能模块的设计与实现52.1 顶层电路的设计与实现5创建顶层图形设计文件5器件的选择与引脚锁定52.2 基本功能模块的组成及工作原理7被乘数模块的组成及工作原理7乘数模块的组成及工作原理9选择模块的组成及工作原理10移位模块的组成及工作原理112.3 仿真调试13第3章 编程下载与硬件测试143.1 编

2、程下载143.2 硬件测试及结果分析14参考文献16附 录(电路原理图)17第1章 总体设计方案1.1 设计原理定点原码两位乘与定点原码一位乘一样,符号位的运算和数值部分是分开进行的,但为了提高运算速度,所以采用了原码两位乘,因为原码两位乘是用乘数的末两位的状态来决定新的部分积如何形成,可提高运算速度。乘数和被乘数都用原码表示。两位乘数有四种可能的组合,每种组合对应与以下操作:00相当与0*X。部分积+0,右移两位;01相当与1*X。部分积+X,右移两位;10相当与2*X。部分积+2X,右移两位;11相当与3*X。部分积+3X,右移两位。与一位乘法比较,多出了+2X和3X两种情况。把X左移1位

3、即得到2X,在机器内通常采用左斜送一位来实现。可是+3X一般不能一次完成,如分成两次进行,又降低了计算速度。解决问题的办法是:以(4X-X)来代替3X运算,在本次运算中只执行-X,而+4X则归并到下一步执行,此时部分积以右移了两位,上一步欠下的+4X已变成+X,在实际线路中要用一个触发器C来记录是否欠下+4X,若是,则C变为1。因此实际操作用Yi-1 ,Yi ,C三位来控制,运算规则如下所示:组合值 Yi-1 Yi C 操作 C值变化0 0 0 0 部分积0;右移两位 C=01 0 0 1 部分积x;右移两位 C=01 0 1 0 部分积x;右移两位 C=02 0 1 1 部分积2x;右移两位

4、 C=02 1 0 0 部分积2x;右移两位 C=03 1 0 1 部分积x;右移两位 C=13 1 1 0 部分积x;右移两位 C=14 1 1 1 部分积0;右移两位 C=1定点原码两位乘法器实现的功能应如下面例子所示,设计的电路应实现下面例子给定的功能。用原码两位乘方法求X*Y,已知X=0.101100,Y=0.111001。、实现定点原码两位乘法的逻辑电路框图如1.1所示. 部分积0X2X-X 被乘数 乘数选择器ALU 加法器移位电路控 制电 路最低两位移出 图1.1 定点原码两位乘法器逻辑电路框图 1.2 设计思路我所设计的定点原码两位乘法器是用一个乘数模块,一个被乘数模块和部分积模

5、块以及移位电路和选择器构成。定点原码两位乘法器顶层的乘法器采用原理图设计输入方式,原码两位乘的整体设计包含一个乘数模块,一个被乘数模块和部分积模块以及移位电路和选择器作为底层设计,采用Verilog 设计输入方式。采用硬件描述语言进行电路设计并实现给定的功能,设计的Verilog程序经编译、调试后形成*.bit文件并下载到XCV200可编程逻辑芯片中,经硬件测试验证设计的正确性。1.3 设计环境·硬件环境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机;·EDA环境: Xilinx Foundation F3.1设计软件。 第2章 功能模块的设计与实现2

6、.1 顶层电路的设计与实现顶层方案图实现原码两位乘法器的逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。2.1.1创建顶层图形设计文件顶层图形文件主要由一个乘数模块,一个被乘数模块和部分积模块以及选择器模块和移位电路模块封装而成的一个完整的设计实体,输入和输出组成。可利用Xilinx Foundation F3.1设计软件软件实现顶层图形文件的设计两位乘法器的顶层图形如图2.1所示,INTA为乘数输入端,INTB为被乘数输入端,CLK为脉冲输入端,OUTC为两数积高位输

7、出端,OUTD为两数积低位输出端。图2.1 定点原码两位器顶层图形文件2.1.2器件的选择与引脚锁定(1)器件的选择由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为Xlinx XCV200可编程逻辑芯片。(2)引脚锁定把顶层图形文件中的输入/输出信号安排到Xlinx XCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及Xlinx XCV200芯片引脚对应关系。图形文件中的输入/输出信号XCV200芯片引脚INTA94,95,96,97,100,101,102,103INTB79,80,81,82,84,85,86,87CLK213O

8、UTC224,228,229,230,231,232,234,235OUTD215,216,217,218,220,221,222,2232.2 基本功能模块的组成及工作原理定点原码两位乘法器是由一个乘数模块,一个被乘数模块和部分积模块以及选择器模块和移位电路模块为基础而实现的,设计时被乘数模块,部分积模块以及选择器模块用图形设计输入方式实现,移位电路模块采用Verilog语言设计方式实现。2.2.1被乘数模块的组成及工作原理(1)被乘数模块的组成 被乘数模块由4个寄存器,1个移位寄存器,1个加法器等组成。(2)被乘数模块的工作原理被乘数模块主要的功能是实现把X转换成0,X,2X以及-X然后再

9、由选择器模块选择出那一个送到加法器里。对2X的实现才用移位寄存器来实现,用其左移的功能将X左移一位得到2X,-X用加法器和寄存器得到,采用取反加一的办法实现。(3)被乘模块内部结构2.2.2乘数模块的组成及工作原理(1)乘数模块的组成乘数模块由寄存器和移位电路组成。(2)乘数模块的工作原理乘数模块主要功能是右移两位将乘数最低两位移出,所移出的两位去控制被乘数模块去选择向加法器所送的数,移位由一个移位电路实现右移两位,在移位的同时乘数本身右移两位。(3)乘数模块内部结构2.2.3选择模块的组成及工作原理(1)选择模块的组成选择模块由8个4选1的选择器组成,8个4路选择器分别去选择由被乘数模块转换

10、完的0,X,2X,-X,由8个4路选择器分别表示8位,再组合成一个数输出。(2)选择模块的工作原理选择模块的控制信号来自于乘数所移出的两位,然后选择被乘数的0,X,2X,-X其中一个输出,其主要工作原理就是8个4选1的选择器。4选一数据选择器逻辑输出表达式为:F=(S0S1D0+S0S1D1+S0S1D2+S0S1D3)E它的功能表为:地址使能端输入输出S0S1EDF*       *1*00       00D0-D3D00    &

11、#160;  10D0-D3D11       00D0-D3D21       10D0-D3D3从表上我们可以看出当使能端E为“1”时输出为“0”即禁止,只有当使能端为“0”时选择器才有效(3)选择模块的内部结构2.2.4移位模块的组成及工作原理(1)创建Verilog源文件module BFI (D, CLK, CLR, CE, LOAD, Q, Y1, Y0) ;input 7:0 D ;input CLK ;input CLR ;input CE ;inp

12、ut LOAD ;output 7:0 Q ;reg 7:0 Q ;output Y1 ;reg Y1 ;output Y0 ;reg Y0 ;always(posedge CLK or negedge CLR) beginif(!CLR) Q<=0;else if(LOAD) Q<=D; else begin Y1<=D1; Y0<=D0; Q<= Q>>2; endendendmodule(2)创建元件图形符号为了能在图形编辑器中调用此元件,需要建立D7:0, CLK, CLR, CE, LOAD输入端, Q, Y1, Y0输出端,可用Xilinx

13、编译器的Create Symbol模块实现。2.3 仿真调试仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。(1)建立仿真波形文件及仿真信号选择功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数.。(2)部分功能仿真结果与分析被乘数模块功能仿真波形结果如图2.2所示,可以看出功能仿真结果是正确的,进而说明电路设计的正确性。图2.2 被乘数功能仿真波形结果 移位电路模块功能仿真波形结果如图2.3所示图2.3 移位电路功能仿真波形结果第3章 编程下载与硬件测试3.1 编程下载利用Xilinx fou

14、ndation f3.的编程下载功能,将得到的*.bin文件下载到XCV200实验板的XCV200可编程逻辑芯片中。3.2 硬件测试及结果分析利用XCV200实验板进行硬件功能测试。原码两位乘发器的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED数码管实现.原码两位乘法器的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED数码管实现,其对应关系如表3.1所示XCV200芯片引脚信号XCV200实验板相关信号INTAK000111001INTBK100101100CLKCLOCKOUTCS100100111OUTDS00000

15、1011表3.1 XCV200实验板信号对应关系由表3.1和图3.1比较可以看出硬件测试结果是正确的,说明电路设计完全正确。其硬件测试最后结果如图3.1所示: 图3.1 硬件测试参考文献1 曹昕燕. EDA技术实验与课程设计M.北京:清华大学出版社,20062 范延滨.微型计算机系统原理、接口与EDA设计技术M.北京:北京邮电大学出版社,20063 王爱英.计算机组成与结构(第4版)M.北京:清华大学出版社,20064 俸远祯等.计算机组成原理M.北京:电子工业出版社,1996.5 杜建国.Verilog HDL硬件描述语言.北京:国防工业出版社,20006 王炜.计算机组成与设计实验教程.北京:科学出版社,2006附 录(电路原理图)课程设计总结:主要从以下几方面总结:1 设计过程中首先出现的问题是应用Foundation F3.1设计软件设计软件找不到自己要用的器件,熟练以后解决了此问题,接下来出现的问题是设计上的问题,在设计选择器这个问题上开始用的方法是用加法器去替代选择器发现这是把问题复杂化,解决方法是采用4选1选择器解决;2 设计达到了题目的要求可以实现要去的大部分功能;3 我相信,只要自己在每一次实践

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论