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

下载本文档

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

文档简介

1、沈阳航空工业学院课课 程程 设设 计计 报报 告告课程设计名称:计算机组成原理课程设计计算机组成原理课程设计课程设计题目:定点原码两位乘器设计定点原码两位乘器设计院(系):计算机学院专 业:计算机科学与技术班 级:4401102学 号:200403011049姓 名:郭振明指导教师:刘泽显完成日期:2006年12月31日沈阳航空工业学院课程设计报告 -I-目目 录录第第 1 章章 总体设计方案总体设计方案.11.1 设计原理 .1第第 2 章章 详细设计方案详细设计方案.32.1 顶层方案图的设计与实现 .32.1.1 创建顶层图形设计文件.32.1.2 器件的选择与引脚锁定.32.1.3 编

2、译、综合、适配.42.2 功能模块的设计与实现 .42.2.1 欠位 C 和选择器模块的设计与实现 .42.2.2 两位移电路的设计与实现.52.3 仿真调试 .6第第 3 章章 编程下载与硬件测试编程下载与硬件测试.83.1 编程下载 .83.2 硬件测试及结果分析 .8参考文献参考文献.9附附 录(程序清单或电路原理图)录(程序清单或电路原理图).10沈阳航空工业学院课程设计报告 第 1 章 总体设计方案-1-第 1 章 总体设计方案1.1 设计原理设计原理 原码两位乘法流程图原码两位乘法流程图沈阳航空工业学院课程设计报告 第 1 章 总体设计方案-2-原码两位乘与原码一位乘一样,符号位的

3、运算和数值部分是分开进行的,但原码两位乘是用两位乘数的状态来决定新的部分积如何形成,因此可提高运算速度。两位乘数共有 4 种状态,对应这 4 种状态可得下表。乘数 yn-1yn新的部分积00等于原部分积右移两位01等于原部分积加被乘数后右移两位10等于原部分积加 2 倍被乘数后右移两位11等于原部分积加 3 倍被乘数后右移两位表中 2 倍被乘数可通过将被乘数左移一位实现,而 3 倍被乘数的获得可以分两步来完成,利用 3=4-1,第一步先完成减 1 倍被乘数的操作,第二步完成加 4倍被乘数的操作。而加 4 倍被乘数的操作实际上是由比“11”高的两位乘数代替 完成的,可以看作是在高两位乘数上加“1

4、”。这个“1”可暂时存在 Cj触发器中。机器完成置“1” Cj即意味着对高两位乘数加 1,也即要求高两位乘数代替本两位乘数“11”来完成加 4 倍被乘数的操作。所以用四个寄存器分别实现,由此可得原码两位乘的运算规则如下表所示。乘数判断位yn-1y n标志位Cj操 作 内 容000z2,y*2,Cj保持“0”010z+x*2, y*2,Cj保持“0”100z+2x*2, y*2,Cj保持“0”110z-x*2, y*2,置“1”Cj001z+x*2, y*2,置“0”Cj011z+2x*2, y*2,置“0”Cj101z-x*2, y*2, Cj保持“1”111z2,y*2,Cj保持“1”沈阳航

5、空工业学院课程设计报告 第 1 章 总体设计方案-3-表中 z 表示原有部分积,x*表示被乘数的绝对值,y*表示乘数的绝对值,2 表示右移两位,当作-x*运算时,一般采用加-x*补来实现。这样,参与原码两位乘运算的操作数是绝对值的补码,因此运算中右移两位的操作也必须按补码右移规则完成。尤其应注意的是,乘法过程中可能要加 2 倍被乘数,即+2x*补,使部分积的绝对值大于 2。为此,只有对部分积取三位符号位,且以最高符号位作为真正的符号位,才能保证运算过程正确无误。此外,为了统一用两位乘数和一位 Cj共同配合管理全部操作,与原码一位乘不同的是,需在乘数(当乘数位数为偶数时)的最高位前增加两个 0。

6、这样,当乘数最高两个有效位出现“11”时, Cj需置“1”,再与所添补的两个 0 结合呈001 状态,以完成加 x*的操作(此步不必移位)。例:设 x=0.111111,y=-0.111001,用原码两位乘求x y原。解:数值部分的运算如下表所示,其中 x*=0.111111, -x*补=1.000001,2x*=1.111110, y*=0.111001。部分积乘数 y*Cj说 明000.000000000.1111110011100101 0 0开始,部分积为 0, Cj=0根据 yn-1ynCj=010 加 x*,保持 Cj=0000.111111000.001111001.111110

7、1100111010 0 02,得新的部分积,乘数同时2 位根据 yn-1ynCj=100 加 2x*,保持 Cj=0010.001101000.100011111.0000011101110011110 02,得新的部分积,乘数同时2 位根据 yn-1ynCj=110 减 x*,Cj置“1”111.100100111.111001000.111111011100011100001 12,得新的部分积,乘数同时2 位根据 yn-1ynCj=001 加 x*,Cj置“0”000.111000000111形成最终结果乘积的符号为 沈阳航空工业学院课程设计报告 第 1 章 总体设计方案-4-故x y

8、原=1.111000000111。当乘数为偶数时,需作 n/2 次移位,最多作 n/2+1 次加法。当乘数为奇数时,乘数高位前可只增加一个“0”,此时需作 n/2+1 次加法,n/2+1 次移位(最后一步移一位) 。 沈阳航空工业学院课程设计报告 第 3 章 编程下载与硬件测试-5-第 2 章 详细设计方案2.1 顶层方案图的设计与实现顶层方案图的设计与实现顶层方案图实现原码两位乘法器的逻辑功能,采用图形输入方式完成,电路实现基于 XCV200 可编程逻辑芯片。把输入/输出信号安排到 XCV200 指定的引脚上去,实现芯片的引脚锁定。2.1.1 创建顶层图形设计文件创建顶层图形设计文件由上面原

9、理设计得:顶层图形文件主要由一个乘数 Y 寄存器和一个被乘数X 寄存器并封装了四个寄存器其中有 0,X,2X,-X 四个寄存器。封装的四个寄存器通过一个选择器选出是 0,X,2X,-X 和部分积相加。输出接到一个加法器的一端和部分积寄存器相加输出接到一个两位右移器件上将移后的值送到部分积中,并将移出的底两位送到 Y 的高两上。乘数 Y 内部还封装拉一个移位电路并自身进行向右移位运算,这就是顶层的基本设计图原理。图图 2.1 原码两位乘法器顶层图形文件结构原码两位乘法器顶层图形文件结构2.1.2 器件的选择与引脚锁定器件的选择与引脚锁定(1)引脚锁定)引脚锁定把顶层图形文件中的输入/输出信号安排

10、到 Xlinx XCV200 芯片指定的引脚上沈阳航空工业学院课程设计报告 第 3 章 编程下载与硬件测试-6-去,实现芯片的引脚锁定,各信号及 Xlinx XCV200 芯片引脚对应关系如表 2.1 所示。Y0:7094095096097.100.101.102.103。X0:7079080.081.082.084.085.086087CLK213OUTY0:7215.216.217.218.220.221.222.223OUTX0:7224.228.229.230.231.232.234.235表表 2.1 信号和芯片引脚对应关系信号和芯片引脚对应关系2.2 功能模块的设计与实现功能模块的

11、设计与实现原码两位乘法器的欠位位 C 是有乘数 Y 的最底两位实现:乘数判断位 yn-1y n标志位 Cj操 作 内 容000z2,y*2,Cj保持“0”010z+x*2, y*2,Cj保持“0”100z+2x*2, y*2,Cj保持“0”110z-x*2, y*2,置“1”Cj001z+x*2, y*2,置“0”Cj011z+2x*2, y*2,置“0”Cj101z-x*2, y*2, Cj保持“1”111z2,y*2,Cj保持“1”因此实际操作 C 要用 Yi-1 Yi C 三位的组合值来控制乘法运算操作,运算规数最底两个有效位出现“11”时, Cj需置“1”,C 和 Yi-1出现“11”

12、时 Cj需置“1”和上面或的 C,C 可以看作是在底两位乘数上加“1”。这个“1”可暂时存在 Cj触沈阳航空工业学院课程设计报告 第 3 章 编程下载与硬件测试-7-发器中。开始时机器完预先置“0” Cj即意味着对高两位乘数加 1,也意味着加零。选择器:乘数判断位 yn-1y n标志位Cj操 作 内 容000 等于原部分积右移两位010等于原部分积加被乘数后右移两位00等于原部分积加 2 倍被乘数后右移两位110等于原部分积加-被乘数补码右移两位001等于原部分积加被乘数后右移两位011 等于原部分积加 2 倍被乘数后右移两位101等于原部分积加-被乘数补码后右移两位111 等于原部分积右移两

13、位因此根据上图有选择器有四种状态画卡诺图得q0=P0&(!P1)|(!P0)&P1; q1=(!P0)&P2|(!P1)&P2|P1&(!P2)&P0; Ci+1=Yi-1C+YiYi-1;2.2.1 欠位欠位 C 和选择器模块的设计与实现和选择器模块的设计与实现选择器,用 Verilog HDL 程序表示,其设计过程如下。(1)创建)创建 Verilog HDL 源文件源文件module xuan ( p0, p1, p2, q0, q1) ;put p0 ;input p1 ;input p2 ;沈阳航空工业学院课程设计报告 第 3 章 编程

14、下载与硬件测试-8-output q0 ;output q1 ;reg q1 ;/ add your code here wire p0,p1,p2; wire q0,q1; assign q0=p0&(!p1)|(!p0)&p1; assign q1=(!p0)&p2|(!p1)&p2|p1&(!p2)&p0;endmodule 欠位 C和选择器D 的实现图:沈阳航空工业学院课程设计报告 第 3 章 编程下载与硬件测试-9-(2)创建元件图形符号)创建元件图形符号上图是选择器(3)功能仿真)功能仿真。2.2.2 两位移电路的设计与实现两位移电路

15、的设计与实现原码两位乘法器的需要移位电路进行移位,它的实现形成 Verilog HDL 程序表示,其设计过程如下。(1)创建)创建 Verilog HDL 源文件源文件module BFI (D, CLK, CLR, CE, LOAD, Q, Y1, Y0) ;沈阳航空工业学院课程设计报告 第 3 章 编程下载与硬件测试-10-input 7:0 D ;input CLK ;input CLR ;input CE ;input LOAD ;output 7:0 Q ;reg 7:0 Q ;output Y1 ;reg Y1 ;output Y0 ;reg Y0 ;/ add your code

16、 herealways(posedge CLK or negedge CLR) beginif(!CLR) Q=0;else if(LOAD) Q=D; else begin Y1=D1;沈阳航空工业学院课程设计报告 第 3 章 编程下载与硬件测试-11- Y0=D0; Q2; endendendmodule(2)创建元件图形符号)创建元件图形符号(3)功能仿真)功能仿真(2)创建元件图形符号)创建元件图形符号为了能在图形编辑器(原理图设计输入方式)中调用此两输入,需要为沈阳航空工业学院课程设计报告 第 3 章 编程下载与硬件测试-12-ORM2 创建一个元件图形符号,可用 Xilinx fo

17、undation f3.1 编译器的实现模块。第 3 章 编程下载与硬件测试3.1 编程下载编程下载利用 Xilinx ISE 的编程下载功能,将得到的*.bin 文件下载到 XCV200 实验板的 XCV200 可编程逻辑芯片中。3.2 硬件测试及结果分析硬件测试及结果分析利用 XCV200 实验板进行硬件功能测试。一位全加器的输入数据通过XCV200 实验板的输入开关实现,输出数据通过 XCV200 实验板的 LED 指示灯实现,其对应关系如表 3.1 所示。表表 3.1 XCV200 实验板信号对应关系实验板信号对应关系XCV200芯片引脚信号芯片引脚信号XCV200实验板实验板ain

18、K1binK2cinK3sum LED1coutLED2利用表 2.2 中的输入参数作为输入数据,逐个测试输出结果,即用 XCV200实验板的开关 K1、K2、K3 输入数据,同时观察 LED1 和 LED2 的输出,得到如表 3.2 所示的硬件测试结果。表表 3.2 硬件测试结果硬件测试结果输输 入入 信信 号号输输 出出 信信 号号K1 K2K3LED1LED20 11011 10010 11000 01100 00000 10101 1111沈阳航空工业学院课程设计报告 第 3 章 编程下载与硬件测试-13-对表 3.2 与表 1.1 的内容进行对比,可以看出硬件测试结果是正确的,说明电路设计完全正确。如图:沈阳航空工业学院课程设计报告 参考文献-14-参考文献1 曹昕燕. EDA 技术实验与课程设计M.北京:清华大学出版社,20062 范延滨.微型计算机系统原理、接口与 EDA 设计技术M.北京:北京邮电大学出版社,20063 王爱英.计算机组成与结构(第 4 版)M.北京:清华大学出版社,20064侯伯亨,顾新.VHDL 硬件描述语言与数字逻辑电路设计M.西安:西安电子科技大学出版社,1998.5-9.5廖裕评,陆瑞强.CPLD 数字电路设计-使用 MAX+PLUSM.北京:清华大学出版社,2001.217-221.6俸远祯等.计算机组成原理M.

温馨提示

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

评论

0/150

提交评论