补码一位乘的设计_第1页
补码一位乘的设计_第2页
补码一位乘的设计_第3页
补码一位乘的设计_第4页
补码一位乘的设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业沈阳航空工业学院课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:补码一位乘的设计院(系):计算机学院专 业:计算机科学与技术班 级:学 号:姓 名:张博为指导教师:李平完成日期:2006年12月31日目 录 TOC o 1-3 h z 第1章 总体设计方案1.1 设计原理 补码一位乘有多种算法,其中以Booth算法最具有代表性和针对性。Booth算法对乘数从低位开始判断,它采用相加和相减的操作计算补码数据的乘积。根据两个数据位的情况决定进行加法、

2、减法还是仅仅移位操作。判断的两个数据位为当前位及其右边的位(初始时需要增加一个辅助位0),移位操作是向右移动。在例中,第一次判断被乘数0110中的最低位0以及右边的位(辅助位0),得00;所以只进行移位操作;第二次判断0110中的低两位,得10,所以作减法操作并移位,这个减法操作相当于减去2a的值;第三次判断被乘数的中间两位,得11,于是只作移位操作;第四次判断0110中的最高两位,得01,于是作加法操作和移位,这个加法相当于加上8a的值,因为a的值已经左移了三次。 如图所示。根据最低两个数据位是01还是10来决定加被数还是减被乘数。初始时需要在最右边加一个辅助位0。例:用Booth算法计算2

3、(-3) 解:R2=2补 = 0010 , R1=-3补 = 1101 乘法开始前,R2 = 0010,R0 = 0000,R1=1101,辅助位P=0。 1、R1的最低位和辅助位P为10,所以进入步骤1c,将R0的值减去R2的值,结果1110送入R0,然后进入第2步,将R0和R1右移一位,结果为1111 0110,辅助 2、R1的最低位和辅助位P为01,所以进入步骤1b,将R0的值加上R2的值,即1111+0010,结果0001送入R0,然后进入第2步,将R0和R1右移一位,结果为0000 1011,辅助位为0。 3、判断位为10,进入步骤1c,R0减去R2,结果1110送入R0,然后进入第

4、2步,将R0和R1右移一位,结果为1111 0101,辅助位为1。 4、判断位为11,进入步骤1a,将R0和R1右移一位,结果为1111 1010,辅助位为1。即运算结果的原码为,其真值为-6。 设计思路设计的思想仍然是,先将任意两个补码X补、Y补看作是一般的二进制数,仍按原码运算规则求得X补Y补,然后对其结果加以校正,而获得XY补之值。当乘数Y为正时,与原码乘法相似,只是在部分积相加、右移操作时, 按补码性质进行;当乘数为负时,先不考虑乘数的符号,将乘数补码的数值部分与被乘数相乘;最后进行校正操作,即加上-X补。 设Y补 = Ys .Y1Y2Yn ,我们用一个公式表示补码校正法的算法规则:

5、XY补 = X补(0.Y1Y2Yn) + -X补Ys 当Ys=0时, XY补 = X补(0.Y1Y2Yn) 当Ys=1时, XY补 = X补(0.Y1Y2Yn) + -X补例:设X 补=0,1101,Y 补=1,0101,求XY 补解:用补码一位乘法,过程如下:补码部分积 补码乘数 操作说明 符号位 数值部分 数值部分 0 0 0 0 0 00 1 0 1 Z0=0,y0=1+ 0 0 1 1 0 1 Z0+X 补Z1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 1 0 1/2Z1,y1=0,Z1+0Z2 0 0 0 0 1 1 0 1 0 1 1/2Z2,y2=1+ 0 0 1

6、1 0 1 Z2+X 补Z3 0 1 0 0 0 0 0 0 1 0 0 00 0 1 0 1/2Z3,y3=0,不加, Z3Z4 0 0 0 1 0 00 0 0 1 1/2Z4,ys=1,校正+ 1 1 0 0 1 1 Z4+-X 补,得XY 补 1 1 0 1 1 1 0 0 0 1故XY 补=1,,即XY=-设计原理如图1.1所示: 图1.1 设计原理图1.3 设计环境(1)硬件环境XCV200实验板在COP2000 实验仪中的FPGA 实验板主要用于设计性实验和课程设计实验,它的核心器件是20 万门XCV200 的FPGA 芯片。用FPGA 实验板可设计8 位16 位和32 位模型机

7、。XCV200 相应管脚已经连接好配合FPGA 实验板的PC 调试软件可方便地进行各种实验。U3 IDT71V016SA 是64Kx16 位存储器能保存大容量的程序。C0-C5 D0-D5 是12 个7 段数码管用于显示模型机内部的寄存器总线数值,在设计时可将需要观察的内部寄存器总线等值接到这些7 段管上直观地观察模型机运行时内部状态变化。A0-A7、B0-B7 是16 个LED 发光二极管用于显示模型机内部的状态例如进位标志零标志中断申请标志等等。K0(0-7)-K4(0-7)是四十个开关用于输入外部信号,例如在做单步实验时这些开关可用来输入地址总线值数据总线值控制信号等。T6B595 是7

8、 段数码管的驱动芯片,74HC1649是串转并芯片用于接16 个LED。(2)EDA环境Xilinx foundation f3.1设计软件Xilinx foundation f3.1是Xilinx公司的可编程期间开发工具,该平台功能强大,主要用于百万逻辑门设计。该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成。设计入口工具包括原理图编辑器、有限状态机编辑器、硬件描述语言(HDL)编辑器、LogiBLOX模块生成器、Xilinx内核生成器等软件。气功能是:接收各种图形或文字的设计输入,并最终生成网络表文件。设计实现工具包括流程引擎、限制编辑器、基片规划器、FPGA编辑器、FPGA写

9、入器等软件。设计实现工具用于将网络表转化为配置比特流,并下载到器件。时设计验证工具包括功能和时序仿真器、静态时序分析器等,可用来对设计中的逻辑关系及输出结果进行检验,并详尽分析各个时序限制的满足情况。COP2000仿真软件COP2000 集成开发环境是为COP2000 实验仪与PC 机相连进行高层次实验的配套软件,它通过实验仪的串行接口和PC 机的串行接口相连,提供汇编、反汇编、编辑、修改指令、文件传送、调试FPGA 实验等功能,该软件在Windows 下运行。第2章 详细设计方案2.1 顶层方案图的设计与实现顶层方案图实现一位全加器的逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV2

10、00可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。2.1.1创建顶层图形设计文件顶层图形文件主要由一个三个输入,一个输出,三路选择器S0,S1,控制选择a,b,c,Q输出的是S0,S1所选择的a或b或c,可利用Xilinx foundation f3.1模块实现顶层图形文件的设计,顶层图形文件结构如图2.1所示。 图2.1 补码一位乘法器顶层图形文件结构2.1.2器件的选择与引脚锁定(1)器件的选择由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为Xlinx XCV200可编程

11、逻辑芯片。(2)引脚锁定把顶层图形文件中的输入/输出信号安排到Xlinx XCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及Xlinx XCV200芯片引脚对应关系如表2.1所示。表2.1 信号和芯片引脚对应关系一位乘法器内部信号图形文件中的输入/输出信号XCV200芯片引脚AA094,095,096,097,100,101,102,103BB079,030,081,082,084,085,086,087CC215,216,217,218,220,221,222,223CLRCLR157CECE1712.2 功能模块的设计与实现一个三路选择器是以五输入一输出模块为基础而实现的,设计时

12、这个模块用Verilog设计输入方式实现。2.2.1译码器模块的设计与实现三输入分别用a、b、c表示,输出用q表示,形成的Verilog程序用ORM2.Verilog表示,其设计过程如下。(1)创建译码器Verilog源文件module Untitled (a, b, c, s0, s1, q) ; input 7:0 a ;wire 7:0 a ; input 7:0 b ;wire 7:0 b ; input 7:0 c ;wire 7:0 c ; input s0 ; input s1 ; wire s0,s1; output 7:0 q ; reg 7:0 q ; always (s0

13、 or s1 or a or b or c) begin if(s0=1b0&s1=1b0) q7:0=a7:0; else if(s0=1b0&s1=1b1) q7:0=b7:0; else if(s0=1b1&s1=1b0) q7:0=c7:0; else q7:0=a7:0; endendmodule (2)创建元件图形符号为了能在图形编辑器(原理图设计输入方式)中调用此五输入选择器,需要为ORM2创建一个元件图形符号,可用Foundaton Series3.LI编译器来实现仿真功能。2.3 仿真调试仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路

14、进行仿真。(1)建立仿真波形文件及仿真信号选择功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如表2.2所示。表2.2 仿真信号选择和参数设置输 入 信 号输 出 信 号yn yn+1+x-x+00 00010 11001 00101 1001(2)功能仿真结果与分析功能仿真波形结果如图2.2所示,仿真数据结果如表2.3所示。对表2.3与表1.1的内容进行对比,可以看出功能仿真结果是正确的,进而说明电路设计的正确性。图2.2 功能仿真波形结果 表2.3 仿真数据结果输 入 信 号输 出 信 号yn yn+1+x-x+00 00010 1100

15、1 00101 1001第3章 编程下载与硬件测试3.1 编程下载利用Foundaton Series3.LI的编程下载功能,将得到的*.bit文件下载到XCV200实验板的XCV200可编程逻辑芯片中。3.2 硬件测试及结果分析利用XCV200实验板进行硬件功能测试。一位全加器的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED指示灯实现,其对应关系如表3.1所示。 表3.1 XCV200实验板信号对应关系XCV200芯片引脚信号XCV200实验板S0 K1S1K2q LED1利用表2.2中的输入参数作为输入数据,逐个测试输出结果,即用XCV200实验板的开

16、关K1、K2、K3输入数据,同时观察LED1和LED2的输出,得到如表3.2所示的硬件测试结果。表3.2 硬件测试结果输 入 信 号输 出 信 号K1 K2LED1CC58DC 02 18 36 01 86 86 81 86 06对表3.2与表1.1的内容进行对比,可以看出硬件测试结果是正确的,说明电路设计完全正确。参考文献1 曹昕燕. EDA技术实验与课程设计M.北京:清华大学出版社,20062 范延滨.微型计算机系统原理、接口与EDA设计技术M.北京:北京邮电大学 出版社,20063 王爱英.计算机组成与结构(第4版)M.北京:清华大学出版社,20064 廖裕评. 陆瑞强.CPLD数字电路

17、设计-使用MAX+PLUSM.北京:清华大学 出版社,2001.217-2215 侯伯亨. 顾新.VHDL硬件描述语言与数字逻辑电路设计M.西安:西安电子科技大学出版社,1998.5-9.6 姜雪松.可编程逻辑器件和EAD设计技术 M.北京:机械工业出版社,20057 柳春风.电子设计自动化(EAD)教程M.北京:北京理工大学大学出版社,20058John F Wakerly.DIGIAL DESIGN Principles & Practices (Third Edition)M.北京:高等教育出版社,2001.446-5439廖裕评,陆瑞强.CPLD数字电路设计-使用MAX+PLUSM.北京:清华大学出版社,2001.217-221.附 录(电路原理图) 课程设计总结:主要从以下几方面总结:在设计过程中出现了自己设计一个器件的问题,自己对这方面的操作比较薄弱。所以说遇到了很多困难,不知道应该从哪方面下手,但是通过老师的细心讲解 ,和向同学的请教,上图书馆查了一些资料,知道了大致的方向,在自己的多次重复实验中,终于掌握了这方面的内容,

温馨提示

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

评论

0/150

提交评论