版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈阳航空航天大学 课 程 设 计 报 告课程设计名称:计算机组成原理课程设计 课程设计题目:定点原码一位乘法器设计与实现院(系):计算机学院专 业:计算机科学与技术(物联网方向)班 级:34010105学 号:2013040101211姓 名:李浩渊指导教师:施国君完成日期:2016 年 1 月 14 日沈阳航空航天大学课程设计报告 目 录第1章 总体设计方案21.1 设计原理21.2 设计思路21.3 设计环境21.3.1 Xilin x foundation f3.1 设计软件21.3.2 COP2000集成调试软件3第2章 详细设计方案42.1 总体方案的设计与实现42.2 模块的设计与
2、实现42.2.1 被乘数模块42.2.2 乘数模块72.2.3部分积模块102.2.4 加法器122.2.5计数控制模块152.3 总电路仿真测试182.3.1 建立仿真波形文件及仿真信号选择182.3.2 功能仿真结果与分析182.4 顶层设计方案的设计与实现202.4.1 创建顶层图形设计文件202.4.2 器件的选择与引脚所定20第3章 编程下载与硬件测试213.1 编程下载213.2 硬件测试及结果分析21参考文献24-II-沈阳航空航天大学课程设计报告 第1章 总体设计方案1.1 设计原理 乘法的运算过程归纳如下:(1) 乘法运算可用移位和加法来实现,两个8位数相乘,总共需要进行8次
3、加法运算和8次移位。(2) 由乘数的末位值确定被乘数是否与原部分积相加,然后右移一位,形成新的部分积;同时,乘数也右移一位,由次低位作新的末位,空出最高位放部分积的最低位。(3) 每次做加法时,被乘数仅仅与原部分积的高位相加,其低位被移至乘数所空出的高位位置。 计算机很容易实现这种运算规则。用一个寄存器存放被乘数,一个寄存器存放乘积的高位,另一个寄存器存放乘数及乘积的低位,再配上加法器及计数控制电路,就可组成乘法器。原码一位乘的运算规则如下:(1) 两个原码数相乘,乘积的符号位由两原码符号异或运算结果决定。(2) 乘积的数值部分由两数绝对值相乘。1.2 设计思路按照课设题目要求及设计原理,将整
4、个电路的设计分为以下模块:被乘数模块、乘数模块、部分积模块、加法器模块、控制电路模块。在电路的具体实现过程中,配合相应时钟脉冲和逻辑门电路已达到预期效果。设计过程采用自上而下的方法,顶层设计采用原理图设计输入方式,底层设计也采用原理图设计输入方式。当最终的总芯片仿真无误时,经编译形成*.bit文件并下载到XCV2000可编程逻辑芯片中,经硬件测试验证设计的正确性。1.3 设计环境1.3.1 Xilinx foundation f3.1 设计软件Xilinx foundation f3.1 是Xilinx 公司的可编程器件开发工具,该平台功能强大,主要用于百万逻辑门设计。该系统由设计入口工具、设
5、计实现工具、设计验证工具三大部分组成。设计入口工具包括原理图编辑器、有限状态机编辑器、硬件描述语言(HDL)编辑器、LogiBLOX模块生成器、Xilinx内核生成器等软件。其功能是:接收各种图形或文字的设计输入,并最终生成网络表文件。设计实现工具包括流程引擎、限制编辑器、基片规划器、FPGA编辑器、FPGA写入器等软件。设计实现工具用于将网络表转化为配置比特流,并下载到器件。设计验证工具包括功能和时序仿真器、静态时序分析器等,可用来对设计中的逻辑关系及输出结果进行校验,并详尽分析各个时序限制的满足情况。1.3.2 COP2000集成调试软件COP2000集成开发环境是为COP2000实验仪与
6、PC机相连进行高层次实验的配套软件,它通过实验仪的串行接口和PC机的串行接口相连,提供汇编、反汇编、编辑、修改指令、文件传送、调试FPGA实验等功能,该软件在Windows下运行。图1.3.2-1 COP2000计算机组成原理实验系统第2章 详细设计方案2.1 总体方案的设计与实现 课设题目要求是被乘数和乘数的位数均为8位,但是便于设计,在具体的电路实现过程中,输入端采用双符号位,即输入为10位二进制数据,符号位2位,数据位8位。按照第1章中的设计原理及设计思路,整个电路共有5大模块。(1) 被乘数模块:用来存放被乘数的寄存器,并且接收乘数的最低位,完成被乘数每一位与乘数最低位分别相与的功能并
7、输出结果。(2) 乘数模块:用来存放乘数的寄存器,带移位功能。(3) 部分积模块:用来存放运算过程中的部分积,有移位功能和清零功能。(4) 加法器:完成输入的两个10位二进制数据的相加求和功能。(5) 计数控制模块:实现运算完毕电路的自动停止功能。2.2 模块的设计与实现2.2.1 被乘数模块 被乘数模块主要实现被乘数的寄存、被乘数与传递来的乘数最低位进行与运算两个功能。 封装好的芯片输入端共有12个引脚,其中10个引脚用来输入10位被乘数,包括8位数据位,2位符号位;一个CLK引脚为时钟输入,一个R引脚用来接乘数寄存器的最低位输出。其输出端输出被乘数每位分别与传递来的乘数最低位做逻辑与运算之
8、后的结果。封装好的芯片如图2.2.1-1所示。图2.2.1-1 被乘数模块芯片为了实现被乘数模块的两个功能,芯片内部电路分为两部分。前一部分电路使用10个FD触发器(上升沿触发)实现10位输入数据的寄存,后一部分电路使用与门构成简单电路完成被乘数与乘数最低位的与运算。内部电路图具体实现如图2.2.1-2所示。图2.2.1-2 被乘数模块内部电路对被封装好的芯片进行仿真,波形图如图2.2.1-3。观察波形图,输入被乘数数据D9-D0为0011110000,传递来的乘数最低位数据R为1,当CLK的第一个上升沿到来时,输出数据Q9-Q0为0011110000,即D9-D0寄存之后再分别与R相与的结果
9、。输出符合预期,说明被乘数寄存器设计成功。图2.2.1-3 被乘数模块仿真波形2.2.2 乘数模块由定点原码一位乘的算法可知,乘数模块的电路设计既要有寄存功能,也要有移位功能,且寄存功能只在第一个CLK期间有效,后续运算均只使用乘数模块的移位功能。所以设计的乘数寄存器芯片输入端共有13个引脚。其中10个引脚用于10位乘数数据的输入,包括8位数据位、2位符号位;一个CLK引脚用于时钟脉冲信号输入;一个S引脚用于控制寄存器写/移功能的选择;一个A引脚用于接收部分积移出来的最低位。输出端有10个引脚,用于输出10位乘数数据。封装好的芯片外观图如下:图2.2.2-1 乘数模块芯片为了实现乘数模块的功能
10、,芯片内部电路由两大部分构成。一部分实现10位数据的寄存,此部分与被乘数寄存器芯片的寄存功能一样,故电路实现也是采用10个FD触发器;另一部分实现芯片写/移功能选择,采用普通逻辑门构成的电路。内部电路具体实现如图2.2.2-2所示图2.2.2-2 乘数模块内部电路图2.2.2-3 乘数模块仿真波形 当写/移使能端S=1时,电路实现的是寄存功能,即在CLK的下一个上升沿到来时,将D9-D0的输入数据打入到10个D触发器;当写/移使能端S=0时,电路实现的是移位功能,即在CLK的下一个上升沿到来时,将已经寄存的数据整体右移,然后将A端传递的数据移位至寄存器的最高位寄存。对封装好的芯片进行仿真,结果
11、如图2.2.2-3。观察波形图,芯片输入乘数数据D9-D0为0000000000,部分积移出来的最低位A为1,在CLK的前两个上升沿期间,写/移使能端S为1,控制D9-D0数据写入,此时输出Q9-Q0为0000000000;在CLK的第三个上升沿到来时,写/移使能端S为0,寄存器中的数据产生移位,由于A输入为1,所以寄存输出Q9-Q0此时会变为1000000000;以后S一直为0,输出Q9-Q0一直在移位。仿真波形符合预期,说明乘数模块的芯片设计成功。2.2.3部分积模块根据定点原码一位乘的算法原理可知,部分积模块的电路设计主要实现实现3大功能:清零、寄存、移位。所以设计的部分积芯片输入端共有
12、13个引脚,其中D9-D0用于输入10位数据,CLK用于时钟脉冲信号输入,S用于控制寄存器写/移功能的选择,CLR用于芯片寄存器的清零。输出端有11个引脚,用于输出10位数据以及1位要传递给乘数模块的部分积移位出来的最低位。封装好的芯片如图2.2.3-1所示。图2.2.3-1 部分积模块芯片考虑部分积模块的3大功能,可以发现,其仅仅是比乘数模块多了1个清零的功能,所以部分积芯片与乘数芯片的主要区别在于触发器的选择,部分积芯片内部电路所使用的触发器是带CLR清零端的FDC触发器。对于寄存与移位功能的实现,部分积芯片内部电路与乘数芯片内部的逻辑电路基本相似,唯一的区别是,部分积中的数据整体右移时,
13、在最高位直接添0,而且移出来的最低位还需要使用一个普通D触发器暂存用于输出传递给乘数芯片。具体的内部电路实现如图2.2.3-2所示。图2.2.3-2 部分积模块内部电路电路使用了10个带CLR清零端的FDC触发器,用于部分积模块的清零与寄存,另外使用了一个普通的D触发器用于保存部分积右移出来的最低位。写/移使能端S为1时写入数据,为0时对数据进行移位。对封装好的芯片仿真,结果如图2.2.3-3所示。观察波形,输入数据D9-D0为1111111111,在CLK前两个上升沿期间,CLR为高电平,起清零作用,所以输出Q9-Q0和A始终为0;当CLK的第3个上升沿到来时,CLR为低电平,S为高电平,刚
14、开始寄存作用,所以输出Q9-Q0为1111111111,A为0;当CLK的第4个上升沿到来时,CLR为低电平,S为低电平,开始移位,以后输入信号不再变化,所以一直保持移位状态。仿真波形符合芯片预期功能设计,所以部分积模块设计成功。图2.2.3-3 部分积模块仿真波形2.2.4 加法器根据定点原码一位乘的算法原理可知,加法器模块的电路设计需要实现两个10位二进制数相加的功能。所以设计的加法器芯片输入端共有20个引脚,而输出端共有10个引脚。封装好的芯片如图2.2.4-1所示。图2.2.4-1 加法器芯片芯片内部电路的设计基于已有的ADD4全加器芯片,由于是实现10位二进制数据的相加,所以需要将3
15、片ADD4串联起来,即将第1片ADD4的进位输出端CO接第二片的进位输入端CI,而第2片ADD4的CO接第3片的CI。另外,第1片的CI端与第3片没有数据输入的输入端均接GND,恒置低电平。具体电路实现如图2.2.4-2所示。图2.2.4-2 加法器内部电路 对封装好的芯片进行仿真,结果如图2.2.4-3所示。观察波形,输入两个数据A9-A0为,B9-B0为,输出结果S9-S0为,即仿真结果符合模块预期功能,说明芯片设计成功。图2.2.4-3 加法器仿真波形2.2.5计数控制模块 计数控制模块主要分为两部分,计数芯片和控制芯片。 本设计的两个原码数据的数据位为8位,根据原码一位乘的算法原理可知
16、,电路应该在进行8次移位之后结束运算。所以需要设计一个计数芯片,当CLK的第9个上升沿到来时输出1,且以后一直不变。计数芯片如图2.2.5-1所示。图2.2.5-1 计数器芯片计数芯片从本质上来讲是一个8进制计数器,即每当CLK的第9个上升沿到来时输出进位为1,与普通计数器不同的是,一旦输出为1之后,技术芯片的输出便一直维持在高电平不再变化。关于每8个脉冲一计数的电路部分的设计,可以参考数电教材上同步二进制计数器内部电路的设计。而为了使计数芯片在第9个脉冲之后一直保持在高电平,可以通过在计数电路之后加一个D输入端恒置1的D触发器来实现。芯片内部电路的具体实现如图2.2.5-2所示图2.2.5-
17、2 计数器芯片内部电路对封装好的计数芯片进行仿真,结果如图2.2.5-3所示。观察波形,可知当CLK的第9个上升沿到来时,输出为高电平,且在以后一直维持不变,说明芯片设计成功。图2.2.5-3 计数器仿真波形控制芯片主要用于产生乘数模块与部分积模块的使能端所需的控制信号波形。其输入端有两个引脚:CLK和S,作为部分积模块的时钟脉冲信号和写/移使能端脉冲。同时,CLK也是被乘数模块的时钟脉冲。而输出端共有4个引脚,分别用于输出部分积模块的时钟脉冲、写/移使能端脉冲和乘数模块的时钟脉冲、写/移使能端。封装好的芯片如图2.2.5-4所示。图2.2.5-4 控制器芯片由于乘数模块只在一开始进行数据写入
18、,之后只进行移位而不再写入数据,所以乘数模块的写/移使能端只在刚开始为高电平,之后应该全为低电平。另外,根据原码一位乘的算法以及电路的设计原理,可知乘数模块的时钟脉冲是部分积模块的时钟脉冲的2倍。芯片内部电路的具体设计如图2.2.5-5所示。图2.2.5-5 控制器芯片内部电路 对封装好的芯片进行仿真,结果如图2.2.5-6所示。观察输出波形,输入CLK和S,输出4个波形:BUFENJICLK(部分积时钟信号)、BUFNEJIS(部分积写/移使能信号)、CHENGSHUCLK(乘数时钟信号)、CHENGSHUS(乘数写/移使能信号)。且输出波形符合预期期望,说明芯片设计成功。图2.2.5-6
19、控制器芯片仿真波形2.3 总电路仿真测试仿真测试主要验证设计电路逻辑功能、时序的正确性,本次设计为定点原码一位乘法器,设计完成主要采用功能仿真方法对设计电路进行仿真从而验证其电路功能的正确性。2.3.1 建立仿真波形文件及仿真信号选择 功能仿真时,首先建立仿真波形文件,输入仿真信号为CLK和S,数据输入A9-A0和B9-B0,其中符号位为A9A8和B9B8,结果输出为0-17,17为符号位。2.3.2 功能仿真结果与分析图2.3.2-1 总电路仿真波形仿真图说明: 从波形可以清楚地看出输入和输出结果,在本次测试中输入的两个数分别为0010000000(即)和0000100000(即),从图2.
20、3.2-2可以很清晰地观察到输出结果,引脚17为符号位,从下往上读运算结果为00001000000000000(即),运算正确无误,即说明总电路设计成功。图2.3.2-2 总电路输出结果 2.3.3 加总线的总电路仿真 为了更好的输入数据,以及整个电路的美观。我们采用总线输入形式。2.3.4 功能仿真结果与分析2.4 顶层设计方案的设计与实现顶层方案图实现原码一位乘的逻辑功能,采用原理图设计输入方式,电路实现基于XCV200可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。2.4.1 创建顶层图形设计文件顶层图形文件的设计实体主要由
21、各模块构成的一个完整的可编程逻辑芯片。顶层图形文件结构如图2.4.1-1所示图 2.4.1-1 顶层图形设计文件2.4.2 器件的选择与引脚所定 由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为Xilinx XCV200可编程逻辑芯片。 把顶层图形文件中的输入/输出信号安排到Xilinx XCV200芯片指定的引脚上去,实现芯片的引脚锁定。第3章 编程下载与硬件测试3.1 编程下载 利用 COP2000仿真软件的编程下载功能,将得到的*.bit文件下载到XCV200实验板的XCV200可编程逻辑芯片中。3.2 硬件测试及结果分析 利用XCV
22、200实验板进行硬件功能测试。定点原码一位乘法器的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED指示灯实现,其对应关系如表3.2.1所示。表3.2.1 XCV200实验板信号对应关系XCV200芯片引脚信号XCV200实验板P213CLKP103K0: 0P102K0: 1P101K0: 2P100K0: 3P97K0: 4P96K0: 5P95K0: 6P94K0: 7P87K1: 0P86K1: 1P73K2: 0P72K2: 1P71K2: 2P70K2: 3P66K2: 4P65K2: 5P64K2: 6P63K2: 7P47K3: 0P48K3: 1P110A0P224S1P228S1P229S1P230S1P231S1P232S1P234S1P23
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 标准体育场地租赁合同2024年度范本
- 安徽省宿州市省、市示范高中2024-2025学年高一上学期11月期中考试 化学 含解析
- 饭店服务员合同
- 别墅庭院绿化设计与施工合同二零二四年
- 2024年度虚拟现实技术研发劳务合同
- 二零二四年企业信息系统升级改造合同
- 二零二四年度软件开发合同:某互联网公司与某软件开发团队签订合同3篇
- 二零二四年度智能零售系统开发与部署合同
- 股权比例合同范本
- 受法律保护的土地转让协议书(2篇)
- 教育学课程单元1-20答案(江苏师范大学成人高等教育)
- 贺兰县2023-2024学年数学四年级第一学期期末含答案
- 动物疫病预防控制中心建设项目可行性研究报告
- 隧道衬砌缺陷整治培训资料课件
- 煤化工基础知识教学课件
- 小学英语-Book5Module4Period3BestBird教学课件设计
- 小学心理健康教育-奇妙的想象力教学课件设计
- 四年级羽毛球教学计划课后服务羽毛球教学计划
- 2023年互联网+教师专业发展研修学习心得体会
- 电气元件基础知识培训-课件
- 因材施教-分层教学,优化培智教育教学
评论
0/150
提交评论