定点补码一位乘法器的设计与实现.doc

上传人:M****1 文档编号:563083404 上传时间:2023-10-30 格式:DOC 页数:21 大小:389.50KB
返回 下载 相关 举报
定点补码一位乘法器的设计与实现.doc_第1页
第1页 / 共21页
定点补码一位乘法器的设计与实现.doc_第2页
第2页 / 共21页
定点补码一位乘法器的设计与实现.doc_第3页
第3页 / 共21页
定点补码一位乘法器的设计与实现.doc_第4页
第4页 / 共21页
定点补码一位乘法器的设计与实现.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《定点补码一位乘法器的设计与实现.doc》由会员分享,可在线阅读,更多相关《定点补码一位乘法器的设计与实现.doc(21页珍藏版)》请在金锄头文库上搜索。

1、课 程 设 计 报 告 课程设计名称:计算机组成原理课程设计 课程设计题目:定点补码一位乘法器的设计与实现院(系):计算机学院专 业:计算机科学与技术班 级:学 号:姓 名: 指导教师:完成日期:2012年1月13日沈阳航空航天大学课程设计报告 目 录第1章 总体设计方案11.1 设计原理11.2 设计思路11.3 设计环境2第2章 详细设计方案32.1 顶层方案图的设计与实现32.1.1创建顶层图形设计文件32.1.2器件的选择与引脚锁定42.1.3编译、综合、适配52.2 功能模块的设计与实现52.2.1 取补模块的设计与实现52.2.2选择器模块的设计与实现72.2.3 乘数补码移位寄存

2、器模块的设计与实现112.2.4 部分积移位寄存器模块的设计与实现132.3 仿真调试14第3章 编程下载与硬件测试16参考文献17附 录(电路原理图)18-19-沈阳航空航天大学课程设计报告 第1章 总体设计方案1.1 设计原理 在计算两个补码相乘时,可以通过Booth算法来实现定点补码一位乘的功能。布斯(Booth)算法采用相加和相减的操作计算补码数据的乘积,Booth算法对乘数从低位开始判断,根据后两个数据位的情况决定进行加法、减法还是仅仅进行移位操作。讨论当相乘的两个数中有一个或二个为负数的情况,在讨论补码乘法运算时,对被乘数或部分积的处理上与原码乘法有某些类似,差别仅表现在被乘数和部

3、分积的符号位要和数值一起参加运算。Booth乘法规则如下:假设X、Y都是用补码形式表示的机器数,X补和Y补=Ys.Y1Y2Yn,都是任意符号表示的数。比较法求新的部分积,取决于两个比较位的数位,即Yi+1Yi的状态。首先设置附加位Yn+1=0,部分积初值Z0补=0。当n0时,判断YnYn+1,若YnYn+1=00或11,即相邻位相同时,上次部分积右移一位,直接得部分积。若YnYn+1=01,上次部分积加X补,然后右移一位得新部分积。若YnYn+1=10,上次部分积加-X补,然后右移一位得新部分积。当n=0时,判YnYn+1(对应于Y0Y1),运算规则同(1)只是不移位。即在运算的最后一步,乘积

4、不再右移。1.2 设计思路 首先要采用原码值输入,乘数和被乘数皆为8位。而且根据补码一位乘法运算规则:(1) 如果 yn = yn+1,部分积 zi 加0,再右移一位;(2) 如果 yn yn+1 = 01,部分积加 x 补,再右移一位;(3) 如果 yn yn+1 = 10,部分积加 - x补,再右移一位;这样重复进行 n+1 步,但最后一步不移位。包括一位符号位,所得乘积为 2n+1 位,其中 n 为尾数位数。 设计一个二输入三选一选择器对可能的三种情况进行选择。当选择器中输入为Yi Yi+1为00或者11时,由一寄存器一端接GND,另一端对其进行零输入;当选择器中输入为Yi Yi+1为0

5、1时,对其进行X补输入;当选择器中输入为Yi Yi+1为10时,对X补输入端加一非门和一加法器对其进行取反加1输入。输出结果与一个一端接GND初始置零的寄存器相连接于一个加法器,实现部分积加法运算;计算结果存放于两个相同的移位寄存器中,当部分积相加之后,由两个移位寄存器同时对部分积的和进行移位操作。最后由两个移位寄存器的输出端连接至选择器重新选择进行循环操作,直到部分积移位结束。定点补码一位乘法器的设计总框图如图1.1所示。图1.1 定点补码一位乘法器的设计总框图1.3 设计环境硬件环境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机;EDA环境:Xilinx founda

6、tion f3.1设计软件、COP2000仿真软件。第2章 详细设计方案2.1 顶层方案图的设计与实现顶层方案图是用来实现补码一位乘法器乘数与被乘数的输入和取补,以及结果的寄存和输出、二输入三输出选择器和运算控制电路、移位电路等逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。在完成原理图的功能设计后,把输入以及输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。2.1.1创建顶层图形设计文件顶层图形文件的设计实体主要由取补电路(封装为QUBU),二输入三输出选择器(基于D2-4E的改装),乘数移位寄存器(封装为U11),部分积移位寄存器(基于FD实现),

7、加法器(基于ADD8的改装),等模块组装而成的一个完整的可编程逻辑芯片U30。顶层图形文件结构如图2.1所示: 图2.1 顶层图形文件结构图 2.1.2器件的选择与引脚锁定(1)器件的选择由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为Xilinx XCV200可编程逻辑芯片。(2)引脚锁定把顶层图形文件中的所有输入、输出信号对应到Xilinx XCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及Xilinx XCV200芯片引脚对应关系如表2.1所示:表2.1 信号和芯片引脚对应关系图形文件中的输入/输出信号XCV200芯片引脚信

8、号GRDP50ZCLOCKP213FJWP47CLRP49VCCP48S1P80S2P81S3P82S4P84S5P85S6P86S7P87Y1P95Y2P96Y3P97Y4P100Y5P101Y6P102Y7P103E0P63E1P73E2P72E3P71E4P70E5P66E6P65E7P642.1.3编译、综合、适配利用Xilinx foundation f3.1的原理图编辑器对顶层图形文件进行编译,并最终生成网络表文件,利用设计实现工具经综合、优化、适配,生成可供时序仿真的文件和器件下载编程文件。2.2 功能模块的设计与实现功能模块主要由取补电路,二输入三输出选择器,移位寄存器,部分积

9、移位寄存器等模块组成,由Xilinx XCV200可编程逻辑芯片分别实现。2.2.1 取补模块的设计与实现进行求补的方法就是从数的最右端开始,由右向左,直到找出第一个“1”,例如,。则以左的每一个输入位都求反,即1变0,0变1。最右端的起始链式输入必须永远置成“0”。当控制信号线为“1”时,启动对2求补的操作;当控制信号线为“0”时,输出将和输入相等。可以利用符号位来作为控制信号。(1) 创建求乘数补码电路模块设计原理图乘数求补电路原理结构如图2.1所示:图2.1 乘数求补电路原理结构图(2) 创建元件图形符号 其元件图形符号如图2.2所示:图2.2 求补电路模块元件图形符号(3)功能仿真对创

10、建的取补模块进行功能仿真,验证其功能的正确性,可用Xilinx foundation f3.1编译器的Simulator模块实现。仿真结果如图2.3所示:图2.3 取补电路模块仿真结果2.2.2选择器模块的设计与实现选择器主要由一个D2-4E芯片和逻辑门电路控制选择输出。输入端输入的值分别为,以及“00000000”(八个输入端为一组)。D2-4E芯片的和端的“0”和“1”控制,当为01时,输出为高电平,即为输出值为1,通过逻辑门电路实现输出为的值;当为10时,输出为为 高电平,即为输出值为1,通过逻辑门电路实现输出为的值;当为00时,输出为为 高电平,即为输出值为1,同时当为11时,输出为为

11、 高电平,即为输出值为1,由于此时和输出值为相同,故此两条数据线通过一个或门输出一条数据线,此时输出值为“00000000”。正好实现三输入一输出的选择器模块。(1) 创建选择器设计原理图三输入一输出选择器原理结构如图2.4所示:图2.4 选择器原理框图 (2) 创建元件图形符号 其元件图形符号如图2.5所示 图2.5 选择器元件图形符号(3)功能仿真对创建的三输入一输出器模块进行功能仿真,验证其功能的正确性,可用Xilinx foundation f3.1编译器的Simulator模块实现。仿真结果如图2.6所示: 图2.6 选择模块仿真结果图2.2.3 乘数补码移位寄存器模块的设计与实现乘

12、数补码移位寄存器模块由八个二选一选择器(MUXCY),9个寄存器(FD)组成,端输入的是1个低电平信号其余都为高电平信号。MUXCY选择器由控制信号端,输入端和,以及输出端组成,当端为低电平信号时,选择输出值,当端为高电平信号时,选择输出值。每次的输出信号寄存到FD中,MUXCY输出端连接下一位的寄存器,这样就实现了移位寄存的功能。移位的和两个输出端恰好为和的两个值,和的两个值要分别接到选择器的和端。(1) 创建乘数补码移位寄存器模块设计原理图。 乘数补码移位寄存器原理结构如图2.7所示:图2.7 乘数补码移位寄存器原理结构图(2)创建元件图形符号其元件图形符号如图2.8所示: 图2.8 乘数

13、补码移位寄存器电路模块元件图形符号(3)功能仿真对创建的乘数补码移位寄存器模块进行功能仿真,验证其功能的正确性,可用Xilinx foundation f3.1编译器的Simulator模块实现。仿真结果如图2.9所示:图2.9 乘数补码移位寄存器模块仿真结果2.2.4 部分积移位寄存器模块的设计与实现部分积移位寄存器模块是由一个8位寄存器(FD8CE)和四个逻辑门电路组成,实现部分积移位寄存功能。由于部分积的初始值为“00000000”,这样就要求FD8CE寄存器的初始值为“00000000”,只需要给清零端一个高电平的信号即可实现。进行部分积移位时,要求移位过程中保证符号位相同,这样就需要

14、把第一位符号位复制为两个数,而其余的6位相继向下串一位,这样就实现了移位功能,同时还保证的符号位相同。(1)部分积移位寄存器设计原理图。 部分积移位寄存器原理结构如图2.10所示:图2.10 部分积移位寄存器原理图(2)功能仿真对创建的寄存器模块进行功能仿真,验证其功能的正确性,可用Xilinx foundation f3.1编译器的Simulator模块实现。仿真结果如图2.11所示:图2.11 部分积移位寄存器仿真结果2.3 仿真调试仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。通过多组数据进行仿真测试,分别对两个正数相乘,一个正数与一个负数相乘,两个负数相乘结果进行检验。(1)建立仿真波形文件及仿真信号选择功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定仿真信号和设置参数。(2)功能仿真结果与分析仿真结果分别如图2.12、所示。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号