计算机组成与体系结构实验五:乘法器

第一部分 实验分析与设计

一、实验目的

帮助学生掌握阵列乘法器的实现原理,能够分析阵列乘法器的性能,能在 Logisim 中绘制阵列乘法器电路。

学生掌握原码一位乘法运算的基本原理,熟练掌握 Logisim 寄存器电路的使用,能在 Logisim 平台中设计实现一个 8*8位的无符号数乘法器。

二、实验原理

逻辑电路

三、主要仪器设备及耗材

PC,logisim平台

第二部分 实验调试与结果分析

1.5位阵列乘法器

 

这一个电路比较简单,就是比照平时列竖式计算乘法,将被乘数与乘数的每一位错位放置后,然后将位数进行相加,进位。因为这里运用了全加器,可以就三位数字进行相加,然后向后一位传递进位。

将所有数字用全加器连起来之后就可以计算出正确结果。

 

2.原码1位乘法器

        核心算法:{ ∑ , Y } = { ∑ + Y  |X|  , Y  } / 2

        这一实验模拟的过程是之前上计组理论课时所用到的计算乘法的方式,需要用到两个寄存器,将乘法拆解为加法与逻辑右移。每次将X与寄存器末尾值相乘,如果是0,则直接加0;如果是1,则加X,这一部分用多路选择器来完成。计算完当前位,将两个寄存器的值全向右移,这一部分用四个分线器来实现。

        电路中需要用到寄存器与选择器,这两个器件的端口都比较多,将鼠标悬停在端口之上就可以查看该端口的作用,连接电路。

        时钟对计算步数进行驱动,最初未计算时要将Y放入后一个寄存器中。用分线器读取最后一位,如果为0,全加器加0,如果为1,全加器加x,在4个分线器的区域,这里实现了数据右移,数据右移后,就是乘数的下一位与x进行计算,如此下去,知道全部计算完成就可以让寄存器和计数器不再接受时钟输入。

    

 

     已经计算出了正确结果,此时时钟仍在连续,不过选择器根据做加法的次数判断出此时已完成计算,寄存器,寄存器与计数器的使能端为低电平不再接受时钟操作。

 

 

第三部分 实验小结、建议及体会

        原码1位乘法器采用时钟连续不断让乘法器进行相加、移位,再进行8次计算之后就可以停止时钟,不再运算,继续运算会得到错误结果,但是这里并没有对时钟本身进行操作,让时钟停止,这是因为对于时钟进行操作是一种比较危险的操作,所以用了一个计数器,对时钟进行计数,等到达到一定数字以后,使寄存器与计数器接受时钟的端口置为低电平,使其不再受时钟影响。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课 程 设 计 "教 学 院 "计算机学院 " "课程名称 "计算机组成原理 " "题 目 "阵列乘法器 " "专 业 "计算机科学与技术 " "班 级 "2011级计科(X)班 " "姓 名 "XXX " "同组人员 "XXX XXX XXX " "指导教师 "XXX " "2013 "年"1 "月"22 "日 " 课程设计概述 1 课设目的 计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验,不仅锻 炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决 问题的能力。 同时也巩固了我们对课本知识的掌握,加深了对知识的理解。在设计中我们发现问题 ,分析问题,到最终的解决问题。凝聚了我们对问题的思考,充分的锻炼了我们的动手 能力、团队合作能力、分析解决问题的能力。 2 设计任务 计算机系统设计的总体目标是设计模型机系统的总体结构、指令系统和时序信号。所 设计的主机系统能支持自动和单步运行方式。 具体设计任务如下: (1).设计一位全加器 (2).设计4位求补电路 (3).设计8位求补电路 (4).设计4*4位无符号阵列乘法器 3 设计要求 根据理论课程所学的至少设计出简单计算机系统的总体方案,结合各单元实验积累和 课堂上所学知识,选择适当芯片,设计简单的计算机系统。 1. 制定设计方案: 我们小组做的是阵列乘法器,阵列乘法器主要由求补器和阵列全加器组成 。因此我们四人分两小组,一组做四位及八位求补器的内容,一组做阵列全加 器的内容,最后综合就可以完成阵列全加器的任务。 2. 客观要求 要掌握电子逻辑学的基本内容能在设计时运用到本课程中,其次是要思维 灵活遇到问题能找到合理的解决方案。小组成员要积极配合共同达到目的。 实验原理与环境 1 1.实验原理 计算机组成原理,数字逻辑, FPGA(Field Programmable Gate Array)是现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展 的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了 定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 用乘数的每一位去乘被乘数,然后将每一位权值直接去乘被乘数得到部分积,并按位 列为一行每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值,将各次部分 积求和得到最终的对应数位的权值。 2 2.实验环境 1 双击Quartus II软件图标,启动软件 (1).新建工程,flie->new project wizard....,出现存储路径的选项框,指定项目保存路径并且为工程命名,第三行设置 实体名,保持与工程名一致。点击next 图2.1 利用"New Preject Wizard"创建工程cnt10 (2).指定芯片的选择,选择Cyclone系列芯片,所以在Family一栏中选择Cylone,点击 next 图2.2 选择目标器件EP1C6Q240C8 (3).最后出现的界面是展示前几步所设定的全部信息,然后点击Finish,完成工程 的创建 总体方案设计 总体结构图 图3.1 总体结构图一 图3.2 总体结构图二 1 设计方案 (1)为了进一步提高乘法运算速度,可采用类似人工计算的方法,阵列的每一行送 入乘数Y的每一数位,而各行错开形成的每一斜列则送入被乘数的每一数位。 (2)4×4阵列乘法器可以由一定数量的4输入加法器构成的; (3)4个输入加法器可以由一个与门和一位全加器构成; (4)一位全加器可以用一个两输入或门模块或两个半加器模块构成。 详细设计与实现 5*5乘法的设计主要包括以下几个主要的模块的设计 1 设计四位和八位的寄存器的vhdl语言 四位寄存器: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY REG IS PORT(D: IN STD_LOGIC_vector(4 downto 0); LDA: IN STD_LOGIC; Q0:OUT STD_LOGIC; Q1:OUT STD_LOGIC; Q2:OUT STD_LOGIC; Q3:OUT STD_LOGIC; Q4:OUT STD_LOGIC); END ENTITY REG; ARCHITECTURE bhv OF REG IS BEGIN PROCESS (D,LDA) BEGIN IF LDA ='1' THEN Q0<= D(0); Q1<= D(1); Q2<= D(2); Q3<= D(3); Q4<= D(4); END IF; END PROCESS; END bhv; 八位寄存器: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值