您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 定点原码一位乘法器的设计
沈阳航空工业学院课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码一位乘法器的设计院(系):计算机学院专业:计算机科学与技术班级:6401101学号:200604011031姓名:闫培峰指导教师:周大海完成日期:2009年1月9日沈阳航空工业学院课程设计报告-I-目录第1章总体设计方案..................................................................................................11.1设计原理..............................................................................................................11.2设计环境..............................................................................................................2第2章详细设计方案..................................................................................................32.1整体模块设计图..................................................................................................32.2具体模块的设计与实现....................................................................................42.2.1被乘数模块的设计与实现.............................................................................42.2.2乘数寄存器模块的设计与实现......................................................................62.2.3部分积模块的设计与实现..............................................................................82.2.4控制器模块的设计与实现...........................................................................102.2.5加法器及其他模块的设计与实现...............................................................132.3总电路仿真测试................................................................................................15第3章编程下载与硬件测试....................................................................................183.1编程及下载........................................................................................................18参考文献........................................................................................................................19附录(电路图)......................................................................................................20沈阳航空工业学院课程设计报告第1章总体设计方案-1-第1章总体设计方案1.1设计原理原码一位乘,两个原码数相乘,其乘积的符号为相乘两数符号的异或值,数值则为两数绝对值之积。例:X=0.1100,Y=0.1110,计算乘积X*Y。0.1100*0.111000001100110011000.10101000在计算时,逐次按乘数每1位上的值是1还是0,决定相加数取被乘数的值还是取零值,而且相加数逐次向左偏移1位,最后一起求积。由于在计算机内多个数据一般不能同时相加,一次加法操作只能求出两数之和,因此每求得一个相加数,就与上次部分积相加每次计算时,相加数逐次向左偏移一位,由于最后的乘积位数是乘数(被乘数)的两倍,因此加法器也需增到两倍。部分积右移时,乘数寄存器同时右移一位,所以用乘数寄存器的最低位来控制相加数取被乘数或零,同时乘数寄存器接收部分积右移出来的一位,完成运算后,部分积寄存器保存乘积的高位部分,乘数寄存器中保存乘积的低位部分。根据人工算法可以知道,原码一位乘法的整体设计应包括乘数寄存器,被乘数寄存器,移位电路,控制器,部分积五大模块,包含一个输入、输出、控制器模块,并作为顶层设计,以上五大模块作为底层设计,采用硬件器件设计实现。因此,可以得出以下原理框图设计如图1.1所示:沈阳航空工业学院课程设计报告第1章总体设计方案-2-图1.1原码一位乘的逻辑电路框图如上逻辑框图1.1中所示,其中B为被乘数寄存器,用来存放被乘数,C为乘数寄存器,用来存放乘数并且移位,A为部分积寄存器,存放每次相加并移位后的数据,ALU加法器实现加法操作,移位电路用来对相加后的数据作移位处理,计数器控制移位次数和输出结果。1.2设计环境·硬件环境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机;·EDA环境:Foundationf3.1设计软件。该设计由设计入口工具,设计实现工具,验证工具三大部分组成.入口工具包括原理图设计,有限状态编辑器,硬件描述语言编辑器等。沈阳航空工业学院课程设计报告第2章详细设计方案-3-第2章详细设计方案2.1整体模块设计图按照课设题目要求及逻辑电路图,先设计出电路的具体模块图,如下图所示,共有五大模块。1加法器:题目要求是4位数据位,再加上2个符号位共6位,所以要求本加法器能实现对6位二进制数相加;2部分积:按照原码一位乘原理,部分积要求是具有并行输入输出和串行输入输出及其带有异步清零端的移位寄存器;3被乘数:是用来存放被乘数的寄存器,不需要移位功能,用普通的寄存器即可;4乘数:应和部分积模块有基本一样的功能,有并行输入输出和串行输入输出功能;5控制器:实现电路的自动停止功能,可用计数器来完成,当经过4个脉冲后,计数器进位输出为1,然后将进位和总的CLK进行或运算来实现消除脉冲,进而实现电路停止工作。图2.0整体模块图设计图加法器部分积(移位寄存器)&与门被乘数乘数(移位寄存器)最低位4个脉冲后停止控制器(计数器)沈阳航空工业学院课程设计报告第2章详细设计方案-4-2.2具体模块的设计与实现整体设计主要由乘数寄存器,被乘数寄存器,控制器,部分积寄存器和加法器五大模块,其中被乘数和部分积寄存器是移位寄存器,除了以上五大模块以外,还有符号转化芯片以及符号运算部分,以下介绍各个模块的具体设计方案与实现。2.2.1被乘数模块的设计与实现从乘法设计的原理图可以看出被乘数并不需要移位功能,所以只需具用普通的寄存器的功能即可,选用上升沿的D触发器,在第一个上升沿将数据打入,并不在变化。(1)被乘数芯片外观及内部电路图图2.1被乘数寄存器芯片外观显然用6个D触发器就可实现,每个触发器的CLK并联接在一起,输入端作为数据输入端,输入数据后会第一个上升沿到时把数据打入,因为被乘数的每一位要和乘数的最低一位进行与运算,所以可以在电路中加入6个与门其中每个与门的一端与被乘数的输出端相连,另一端接在一起并引出,作为和乘数最低位的连接端,其中寄存器部分具体实现如下:沈阳航空工业学院课程设计报告第2章详细设计方案-5-图2.2被乘数寄存器电路图(2)功能仿真图2.3被乘数寄存器芯片内部电路图沈阳航空工业学院课程设计报告第2章详细设计方案-6-从以上波形中可看出,输入数据为100111,当第一个上升沿到达时,数据被打入,并且不随以后的波形而改变,所以该器件设计成功。2.2.2乘数寄存器模块的设计与实现本乘数寄存器是在普通移位寄存器的基础上改造而来的,即在基本寄存器上面加入了用并行输入和串行输入的片选端S,当S=1时并行输入,并屏蔽串行移位功能,S=0时串行移位,并屏蔽并行输入功能,D5-D0为数据输入端,Q5-Q0为数据输出端,A0为串行输入端,来接受部分积低位移出的数据。(1)乘数芯片外观及内部电路图图2.4乘数寄存器芯片外观按照整体模块设计时的思想,乘数寄存器具有并行输入输出和串行输入输出功能,我们可在被乘数寄存器上面加一部分电路来实现,它同样由六位D触发器组成,每个触发器的输入端不是直接接在数据输入端上,而是通过片选电路接入,同时每个D触发器的输出端也是通过片选电路接到下一个触发器的输入端,这样就可以通过片选段S的不同(0或1)来选择具体的操作,具体电路图如下:沈阳航空工业学院课程设计报告第2章详细设计方案-7-图2.5乘数寄存器芯片内部电路图(2)功能仿真功能仿真波形如下:图2.6乘数寄存器测试波形仿真沈阳航空工业学院课程设计报告第2章详细设计方案-8-从以上波形中数据可以看出,输入数据为101100该器件清零,当第一个上升沿到来时S=1,数据被打入,当第二个上升沿到来时S=0,A0始终为1,此时产生移位。所以该器件设计成功。2.2.3部分积模块的设计与实现部分积的设计是乘法电路中比较重要的一块,它和乘数的功能基本一样,只是在D触发器的选择上稍有不同,部分积寄存器选用的是有异步清零端CLR的D触发器,并且为高电平清零,其余端和乘数一样,S=1:并行输入,S=0:右移。(1)部分积芯片外观及内部电路图图2.7部分积寄存器芯片外观通过和乘数寄存器比较可以发现,两者的不同点就是在D触发器的选择上,部分积是用具有异步清零的D触发器(高电平有效),并将其清零端CLR作为一个输入端。A为能起到保存最低一位数据功能的D触发器,防止乘数脉冲和部分积脉冲上升沿到来存在的时间差而引起的不能移入的情况,此D触发器的输出端接入乘数的高位串行输入端,并实现移位,又因为部分积不需要串行输入数据,所以沈阳航空工业学院课程设计报告第2章详细设计方案-9-串行输入端接地,具体电路实现如下图:图2.8部分积寄存器电路图(2)功能仿真图2.9部分积寄存器波形仿真从波形可以看出输入数据为110010,CLR在前两个上升沿为高电平,起清零作用,所以输出端均为0,到第三个上升沿到时CLR已是低电平,S=1,数据被打入,此后S=0,电路实现移位,所以此电路设计成功。沈阳航空工业学院课程设计报告第2章详细设计方案-10-2.2.4控制器模块的设计与实现控制器由波形发生器和计数器组成,波形发生器实现用输入的CLK和S波形产生乘数寄存器S端其CLK波形,计数器实现当乘数寄存器到第五个上升沿到来时计数进位输出为1,并保持不变,其中其CLK和乘数S脉冲相同,将计数器的进位输出端CO和输入的CLK一同接入或门输出作为所有部件的CLK脉冲,当进位输出为1时,CO和CLK进行或运算,结果输出为1,即脉冲恒为1,电路停止工作,此时输出结果。(1)控制器芯片外观及内部电路图2.10总控制器芯片外观按照整体设计思路,需要输入两个脉冲:CLK和S,作为部分积的时钟信号和S片选端脉冲,同时也是被乘数的时钟脉冲,但乘数的时
本文标题:定点原码一位乘法器的设计
链接地址:https://www.777doc.com/doc-6189791 .html