定点原码一位乘法器的设计

上传人:奔*** 文档编号:64690381 上传时间:2022-03-22 格式:DOCX 页数:26 大小:1.13MB
收藏 版权申诉 举报 下载
定点原码一位乘法器的设计_第1页
第1页 / 共26页
定点原码一位乘法器的设计_第2页
第2页 / 共26页
定点原码一位乘法器的设计_第3页
第3页 / 共26页
资源描述:

《定点原码一位乘法器的设计》由会员分享,可在线阅读,更多相关《定点原码一位乘法器的设计(26页珍藏版)》请在装配图网上搜索。

1、沈阳航空工业学院课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码一位乘法器的设计院(系):计算机学院专业:计算机科学与技术班级:6401101学号:1031姓名:闫培峰指导教师:周大海完成日期:2009年1月9日第1章总体设计方案错误.!未定义书签。设计原理错误.!未定义书签。设计环境错误.!未定义书签。第2章详细设计方案错误.!未定义书签。整体模块设计图错误.!未定义书签。具体模块的设计与实现错误.!未定义书签。被乘数模块的设计与实现错误.!未定义书签。乘数寄存器模块的设计与实现错误.!未定义书签。部分积模块的设计与实现错误.!未定义书签。控制器模块的设计与实现错误.!

2、未定义书签。加法器及其他模块的设计与实现错误.!未定义书签。2.3总电路仿真测试错误.!未定义书签。第3章编程下载与硬件测试错误.!未定义书签。编程及下载错误.!未定义书签。参考文献错误.!未定义书签。附录(电路图)错误.!未定义书签。第1章总体设计方案设计原理原码一位乘,两个原码数相乘,其乘积的符号为相乘两数符号的异或值,数值则为两数绝对值之积。例:X=,Y=,计算乘积X*Y。*00001100110011000.在计算时,逐次按乘数每1位上的值是1还是0,决定相加数取被乘数的值还是取零值,而且相加数逐次向左偏移1位,最后一起求积。由于在计算机内多个数据一般不能同时相加,一次加法操作只能求出

3、两数之和,因此每求得一个相加数,就与上次部分积相加每次计算时,相加数逐次向左偏移一位,由于最后的乘积位数是乘数(被乘数)的两倍,因此加法器也需增到两倍。部分积右移时,乘数寄存器同时右移一位,所以用乘数寄存器的最低位来控制相加数取被乘数或零,同时乘数寄存器接收部分积右移出来的一位,完成运算后,部分积寄存器保存乘积的高位部分,乘数寄存器中保存乘积的低位部分。根据人工算法可以知道,原码一位乘法的整体设计应包括乘数寄存器,被乘数寄存器,移位电路,控制器,部分积五大模块,包含一个输入、输出、控制器模块,并作为顶层设计,以上五大模块作为底层设计,采用硬件器件设计实现。因此,可以得出以下原理框图设计如图所示

4、:移位电路图原码一位乘的逻辑电路框图如上逻辑框图中所示,其中B为被乘数寄存器,用来存放被乘数,C为乘数寄存器,用来存放乘数并且移位,A为部分积寄存器,存放每次相加并移位后的数据,ALU加法器实现加法操作,移位电路用来对相加后的数据作移位处理,计数器控制移位次数和输出结果。设计环境硬件环境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机;EDA环境:Foundation设计软件。该设计由设计入口工具,设计实现工具,验证工具三大部分组成.入口工具包括原理图设计,有限状态编辑器,硬件描述语言编辑器等。第2章详细设计方案整体模块设计图按照课设题目要求及逻辑电路图,先设计出电路的具体

5、模块图,如下图所示,共有五大模块。1加法器:题目要求是4位数据位,再加上2个符号位共6位,所以要求本加法器能实现对6位二进制数相加;2部分积:按照原码一位乘原理,部分积要求是具有并行输入输出和串行输入输出及其带有异步清零端的移位寄存器;3被乘数:是用来存放被乘数的寄存器,不需要移位功能,用普通的寄存器即可;4乘数:应和部分积模块有基本一样的功能,有并行输入输出和串行输入输出功能;5控制器:实现电路的自动停止功能,可用计数器来完成,当经过4个脉冲后,计数器进位输出为1,然后将进位和总的CLK进行或运算来实现消除脉冲,进而实现电路停止工作。图整体模块图设计图2.2具体模块的设计与实现整体设计主要由

6、乘数寄存器,被乘数寄存器,控制器,部分积寄存器和加法器五大模块,其中被乘数和部分积寄存器是移位寄存器,除了以上五大模块以外,还有符号转化芯片以及符号运算部分,以下介绍各个模块的具体设计方案与实现。被乘数模块的设计与实现从乘法设计的原理图可以看出被乘数并不需要移位功能,所以只需具用普通的寄存器的功能即可,选用上升沿的D触发器,在第一个上升沿将数据打入,并不在变化。(1)被乘数芯片外观及内部电路图U1000 Di DU -4 Dr-c i ODOL,r:r:D5or Cl,QJ.IJic:-JDAiD2j0一R也?dz-w呼.DoAND2CLK图被乘数寄存器芯片外观显然用6个D触发器就可实现,每个

7、触发器的CLK并联接在一起,输入端作为数据输入端,输入数据后会第一个上升沿到时把数据打入,因为被乘数的每一位要和乘数的最低一位进行与运算,所以可以在电路中加入6个与门其中每个与门的一端与被乘数的输出端相连,另一端接在一起并引出,作为和乘数最低位的连接端,其中寄存器部分具体实现如下:rxiFjIDQr-jrtaOU|_X,于IFDDQu*1_Z31irDDQj_j-UM|_/卢IFDDQs-口口IFDD座,LZ1夕srIFDr-jJ5I_口QJ_、口后LJdCLK匚IFD图被乘数寄存器电路图(2)功能仿真1U2.CLKiUZR.1U2.D0.1U2.D1.1U2.D2.1U2.D3.1U2.D4

8、.1U2.D6.口U2一Q口0U2.Q1OU2.Q2 U2.Q3.0U2.Q4. U2.Q5.图被乘数寄存器芯片内部电路图从以上波形中可看出,输入数据为100111,当第一个上升沿到达时,数据被打入,并且不随以后的波形而改变,所以该器件设计成功。乘数寄存器模块的设计与实现本乘数寄存器是在普通移位寄存器的基础上改造而来的,即在基本寄存器上面加入了用并行输入和串行输入的片选端S,当S=1时并行输入,并屏蔽串行移位功能,S=0时用行移位,并屏蔽并行输入功能,D5-D0为数据输入端,Q5-Q0为数据输出端,A0为串行输入端,来接受部分积低位移出的数据。(1)乘数芯片外观及内部电路图U31 DOQ0 D

9、1Q1 02Q2 D3Q3 D4Q4 D5Q5 S A0 CLKCHENGSHUX图乘数寄存器芯片外观按照整体模块设计时的思想,乘数寄存器具有并行输入输出和串行输入输出功能,我们可在被乘数寄存器上面加一部分电路来实现,它同样由六位D触发器组成,每个触发器的输入端不是直接接在数据输入端上,而是通过片选电路接入,同时每个D触发器的输出端也是通过片选电路接到下一个触发器的输入端,这样就可以通过片选段S的不同(0或1)来选择具体的操作,具体电路图如下:羯二ED-(2)功能仿真功能仿真波形如下:FT图 乘数寄存器芯片内部电路图i U4.CIK iU4s.cU4AO.U4.D0.U4.D1.U4.D2.U

10、4.D3一LT4.D4.U4.DS.U4.Q5.U4.Q4.U4Q3.U4.Q2.U4.Q1.图乘数寄存器测试波形仿真U4.Q0.从以上波形中数据可以看出,输入数据为101100该器件清零,当第一个上升沿到来时S=1,数据被打入,当第二个上升沿到来时S=0,A0始终为1,此时产生移位。所以该器件设计成功。部分积模块的设计与实现部分积的设计是乘法电路中比较重要的一块,它和乘数的功能基本一样,只是在D触发器的选择上稍有不同,部分积寄存器选用的是有异步清零端CLR的D触发器,并且为高电平清零,其余端和乘数一样,S=1:并行输入,S=0:右移。(1)部分积芯片外观及内部电路图U30DOD1Q1D2Q2

11、D3Q3D4Q4D5U5SCLRCLKABUFENJI图部分积寄存器芯片外观通过和乘数寄存器比较可以发现,两者的不同点就是在D触发器的选择上,部分积是用具有异步清零的D触发器(高电平有效),并将其清零端CLR作为一个输入端。A为能起到保存最低一位数据功能的D触发器,防止乘数脉冲和部分积脉冲上升沿到来存在的时间差而引起的不能移入的情况,此D触发器的输出端接入乘数的高位用行输入端,并实现移位,又因为部分积不需要串行输入数据,所以用行输入端接地,具体电路实现如下图:UJILT.图部分积寄存器电路图(2)功能仿真1 U3,CLK -图部分积寄存器波形仿真从波形可以看出输入数据为110010,CLR在前

12、两个上升沿为高电平,起清零作用,所以输出端均为0,到第三个上升沿到时CLR已是低电平,S=1,数据被打入,此后S=0,电路实现移位,所以此电路设计成功。控制器模块的设计与实现控制器由波形发生器和计数器组成,波形发生器实现用输入的CLK和S波形产生乘数寄存器S端其CLK波形,计数器实现当乘数寄存器到第五个上升沿到来时计数进位输出为1,并保持不变,其中其CLK和乘数S脉冲相同,将计数器的进位输出端CO和输入的CLK一同接入或门输出作为所有部件的CLK脉冲,当进位输出为1时,CO和CLK进行或运算,结果输出为1,即脉冲包为1,电路停止工作,此时输出结果。(1)控制器芯片外观及内部电路KONGZHI图

13、总控制器芯片外观按照整体设计思路,需要输入两个脉冲:CLK和S,作为部分积的时钟信号和S片选端脉冲,同时也是被乘数的时钟脉冲,但乘数的时钟脉冲(CLKX)和S(SX)端脉冲却要通过这两个波形产生(具体形状见底下功能仿真中的波形发生器波形),然后通过这4个波形使总电路正常工作,其中乘数只在首次进行数据写入,之后只进行移位而不再写入数据,所以乘数的S片选端只在刚开始为高电平,之后应该全为低电平,所以其波形可通过一个D触发器来实现,其D输入端接高电平,并将输入波形作为器脉冲源,当地一个上升沿到时,其输出端变成高电平,并不在变化,而本电路中要得到相反的结果,可在其输出端加非门来实现,但要通过CLK和S

14、产生CLKX波形,通过比较CLKX和CLK波形可以发现,CLKX刚好是CLK两倍波形,所以可把S取反之后加到一个D触发器的输入端,然后将S作为其脉冲源即可,具体电路如下图:s DclkD图波形发生器电路图-D BUFEWISH CLKXD BUFENJICLKD sx对计数器部分可直接用书上的计数器,如图所示,其以S脉冲作为脉冲源,3个JK触发器最大可接成8进制计数器,但在本电路中只需4进制计数器即可,即当S走到第5个脉冲时进位输出为1并保持不变,所以当三个输出端输出数据为101是进位输出为1,这可通过一个三输入的与门实现,其中一个输入端为低电平输入,为了保存进位输出可将其进位输出端作为一个D

15、触发器的脉冲,D输入端接高电平,一旦进位输出为1D触发器被触发并输出1,具体电路如图所示。FJKCF图计数器电路图1IU7,CLK o U7,CD.图计数器波形仿真CLK和S,输出四个从上面的两个波形可以看出,在波形发生器部分,输入,B UF ENJ I波形:BUFENJIS(部分积S端脉冲),SX(乘数S端的脉冲)CLK(部分积CLK脉冲),CLKX(乘数CLK脉冲);在计数器部分当第五个上升沿到来时候其进位输出为一,并不在变化,电路设计成功。加法器及其他模块的设计与实现采用两个原有的XCV200可编程逻辑芯片加法器件ADD4实现电路中的加法,由于要求是4位数据,加上两个符号位共6为数据,所

16、以第二片4位加法器芯片的两个高位分别接地,输出端也只取其低两位。(1)加法器芯片外观及其内部电路U32AOCOA2C2A3C3A4C4A5C5B0B1B2B3B4B5JIFAQI图加法器芯片外观匚口(2)功能仿真图加法器内部电路图U8JIFAQI图加法器仿真A5-A0和B5-B0是输入数据,因为题目要求是原码一位乘,所以其加法器只参与两个数据的绝对值运算,即符号位均为0,输入数据分别为001101和001101,C5-C0为输出,可以看出结果正确无误,所以电路设计成功。(3)电路其他部件说明除了上述的五大模块以外,整个电路也包含其他部件,具体有符号转化部件和符号位异或运算,符号位转换部分是把输

17、入的数据转换成其绝对值,即无论两个符号位是11还是00,则通过符号转换部件后输出均为00,其实现电路如下所示:gDQ8AND2GND由于两个与门的一端均接地所以两个输出端均为0。然后符号位进行异或运算得到符号部分的正确输出结果。2. 3总电路仿真测试仿真测试试主要验证设计电路逻辑功能、时序的正确性,本次设计为原码一位乘法,设计完成主要采用功能仿真方法对设计的电路进行仿真从而验证其电路功能的正确性。(1)建立仿真波形文件及仿真信号选择功能仿真时,首先建立仿真波形文件,输入仿真信号为CLK和S,数据输入A5-A0和B5B0,符号位输入为A5A4和B5B4,结果输出C5-C0,对以上选定的输入信号设

18、置参数,验证输出信号的正确性。(2)功能仿真结果与分析图仿真波形从波形可以清楚的看出输入和输出结果,在本次测试中输入的两个数为第一章乘法说明举例的两个数:001100和001110,从图可以看到输出结果,C4为符号位,从上往下读运算结果为0,经过对比正确无误,即说明总的电路设计成功,符合课设题目的基本要求。U9CLKC4SC3AOC2A1C1A2COA3D3A4D2A5DIBODOB1B2B3B4B5CHENGFAQI图仿真输出结果第3章编程下载与硬件测试编程及下载功能仿真通过以后,经过编译,若成功,则编程下载功能,将得到的*.bit文件,然后下载到XCV200实验板的XCV200可编程逻辑芯

19、片中。由于此次设计编译有点问题,不能通过,最终没能成功下载,试验没能完美的完成,有点遗憾!参考文献1 曹昕燕.EDA技术实验与课程设计M.北京:清华大学出版社,20062 范延滨.微型计算机系统原理、接口与EDA设计技术M.北京:北京邮电大学出版社,20063王爱英.计算机组成与结构(第4版)M.北京:清华大学出版社,20064 李勇计算机原理与设计(修订本)长沙:国防科技大学出版社,19895 王尔乾数字逻辑与数字集成电路北京:清华大学出版社,19966 白中英计算机组成原理北京:科学出版社,19947 杨天行计算机技术北京:国防工业出版社,1999附录(电路图)FUHA02HUAHHUAN

20、BUFtNJIU26卬对0:1 D-FUKAOKUANHLJAHBEICHENGSHUYCHEMCSHUXN.F ;课程设计总结:主要从以下两方面总结:1 .在这次组成原理设计实验中,遇到了很多问题,刚开始拿到题目的时候都不知道从何下手,完全不知道各个部件都应该怎么设计,后来经过查资料和答疑才有了思路,但很快又有了新的问题,在各个模块设计好了之后,由于乘数和部分积是移位寄存器,其使能控制端S很明显和输入的CLK脉冲不同,而且乘数和部分积的使能控制端S的波形也不同,如何协调各个部件的波形是整个电路正常工作成了设计本电路的关键问题,最后经过大量的尝试解决了这个问题,只需输入CLK和S就可产生各个部件的不同波形,并可协调运行,虽然在过程中也有过艰辛,但最后能尝到成功的喜悦也觉得很值得!2 .通过这次实验设计,了解了许多计算机组成原理知识,更重要的是知道了自己在设计方面的不足和所需要学习的知识,在这次设计中指导老师给予了我很大的帮助,在此表示感谢!并且在以后的学习和实验中会更加努力的学习,弥补自己的不足。指导教师评语:指导教师(签字):年月_日课程设计成绩

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!