沈阳航空工业学院课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:补码一位乘的设计院(系):计算机学院专业:计算机科学与技术班级:4401102学号:20043011064姓名:张博为指导教师:李平完成日期:2006年12月31日沈阳航空工业学院课程设计报告第3章编程下载与硬件测试-I-目录第1章总体设计方案..................................................................................................21.1设计原理..............................................................................................................21.2设计思路..............................................................................................................31.3设计环境..............................................................................................................5第2章详细设计方案..................................................................................................52.1顶层方案图的设计与实现..................................................................................62.1.1创建顶层图形设计文件..................................................................................62.1.2器件的选择与引脚锁定..................................................................................82.2功能模块的设计与实现......................................................................................92.2.1两输入或门模块的设计与实现......................................................................92.2.2半加器模块的设计与实现.............................................................................92.3仿真调试............................................................................................................10第3章编程下载与硬件测试.....................................................................................113.1编程下载............................................................................................................133.2硬件测试及结果分析........................................................................................13参考文献........................................................................................................................14附录(程序清单或电路原理图)..........................................................................15沈阳航空工业学院课程设计报告第3章编程下载与硬件测试-2-第1章总体设计方案1.1设计原理补码一位乘有多种算法,其中以Booth算法最具有代表性和针对性。Booth算法对乘数从低位开始判断,它采用相加和相减的操作计算补码数据的乘积。根据两个数据位的情况决定进行加法、减法还是仅仅移位操作。判断的两个数据位为当前位及其右边的位(初始时需要增加一个辅助位0),移位操作是向右移动。在例中,第一次判断被乘数0110中的最低位0以及右边的位(辅助位0),得00;所以只进行移位操作;第二次判断0110中的低两位,得10,所以作减法操作并移位,这个减法操作相当于减去2a的值;第三次判断被乘数的中间两位,得11,于是只作移位操作;第四次判断0110中的最高两位,得01,于是作加法操作和移位,这个加法相当于加上8a的值,因为a的值已经左移了三次。如图所示。根据最低两个数据位是01还是10来决定加被数还是减被乘数。初始时需要在最右边加一个辅助位0。例:用Booth算法计算2×(-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右移一位,结果为11110110,辅助2、R1的最低位和辅助位P为01,所以进入步骤1b,将R0的值加上R2的值,即1111+0010,结果0001送入R0,然后进入第2步,将R0和R1右移一位,结果为00001011,辅助位为0。3、判断位为10,进入步骤1c,R0减去R2,结果1110送入R0,然后进入第2步,将R0和R1右移一位,结果为11110101,辅助位为1。4、判断位为11,进入步骤1a,将R0和R1右移一位,结果为11111010,辅助位为1。即运算结果的原码为10000110,其真值为-6。沈阳航空工业学院课程设计报告第3章编程下载与硬件测试-3-开始判定S0S1=?1b.R0+R2-R01c.R0-R2-R0乘积寄存器右移一位第八次循环?完成0100,111a10NY1.2设计思路设计的思想仍然是,先将任意两个补码[X]补、[Y]补看作是一般的二进制数,仍按原码运算规则求得[X]补·[Y]补,然后对其结果加以校正,而获得[X·Y]补之值。当乘数Y为正时,与原码乘法相似,只是在部分积相加、右移操作时,按补码性质进行;当乘数为负时,先不考虑乘数的符号,将乘数补码的数值部分与被乘数相乘;最后进行校正操作,即加上[-X]补。设[Y]补=Ys.Y1Y2…Yn,我们用一个公式表示补码校正法的算法规则:[X·Y]补=[X]补·(0.Y1Y2…Yn)+[-X]补·Ys当Ys=0时,[X·Y]补=[X]补·(0.Y1Y2…Yn)当Ys=1时,[X·Y]补=[X]补·(0.Y1Y2…Yn)+[-X]补例:设[X]补=0,1101,[Y]补=1,0101,求[XY]补解:用补码一位乘法,过程如下:补码部分积补码乘数操作说明沈阳航空工业学院课程设计报告第3章编程下载与硬件测试-4-符号位数值部分数值部分0000000101Z0=0,y0=1+001101Z0+[X]补→Z100110100011010101/2Z1,y1=0,Z1+0→Z200001101011/2Z2,y2=1+001101Z2+[X]补→Z301000000100000101/2Z3,y3=0,不加,Z3→Z400010000011/2Z4,ys=1,校正+110011Z4+[-X]补,得[XY]补1101110001故[XY]补=1,01110001,即XY=-10001111设计原理如图1.1所示:图1.1设计原理图沈阳航空工业学院课程设计报告第3章编程下载与硬件测试-5-1.3设计环境(1)硬件环境·XCV200实验板在COP2000实验仪中的FPGA实验板主要用于设计性实验和课程设计实验,它的核心器件是20万门XCV200的FPGA芯片。用FPGA实验板可设计8位16位和32位模型机。XCV200相应管脚已经连接好配合FPGA实验板的PC调试软件可方便地进行各种实验。U3IDT71V016SA是64Kx16位存储器能保存大容量的程序。C0-C5D0-D5是12个7段数码管用于显示模型机内部的寄存器总线数值,在设计时可将需要观察的内部寄存器总线等值接到这些7段管上直观地观察模型机运行时内部状态变化。A0-A7、B0-B7是16个LED发光二极管用于显示模型机内部的状态例如进位标志零标志中断申请标志等等。K0(0-7)-K4(0-7)是四十个开关用于输入外部信号,例如在做单步实验时这些开关可用来输入地址总线值数据总线值控制信号等。T6B595是7段数码管的驱动芯片,74HC1649是串转并芯片用于接16个LED。(2)EDA环境•Xilinxfoundationf3.1设计软件Xilinxfoundationf3.1是Xilinx公司的可编程期间开发工具,该平台功能强大,主要用于百万逻辑门设计。该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成。设计入口工具包括原理图编辑器、有限状态机编辑器、硬件描述语言(HDL)编辑器、LogiBLOX模块生成器、Xilinx内核生成器等软件。气功能是:接收各种图形或文字的设计输入,并最终生成网络表文件。设计实现工具包括流程引擎、限制编辑器、基片规划器、FPGA编辑器、FPGA写入器等软件。设计实现工具用于将网络表转化为配置比特流,并下载到器件。时设计验证工具包括功能和时序仿真器、静态时序分析器等,可用来对设计中的逻辑关系及输出结果进行检验,并详尽分析各个时序限制的满足情况。沈阳航空工业学院课程设计报告第3章编程下载与硬件测试-6-•COP2000仿真软件COP2000集成开发环境是为COP2000实验仪与PC机相连进行高层次实验的配套软件,它通过实验仪的串行接口和PC机的串行接口相连,提供汇编、反汇编、编辑、修改指令、文件传送、调试FPGA实验等功能,该软件在Windows下运行。第2章详细设计方案2.1顶层方案图的设计与实现顶层方案图实现一位全加器的逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。2.1.1创建顶层图形设计文件顶层图形文件主要由一个三个输入,一个输出,三路选择器S0,S1,控制选择a,b,c,Q输出的是S0,S1所选择的a或b或c,可利用Xilinxfoundationf3.1模块实现顶层图形文件的设计,顶层图形文件结构如图2.1所示。沈阳航空工业学院课程设计报告第3章编程下载与硬件测试-7-图2.1补码一位乘法器顶层图形文件结构沈阳航空工业学院课程设计报告第3章编程下载与硬件测试-8-2.1.2器件的选择与引脚锁定(1)器件的选择由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为XlinxXCV200可编程逻辑芯片。(2)引脚锁定把顶层图形文件中的输入/输出信号安排到XlinxXCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及XlinxXCV200芯片引