当前位置:文档之家› 原码阵列除法器专周报告

原码阵列除法器专周报告

原码阵列除法器专周报告
原码阵列除法器专周报告

计算机组成原理

——原码阵列除法器

班级:

学号:

姓名:

指导老师:

时间:

一、设计目的

通过此次设计专周,了解芯片的作用,了解全加器用法和内部构造,了解怎样通过全加器利用加法运算完成加、减、乘、除。运用芯片与全加器完成原码阵列除法运算。

二、设计要求

利用所学的知识,设计一个原码阵列除法器。要求在Protues上画出电路,并且调通其电路,让其能够完成阵列除法运算。

三、芯片说明

1、芯片作用:

(1)利用20个74LS86(异或门)实现对除数的取反,让全加器完成减法。

(2)利用20个7482(全加器)实现阵列除法器。

(3)利用3个THUMBSWITCH-HEX(一位十六进制数的输出器)来控制除数和被除数的输入数的大小。

(4)利用7SEG-BCD(4针BCD-LED显示器)来显示商和余数。

(5)利用POWER(电源)对全加器和异或门的某些引脚置1。

(6)利用GROUND(接地)对全加器和异或门的某些引脚置0。

(7)利用DEFAULT发射和接收信号(起连线作用)。

2、芯片图样:

(1)(2)(3)(4)(5)(6)(7)

四、逻辑图及其说明

1、实现阵列除法逻辑电路图如下:

(1)B3B2B1B1是除数(B3对应高位),A6A5A4A3A2A1A0是被除数(A6对应高位),Q3Q2Q1Q0是商(Q3对应高位),r3r2r1r0是余数(r3对应高位)。

(2)每一行斜向右下的箭头表示输入的除数,每一行向左的箭头表示CAS的本位进位位的值。每一行向下的箭头表示CAS加出来的和。

(3)最后所有的除数和被除数移位相加完后,最后一行右边4个CAS加出来的4个和就是4位余数。

(4)最左边的CAS的本位进位位就是商值,它进位该位的商为1,不进位该位的商就为0。每一行对应一位商值。商为0则下一行CAS作加法,商为1则下一行CAS作减法。

2、CAS结构图如下:

(1)7482:10是7482的本位进位位接左边一个7482的5(低

位进位位),12是本位和的高位不接线,1是本位和的低位接左

斜上方的一个7482的2(操作数位),2是本位操作数的个位接

右斜下方的一个7482的1(和位),5是低位进位位接右边一个

7482的10(本位进位位)。

(2)74LS86:12接Q n(Q n=0时CAS作加法运算,Q n=1时CAS

作减法运算)

3、CAS逻辑电路图如左:

(1)CAS单元的输入与输出的关系可用如下一

组逻辑方程来表示:

Si=Ai⊕(Bi⊕Q n)⊕Ci

Ci+1=(Ai+Ci)·(Bi⊕Q n)+AiCi

(2)当Q n=0时,即得一位全加器(FA)的公式:

Si=Ai⊕Bi⊕Ci

Ci+1=AiBi+BiCi+AiCi

(3)当Q n=1时,则得求差公式:Si=Ai⊕Bi⊕Ci Ci+1=AiBi+BiCi+Ai

六、实例

A 被除数25H : .A 0010 0101

B A ← 0100 1010 B 除数5H: 0101B -B: + 1011 1111 1010<0 Q3=0 ← 1111 0100 +B: + 0101 0100 0100>0 Q2=1 ← 1000 1000 -B: +1011 0011 1000>0 Q1=1 ← 0111 0000 -B: +1011 0010 0000<0 Q0=1

所以 商=0111B=9H 余数=00110B=2H 输入除数(B3...B0)和被除数(A7..A0) 取被除数的高4位且左移1位得数A A-B(除数B3...B0)=M 且得Q 把M 左移1位得N ,输入A i A 0输入否? N+B(除数B3...B0)=S Q n =0? N-B(除数B3...B0)=S 商=Q ,余数=S N N

Y Y

◎除数、被除数符号位都为0,也就是除数、被除数都为正数。

◎除数为5H,被除数为25H,最后商为7H,余数为2H。

八、设计心得体会

在这次专周中,我对与门、或门、异或门等芯片等芯片和全加器都有了一定的了解。原本听老师讲课教受的一些理论东西还是不能很好运用,现在经过自己亲手的练习对知识的掌握加深了、也能较好的运用了。

在这次专周中,我也知道了自己学习这门课程上的不足,对每个知识都是半知半解没有把知识彻底的搞懂也不能把知识熟练的联系起来。在这次专周中我把各种知识总和起来学习更好的学习了这门课程。在以后的学习中我也会坚持这种学习方法,让自己对自己所学的知识融会贯通。

基于 FPGA的32位除法器设计

目录 摘要 (1) 第1章绪论 (2) 第2章设计原理 (3) 2.1 除法运算分析 (3) 2.2 除法器算法的实现 (3) 2.2.1除法器无符号数的除法 (3) 2.2.2除法器有符号数的除法 (3) 第3章软件介绍及设计过程 (4) 3.1 Quartus II简介 (4) 3.2 程序设计过程 (4) 3.3 仿真结果 (6) 结论 (7) 参考文献 (8) 附录1 源程序 (9)

摘要 介绍了一种使用可编程逻辑器件FPGA和VHDL语言实现32位除法器的设计方法。该除法器不仅可以实现有符号数运算,也可以实现无符号数的运算。除法器采用节省FPGA逻辑资源的时序方式设计,主要由移位、比较和减法三种操作构成。由于优化了程序结构,因此程序浅显易懂,算法简单,不需要分层次分模块进行。并使用Altera公司的QuartusⅡ软件对该除法器进行编译、仿真,得到了完全正确的结果。 关键词:FPGA;VHDL;除法器;减法;移位

第1章绪论 EDA 技术就是以计算机为工具,设计者在 EDA 软件平台上,用硬件描述语言 VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA 技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流和行为 3 种描述形式的混合描述,因此 VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用 VHDL来完成。另外,VHDL还有以下优点:VHDL的宽范围描述能力使它成为高层次设计的核心,将设计人员的工作重心转移到了系统功能的实现和调试上,只需要花较少的精力用于物理实现;VHDL可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用;VHDL的设计不依赖于特定的器件,方便了工艺的转换。VHDL 是一个标准语言,为众多的 EDA 场上支持,因此移植性好[2]。 本次课程设计通过利用 QuartusII 软件实现32位除法器。从而对 EDA 技术进一步的熟悉、了解和掌握。通过本课程的学习,可以了解硬件描述语言编程方法 ,掌握 VHDL编程方法。 除法是数值计算和数据分析中最常用的运算之一,许多高级运算如平方根、指数、三角函数等都与其有关。在FPGA中,有加、减、乘、除的算法指令,但除法中除数必须是2的幂,因此无法实现除数为任意数的除法。然而除法器是微处理器的一个重要运算单元,除法器的运算速度、性能、功耗等都会影响系统的整体性能,相对于其他运算操作,除法很复杂且其操作的效率很低,所以研究的人很少引,但是对除法的忽视会导致系统整体性能的下降。因此当前不但应该研究除法,而且研究的重点应该放在提升运算速度上。如今大部分电子系统的最大位宽只有32位,因此本文用VHDL编写了实现32位数相除的除法器。本文设计的除法器,不仅能实现有符号数的运算,也可以实现无符号数的运算。 除法器是电子技术领域的基础模块, 在电子电路设计中得到广泛地应用。然而相对于加法和乘法等其他操作, 除法操作的效率很低。出现这种情况的原因除了除法本身的复杂性外, 还与人们普遍认为除法是不频繁的操作有关。作为微处理器的一个重要的运算单元, 除法器的运算速度、性能、功耗等都会影响系统的整体性能, 所以对除法效率的忽视会导致系统整体性能的下降。硬件除法器的运算速度比软件实现方法快得多, 但为了提升运算速度, 就要以硬件资源的消耗为代价。

计算机组成原理试题和答案

一、单项选择题(本大题共10小题,每小题2分,共20分。在每小题的四个备选答案中选出一个符合题意的,并将其前面的序号填在答题纸上。) 1.计算机的软件系统按功能的不同可分为()两大类。 ① 操作系统和应用软件② 系统软件和应用软件 ③ 通用软件和实用软件④ 操作系统和实用程序 2.运算器一次能运算的二进制数的最多位数,称为(),它与CPU内通用寄存器的位数、CPU内部数据总线的宽度有关。 ① 字节② 机器字长 ③ 指令字长④ 微指令长度 3.已知X=10101100,Y=01010011,则逻辑异或X⊕Y的结果为()。 ① 11111111 ② 01010011 ③ 00000000 ④ 10101100 4.浮点数加、减运算过程一般包括对阶、尾数运算、规格化、舍入和判断溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)。若有两个数X=27×29/32,Y=25×5/8,则用浮点加法计算X+Y的最终结果是()。 ① 00111 1100010 ② 00111 0100010 ③ 01000 0010001 ④ 发生溢出 5.若某个SRAM芯片共有16个地址引脚,16个数据引脚,则该芯片的存储容量为()。 ① 16KB ② 32KB ③ 64KB ④ 128KB 6.冯·诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是()。 ① 指令操作码的译码结果② 指令和数据的寻址方式 ③ 指令周期的不同阶段④ 指令和数据所在的存储单元 7.设某计算机有100条不同功能的指令,若采用固定长度操作码编码,则操作码的长度至少应占()位。 ① 4 ② 6 ③ 7 ④ 8 8.下面哪一个不属于控制器的组成部分。()

阵列除法器设计与实现

课程设计报告 课程设计名称:计算机组成原理课程设计课程设计题目:阵列除法器设计及实现 院(系):计算机学院 专业: 班级: 学号: 姓名: 指导教师: 完成日期:2016年1月12日

目录 第1章总体设计方案0 1.1设计原理0 1.2设计思路2 1.3设计环境3 第2章详细设计方案4 2.1功能模块的设计及实现4 2.1.1细胞模块的设计及实现5 2.1.2除法器模块的设计及实现7 2.2仿真调试9 参考文献11 附录(电路原理图)

1 2

第1章总体设计方案 1.1 设计原理 在原码除法中,原码除法符号位是单独处理的,商符由两数符号位进行异或运算求得,商值由两数绝对值相除求得。原码除法中由于对余数的处理不同,又可分为恢复余数法和不恢复余数法(加减交替法)。在机器操作中通常采用加减交替法,因为加减交替法机器除法时间短,操作规则。 加减交替法的运算规则如下: (1)当余数为正时,上商1,余数左移一位后减去除数得下一 位余数。 (2)当余数为负时,上商0,余数左移一位后加上除数得下一位 余数。 阵列除法器是一种并行运算部件,采用大规模集成电路制造,及早期的串行除法器相比,阵列除法器不仅所需的控制线路少,而且能提供令人满意的高速运算速度。阵列除法器有多种形式,如不恢复余数阵列除法器、补码阵列除法器等等。本实验设计的是加减交替阵列除法器。 本实验利用的细胞单元是一个可控加法/减法CAS单元,利用它组成的流水阵列来实现四位小数的除法。CAS单元有四个输入端、四个输出端。其中有一个控制输入端P,当P=0时,CAS作加法运算;

当P=1时,CAS作减法运算。逻辑结构图如图1.1所示。 图1.1 可控加法/减法(CAS)单元逻辑结构图CAS单元的输入及输出的关系可用如下逻辑方程来表示:Si=Ai⊕(Bi⊕P)⊕Ci Ci+1=(Ai+Ci)(Bi⊕P)+AiCi 当P=0时,CAS单元就是一个全加器,如下: Si=Ai⊕B⊕iCi Ci+1=AiBi+BiCi+AiCi 当P=1时,则得求差公式: Si=Ai⊕B⊕iCi Ci+1=AiBi+BiCi+AiCi

计算机组成原理_原码阵列除法器

计算机组成原理专周报告 成都电子机械高等专科学校计算机工程系

` 目录 一、项目名称 (1) 二、实验目的 (1) 三、不恢复余数的阵列除法器介绍 (1) 四、逻辑流程图及原理 (3) 算法流程 (3) 粗框图 (4) CSA逻辑结构图 (4) 原理分析 (5) 五、实例结果及求解过程 (8) 实例结果图 (8) 实例求解过程 (9) 六、心得体会: (10)

计算机组成原理专周报告 一、项目名称 原码阵列除法器 二、实验目的 1)理解原码阵列除法运算的规则。 2)掌握原码阵列除法器设计思想,设计一个原码阵列除法器。 3)熟悉proteus 7 professional软件的使用。 4)复习巩固课堂知识,将所学知识运用于实际,做到学以致用。三、不恢复余数的阵列除法器介绍 阵列式除法器是一种并行运算部件,采用大规模集成电路制造,与早期的串行除法器相比,阵列除法器不仅所需的控制线路少,而且能提供令人满意的高速运算速度。阵列除法器有多种多样形式,如不恢复余数阵列除法器,补码阵列除法器等等。我们所用到的就是不恢复余数的阵列除法器。 设:所有被处理的数都是正的小数(仍以定点小数为例)。不恢复余数的除法也就是加减交替法。在不恢复余数的除法阵列中,每一行所执行的操作究竟是加法还是减法, 取决于前一行输出的符号与

被除数的符号是否一致。当出现不够减时,部分余数相对于被除数来说要改变符号。这时应该产生一个商位“0”,除数首先沿对角线右移,然后加到下一行的部分余数上。当部分余数不改变它的符号时, 即产生商位“1”,下一行的操作应该是减法。图(四)示出了 (4位÷4位)的不恢复余数阵列除法器的逻辑原理图。由图看出,该阵列除法器是用一个可控加法/减法(CAS)单元所组成的流水阵列来实现的。推广到一般情况,一个(n+1)位除(n+1)位的加减交替除法阵列由(n+1)2个CAS单元组成,其中两个操作数(被除数与除数)都是正的。单元之间的互连是用n=3的阵列来表示的。 这里被除数X是一个6位的小数(双倍长度值):X=0.A1A2A3A4A5A6它是由顶部一行和最右边的对角线上的垂直输入线来提供的。 除数Y是一个3位的小数:Y=0.B1B2B3 它沿对角线方向进入这个阵列。这是因为,在除法中所需要的部分余数的左移,可以用下列等效的操作来代替:即让余数保持固定,而将除数沿对角线右移。 商Q是一个3位的小数:Q=0.Q1Q2Q3 它在阵列的左边产生。 余数r是一个6位的小数:r=0.00r0r1r2r3 它在阵列的最下一行产生。

计算机组成原理阵列乘法器课程设计报告

. 课程设计

. 教学院计算机学院 课程名称计算机组成原理题目4位乘法整列设计专业计算机科学与技术班级2014级计本非师班姓名唐健峰 同组人员黄亚军 指导教师 2016 年10 月 5 日

1 课程设计概述 1.1 课设目的 计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决问题的能力。 同时也巩固了我们对课本知识的掌握,加深了对知识的理解。在设计中我们发现问题,分析问题,到最终的解决问题。凝聚了我们对问题的思考,充分的锻炼了我们的动手能力、团队合作能力、分析解决问题的能力。 1.2 设计任务 设计一个4位的二进制乘法器: 输入信号:4位被乘数A(A1,A2,A3,A4), 4位乘数B(B1,B2,B3,B4), 输出信号:8位乘积q(q1,q2,q3,q4,q5,q6,q7,q8). 1.3 设计要求 根据理论课程所学的至少设计出简单计算机系统的总体方案,结合各单元实验积累和课堂上所学知识,选择适当芯片,设计简单的计算机系统。 (1)制定设计方案: 我们小组做的是4位阵列乘法器,4位阵列乘法器主要由求补器和阵列全加器组成。 (2)客观要求 要掌握电子逻辑学的基本内容能在设计时运用到本课程中,其次是要思维灵活遇到问题能找到合理的解决方案。小组成员要积极配合共同达到目的。

2 实验原理与环境 2.1 1.实验原理 计算机组成原理,数字逻辑,maxplus2是现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 用乘数的每一位去乘被乘数,然后将每一位权值直接去乘被乘数得到部分积,并按位列为一行每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值,将各次部分积求和得到最终的对应数位的权值。 2.2 2.实验环境 2.2.1双击maxplu2II软件图标,启动软件 (1).新建工程,flie->new project ....,出现存储路径的选项框,指定项目保存路径并且为工程命名,第三行设置实体名,保持与工程名一致。点击OK

计算机组成原理参考答案

计算机组成原理参考答案

三、简答题 1 CPU中有哪几类主要寄存器。 2通道的基本功能是什么?具体有哪几种类型? 3、RISC指令系统的特点有哪些? 4、CPU中有哪几类主要寄存器?说明其功能。 5、简述引起流水线断流的三种原因及解决办法。 6、何谓DMA方式,为什么DMA方式比中断方式具有更高的IO效率? 7、一台机器的指令系统应当包含哪几类指令? 8、比较同步定时与异步定时的优缺点。 9、通道的基本功能是什么?CPU如何实现对通道的管理?通道如何实现对设备控制器的管理? 10、简述CPU的四种基本功能。 11、为什么DMA方式比中断方式具有更高的I/O效率? 12、磁盘存储器的技术指标有哪些? 13、通道的基本功能是什么?具体有哪几种类型? 14、比较同步定时和异步定时的稳定性缺点。 15、在操作系统中什么情况下需要进行进程调度? 16、选择寻址方式时主要考虑哪些因素? 17、寻址方式在指令格式中的表示方法通常有哪几种方法? 18、说明中断处理的过程,及中断优先级的意义。 19、为什么要对CRT屏幕不断进行刷新?要求刷新频率是多少?为达些目的,必须设置什么样的硬件? 20、说明外围设备的I/O控制方式分类及特点。 21、把外围设备接入计算机系统时,必须解决哪些问题? 四、计算题 CPU执行一段程序时,cache完成存取的次数为3800次,主存完成的次数为200次,已知cache存储周期为50ns,主存存储周期为250ns,求cache/主存系统的效率和平均访问时间。 答:CACHE的命中率:H=Nc/(Nc+Nm)=3800/(3800+200)=0.95 R=Tm/Tc=250ns/50ns=5

计算机组成原理_阵列乘法器设计

沈阳航空航天大学 课程设计报告 课程设计名称:计算机组成原理课程设计课程设计题目:阵列乘法器的设计与实现 院(系):计算机学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 完成日期:2014年1月10日

沈阳航空航天大学课程设计报告 _______________________________________________________________________________ 目录 第1章总体设计方案 (1) 1.1设计原理 (1) 1.2设计思路 (2) 1.3设计环境 (3) 第2章详细设计方案 (3) 2.1总体方案的设计与实现 (4) 2.1.1总体方案的逻辑图 (4) 2.1.2器件的选择与引脚锁定 (4) 2.1.3编译、综合、适配 (5) 2.2功能模块的设计与实现 (5) 2.2.1一位全加器的设计与实现 (6) 2.2.2 4位输入端加法器的设计与实现 (7) 2.2.3 阵列乘法器的设计与实现 (10) 第3章硬件测试 (13) 3.1编程下载 (13) 3.2 硬件测试及结果分析 (13) 参考文献 (15) 附录(电路原理图) (16)

第1章总体设计方案 1.1 设计原理 阵列乘法器采用类似人工计算的方法进行乘法运算。人工计算方法是用乘数的每一位去乘被乘数,然后将每一位权值对应相加得出每一位的最终结果。如图1.1所示,用乘数的每一位直接去乘被乘数得到部分积并按位列为一行,每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值。将各次部分积求和,即将各次部分积的对应数位求和即得到最终乘积的对应数位的权值。 为了进一步提高乘法的运算速度,可采用大规模的阵列乘法器来实现,阵列乘法器的乘数与被乘数都是二进制数。可以通过乘数从最后一位起一个一个和被乘数相与,自第二位起要依次向左移一位,形成一个阵列的形式。这就可将其看成一个全加的过程,将乘数某位与被乘数某位与完的结果加上乘数某位的下一位与被乘数某位的下一位与完的结果再加上前一列的进位进而得出每一位的结果,假设被乘数与乘数的位数均为4位二进制数,即m=n=4,A×B可用如下竖式算出,如图1.1所示。 X 4 X 3 X 2 X 1 =A × Y 4 Y 3 Y 2 Y 1 =B X 4Y 1 X 3 Y 1 X 2 Y 1 X 1 Y 1 X 4Y 2 X 3 Y 2 X 2 Y 2 X 1 Y 2 X 4Y 3 X 3 Y 3 X 2 Y 3 X 1 Y 3 (进位) X4Y4 X3Y4 X2Y4 X1Y4 Z 8 Z 7 Z 6 Z 5 Z 4 Z 3 Z 2 Z 1 图1.1 A×B计算竖式 X 4 ,X 3 ,X 2 ,X 1 ,Y 4 ,Y 3 ,Y 2 ,Y 1 为阵列乘法器的输入端,Z 1 -Z 8 为阵列乘法器 的输出端,该逻辑框图所要完成的功能是实现两个四位二进制既A(X)*B(Y)的 乘法运算,其计算结果为C(Z) (其中A(X)=X 4X 3 X 2 X 1 ,B(Y)=Y 4 Y 3 Y 2 Y 1 , C(Z)=Z 8Z 7 Z 6 Z 5 Z 4 Z 3 Z 2 Z 1 而且输入和输出结果均用二进制表示 )。阵列乘法器的总原 理如图1.2所示。

基于VHDL的8位除法器的实现

基于VHDL的8位除法器的实现 The Design of 8 Division With VHDL 摘要:介绍了利用VHDL实现八位除法,采用层次化设计,给出了实现除法的子模块程序。使用Altera公司的MAX+PLUSII10.2开发软件进行功能仿真并给出仿真波形。 关键词:二进制除法 VHDL MAX+PLUS2 Abstract:The design of division(8/8) by hierarchy technique is proposed. Schematic documents and submodule program with VHDL language are also given. At the end of the article, using MAX+PLUS2, the flow char is given and the simulation result is attached. Keywords: division VHDL MAX+PLUS2 引言 除法是数值计算和数据分析中最常用的运算之一,许多高级运算如平方根、指数、三角函数等都与其有关。在FPGA中,有加、减、乘、除的算法指令,但除法中除数必须是2的幂,因此无法实现除数为任意数的除法。本文用VHDL编写了除法运算,可实现任意八位数的除法。 除法器的设计 本文所采用的除法原理是: 对于八位无符号被除数A,先对A转换成高八位是0低八位是A的数C,在时钟脉冲的每个上升沿C向左移动一位,最后一位补零,同时判断C的高八位是否大于除数B,如是则C的高八位减去B,同时进行移位操作,将C的第二位置1。否则,继续移位操作。经过八个周期后,所得到的C的高八位为余数,第八位为商。从图(1)可清楚地看出此除法器的工作原理。此除法器主要包括比较器、减法器、移位器、控制器等模块。 1、比较模块 设计中所用的八位比较器是由两个四位比较器级联而成的。比较器的原理是先对高位进行比较,如果不相等,则得出结论,否则,再对下一位进行比较。设计的四位比较器可以级联成任意位的比较器。比较器输出信号决定减法器是否进行减法运算。 2、运算控制模块 控制模块的主要在外部运算时钟和起始信号的作用下,产生控制其他模块所需的数据调用、运算同步时钟以及乘法运算结束标志信号等。其VHDL语言描述如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ARICTL IS ——除法运算控制器 PORT(CLK,START:IN STD_LOGIC; CLKOUT,RSTALL,ARIEND:OUT STD_LOGIC); END ARICTL; ARCHITECTURE BEHAV OF ARICTL IS SIGNAL SIGN:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN RSTALL<=START; CLKOUT<=CLK;

第二章参考答案

第2章 参考答案 2写出下列十进制数的原码、反码、补码和移码表示(用8位二进制数)。如果是小数,则用定点小数表示;若为整数,则用定点整数表示。其中MSB 是最高位(符号位),LSB 是最低位。 (1)-1 (2) -38/64 解: (1)-1=(-0000001)2 原码: 10000001 反码: 11111110 吧 补码: 11111111 移码: 01111111 (2)-38/64=-0.59375=(-0.1001100)2 或-38/64=-(32+4+2)*2-6=-(100110)*2-6=(-0.1001100)2 原码: 1 .1001100 反码: 1 .0110011 补码: 1 .0110100 移码: 0.0110100 注:-1如果看成小数,那么只有补码和移码能表示得到,定点小数-1的补码为:1.0000000 此例类似于8位定点整数的最小值-128补码为10000000 3 有一字长为32位的浮点数,符号位1位;阶码8位,用移码表示;尾数23位,用补码表示;基数为2.请写出:(1)最大数的二进制表示,(2)最小数的二进制表示,(3)规格化数所能表示的数的范围。 解:(题目没有指定格式的情况下,用一般表示法做) (1)最大数的二进制表示:0 11111111 11111111111111111111111 (2)最小数的二进制表示:1 11111111 00000000000000000000000 (1) )(231221*27--- (2) )(1*2127-- (3)规格化最大正数:0 11111111 11111111111111111111111 )(231221*27---

阵列除法器

沈阳航空工业学院 课程设计报告 课程设计名称:计算机组成原理课程设计课程设计题目:阵列除法器的设计 院(系):计算机学院 专业:计算机科学与技术 班级:7401101 学号:200704011004 姓名:刘慧 指导教师:施国君 完成日期:2010年1月15日

沈阳航空工业学院课程设计报告 目录 第1章总体设计方案 (1) 1.1设计原理 (1) 1.2设计思路 (2) 1.3设计环境 (3) 第2章详细设计方案 (6) 2.1顶层方案图的设计与实现 (6) 2.1.1创建顶层图形设计文件 (6) 2.1.2器件的选择与引脚锁定 (7) 2.1.3编译、综合、适配 (8) 2.2功能模块的设计与实现 (8) 2.3仿真调试 (10) 第3章编程下载与硬件测试 (12) 3.1编程下载 (12) 3.2硬件测试及结果分析 (12) 参考文献 (14) 附录(电路原理图) (15)

第1章总体设计方案 1.1 设计原理 阵列除法器的功能是利用一个可控加法/减法(CAS)单元所组成的流水阵列来实现的。它有四个输出端和四个输入端。当输入线P=0时,CAS作加法运算;当P=1时,CAS作减法运算。可控加法/减法(CAS)单元的逻辑电路图如图1.1所示。 图1.1可控加法/减法(CAS)单元的逻辑图 CAS单元的输入与输出关系可用如下一组逻辑方程来表示: S i=A i ⊕(B i ⊕P) ?C C i+1=(A i+C i) ?(B i ⊕P)+A i C i 当P=0时,就得到我们熟悉的一位全加器(FA)的公式: S i=A i ⊕B i ⊕C i C i+1=A i B i+B i C i+A i C i 当P=1时,则得求差公式: S i=A i ?B i '?C i C i+1=A i B i '+B i 'C i+A i C i 其中B i '=B i?1。 称为借位输出。 在减法情况下,输入C i称为借位输入,而C i +1

高效除法器verilog实现

v1.0可编辑可修改 西北工业大学 《FPGA技术实验》 实验报告二 (高效除法 器)

可编辑可修改 学院: 学号: 姓名: 专业: 实验时间: 实验地点: 软件与微电子学院微电子学 毅字楼335

指导教师:王少熙 西北工业大学 2010年10月

为了能清楚的展示以上算法我们看下面例子:为了简单期间我们假设被除数 (did)是4位,除数(dis)是2位,商(quo)是4位,余数(rem)是4位,设did=0110,dis=10,我们来看看是怎么执行的?首先余数和商都清零,即rem=0,quo=0;把被除数的最高位0拼接到rem的最低位,此时rem=0000B,由于rem小于除数dis=10,则商quo[3]=0;下面进行第二次计算,把did[2]拼接到rem 最低位,此时rem=0001,dis=10>rem,故quo[2]=0;继续计算,把 did[1]拼接到rem 最低位,此时rem=0011,dis=10

进行最后一轮运算,把did[O]拼接到rem最低位,此时rem=0010,dis=10=rem, 因此 quo[0]=1,rem=rem-dis=0010-10=0000,至此我们已计算完毕商quo=0011, 余数rem=0000;计算简单快速. 2.测试平台设计 模块设计 'timescale 1ns/1ns module divider_8_4(did, error 置 1 ); parameter M=7; 数分别是9,10,11,12,13,14,15 时商为0,余数分别9,10,11,12,13,14,15. 当被除数为147,除数分别为1,2,3,4,5,6,7 时,商分别为 147,73,49,36,29,24,21, 余数分别为0,1,0,3,2,3,0. 结果正确.

32位除法器的设计

subdesign divt ( a[31..0],b[31..0],inclk,trig:input; c[31..0],oe : output; ) variable ma[32..0],mb[32..0]:dff; mmc[32..0]:dff; mc[2..0],md[5..0] :dff; begin mmc[].clk=inclk; ma[].clk=inclk; mb[].clk=inclk; md[].clk=inclk; mc[].clk=inclk; case mc[] is when 0=> mb[]=(0,b[]);ma[]=(0,a[]); if trig==gnd then st[]=1; else st[]=0; end if; md[]=md[]; when 1 => ma[]=ma[];md[]=md[]+1; if mb[31]==gnd then FOR i IN 31 TO 1 GENERATE mb[i] =mb[i-1] ; END GENERATE;

mc[]=1; else mb[]=mb[]; mc[]=2; end if; when 2=> mb[]=mb[]; md[]=md[]; if ma[]>=mb[] then ma[]=ma[]-mb[]; mc[]=4;mmc[]=mmc[]+1; else mc[]=3;mmc[]=mmc[]; ma[]=ma[]; end if; when 3=> mc[]=4; FOR n IN 32 TO 1 GENERATE ma[n] =ma[n-1] ; mmc[n]=mmc[n-1]; END GENERATE; mb[]=mb[]; md[]=md[]-1; when 4=> ma[]=ma[];mmc[]=mmc[]; mb[]=mb[]; if md[]==1 then mc[]=5;md[]=md[]; else mc[]=2;md[]=md[];

原码加减交替除法

2.5 定点除法运算 2.5.1 原码一位除法 设被除数[x]原=xf.x1x2…xn,除数[y]原=yf.y1y2…yn 则有[x÷y]原=(xf⊕yf)+(0.x1x2…xn/0.y1y2…yn) 对于定点小数,为使商不发生溢出,必须保证|x|<|y|;对于定点整数,为使商不发生溢出,必须保证双字|x|的高位字部分<|y|。 计算机实现原码除法,有恢复余数法和不恢复余数法两种方法。 1. 恢复余数法 由于每次商0之前都要先恢复余数,因此这种方法称之为恢复余数法。 [例2.40] x=0.1001,y=-0.1011,用原码恢复余数法计算x÷y。

2. 不恢复余数法 不恢复余数法又称加减交替法,它是恢复余数法的一种变形。设ri表示第i次运算后所得的余数,按照恢复余数法,有: 若ri>0,则商1,余数和商左移1位,再减去除数,即 ri+1=2ri-y 若ri<0,则先恢复余数,再商0,余数和商左移1位,再减去除数,即 ri+1=2(ri+y)-y=2ri+y 由以上两点可以得出原码加减交替法的运算规则: 若ri>0,则商1,余数和商左移1位,再减去除数,即ri+1=2ri-y; 若ri<0,则商0,余数和商左移1位,再加上除数,即ri+1=2ri+y。 由于此种方法在运算时不需要恢复余数,因此称之为不恢复余数法。原码加减交替法是在恢复余数的基础上推导而来的,当末位商1时,所得到的余数与恢复余数法相同,是正确的余数。但当末位商0时,为得到正确的余数,需增加一步恢复余数,在恢复余数后,商左移一位,最后一步余数不左移。 [例2.41] x=0.1001,y=-0.1011,用原码加减交替法计算x÷y。 由例2.41可以看出,运算过程中每一步所上的商正好与当前运算结果的符号位相反,在原码加减交替除法硬件设计时每一步所上的商便是由运算结果的符号位取反得到的。由例2.41还可以看出,当被除数(余数)和除数为单符号时,运算过程中每一步所上的商正好与符号位运算向前产生的进位相同,在原码阵列除法器硬件设计时每一步所上的商便是由单符号位运算向前产生的进位得到的。 [例2.42] x=-10110000,y=1101,用原码加减交替法计算x÷y。

乘位阵列乘法器设计

乘位阵列乘法器设计集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

课程设计报告课程设计题目: 4乘4位阵列乘法器设计 学生姓名:杨博闻 学号 专业:计算机科学与技术 班级: 1120701 指导教师:汪宇玲 2014年 1月 4日

一、设计目的 1.掌握乘法器的原理及其设计方法。 2 .熟练应用CPLD 设计及 EDA 操作软件。 二、设计设备 1.TDN-CM+或 TDN-CM++教学实验系统一套。 2 ·PC 微机一台。 3·ispDesignEXPERT 软件 模型机数据通路结构框图 三、设计原理 本实验用 CPLD 来设计一个 4 ×4 位乘法器,相对于画电路图输入,用 ABEL 语言描述是比较方便的。其算式如下(其中括号中的数字表示在 ABEL 源程序描述中的功能块调用编号): a3 a2 a1 a0 × b3 b2 b1 b0 ---------------------------------------------------------------------------------------------------------- a3b0(10) a2b0(6) a1b0(3) a0b0(1) a3b1(13) a2b1(9) a1b1(5) a0b1(2)

a3b2(15) a2b2(12) a1b2(8) a0b2(4) + a3b3(16) a2b3(14) a1b3(11) a0b3(7) ----------------------------------------------------------- ------------------------------------------------ p7 p6 p5 p4 p3 p2 p1 p0 四、设计步骤 1.安装EDA 软件 打开计算机电源,进入 Windows 系统,安装上述 ispDesignEXPERT 软件。安装完成后,桌面和开始菜单中则建有 ispDesignEXPERT 软件图 标。 2.用ispDesignEXPERT 软件根据上述乘法的逻辑原理用ABEL 语言 编写功能描述程序。 其在 1032 芯片中对应的管脚如图: 3.编辑、编译和下载 使用 ispDesignEXPERT 软件编辑源程序并进行编译,然后打开实验 系统电源,将生成的 JEDEC 文件下载到 ispLSI1032 中去。 4 .连接实验电路 按下图连接实验电路。 5 .给定操作数,观察乘法器输出 将 SWITCH UNIT 单元中的 SW-B、AR 开关置为低电平状态。在 INPUT DEVICE 单元中的 8 个开关的高 4 位为乘数 A ,低四位为被乘

简单的除法器设计系统

除法器设计 摘要: 本设计要求设计一个简单的除法器,根据要求采用乘法器BG314与运算放大器3554AM以及外部电源共同实现除法器功能.乘法器用以实现乘法运算,然后通过运算放大器工作于负反馈状态实现信号的放大,并由自制电源电路供电.通过对系统各模块进行仔细的分析,了解了各器件的性能与用途后,便可将其运用到自己的设计当中去.电路设计完成后,开始对系统进行测试,方法有两种,可以通过对系统电路在Multisim软件下仿真测试,也可以做出相应的印制电路板来进行测试.在本设计中,通过仿真测试与实物测试相结合的综合测试后,发现系统基本能达到设计要求. 关键字: 乘法器运算放大器电源Multisim 印制电路板Summary: This design requests to design a simple division machine, adopting the multiplication machine BG314 and the operation enlarger 3554 AMses and the exterior power supplies according to the request to carry out the division machine function together.The multiplication machine carries out the multiplication operation in order to, then pass to operate the enlarger work to carry out the signal to enlarge in the negative feedback appearance, and from the self-control power supply electric circuit power supply.Pass to carry on the careful analysis to each mold of system piece, after understanding the function and uses of each machine piece, can make use of it to own design then in the middle.The electric circuit is after design complete, starting carrying on the test to the system, the method have two kinds of, can pass to imitate the true test to the system electric circuit under the software of Multisim, can also do a homologous of print and make circuit board to carry on the test.In this design, after passing to imitate the comprehensive test that the true test and real objects test combine together, discover that the system is basic and can attain design to request. Key word: The multiplication machine operation enlarger power supply Multisim prints to make the circuit board 目录

第2章习题答案

习题2 1. 写出下列各数的原码、反码、补码、移码(用8位二进制表示),其中MSB是最高位(符号位),LSB是最低位。如果是小数,则小数点在MSB之后;如果是整数,则小数点在LSB之后。 (1)-59/64 (2)27/128 (3)-127/128 (4)用小数表示-1 (5)用整数表示-1 (6)-127 (7)35 (8)-128 2. 设[x]补=x0.x1x2x3x4,其中x i取0或1,若要使x>-0.5,则x0、x1、x2、x3、x4的取值应满足什么条件? 3. 若32位定点小数的最高位为符号位,用补码表示,则所能表示的最大正数为,最小正数为,最大负数为,最小负数为;若32位定点整数的最高位为符号位,用原码表示,则所能表示的最大正数为,最小正数为,最大负数为,最小负数为。 4. 若机器字长为32位,在浮点数据表示时阶符占1位,阶码值占7位,数符占1位,尾数值占23位,阶码用移码表示,尾数用原码表示,则该浮点数格式所能表示的最大正数为,最小正数为,最大负数为,最小负数为。 5. 某机浮点数字长为18位,格式如图2.35所示,已知阶码(含阶符)用补码表示,尾数(含数符)用原码表示。 (1)将(-1027)10表示成规格化浮点数; (2)浮点数(0EF43)16是否是规格化浮点数?它所表示的真值是多少? 图2.35 浮点数的表示格式 6. 有一个字长为32位的浮点数,格式如图2.36所示,已知数符占1位;阶码占8位,用移码表示;尾数值占23位,尾数用补码表示。 图2.36 浮点数的表示格式 请写出:

(1)所能表示的最大正数; (2)所能表示的最小负数; (3)规格化数所能表示的数的范围。 7. 若浮点数x的IEEE754标准的32位存储格式为(8FEFC000)16,求其浮点数的十进制数值。 8. 将数(-7.28125)10转换成IEEE754标准的32位浮点数的二进制存储格式。 9. 已知x=-0.x1x2…x n,求证:[x]补=+0.00…01。 10. 已知[x]补=1.x1x2x3x4x5x6,求证:[x]原=+0.000001。 11. 已知x和y,用变形补码计算x+y,同时指出运算结果是否发生溢出。 (1)x=0.11011 y=-0.10101 (2)x=-10110 y=-00011 12. 已知x和y,用变形补码计算x-y,同时指出运算结果是否发生溢出。 (1)x=0.10111 y=0.11011 (2)x=11011 y=-10011 13. 已知[x]补=1.1011000,[y]补=1.0100110,用变形补码计算2[x]补+1/2[y]补=?,同时指出结果是否发生溢出。 14. 已知x和y,用原码运算规则计算x+y,同时指出运算结果是否发生溢出。 (1)x=0.1011,y=-0.1110 (2)x=-1101,y=-1010 15. 已知x和y,用原码运算规则计算x-y,同时指出运算结果是否发生溢出。 (1)x=0.1101,y=0.0001 (2)x=0011,y=1110 16. 已知x和y,用移码运算方法计算x+y,同时指出运算结果是否发生溢出。 (1)x=-1001,y=1101 (2)x=1101,y=1011

计算机组成原理 阵列乘法器的设计

沈阳***** 课程设计报告 课程设计名称:计算机组成原理课程设计课程设计题目:阵列乘法器的设计 院(系):计算机学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 完成日期:2007年1月7日

目录 第1章总体设计方案 (1) 1.1 设计原理 (1) 1.2 设计思路 (1) 1.3 设计环境 (1) 第二章详细设计方案 (2) 2.1顶层方案图的设计与实现 (2) 2.1.1创建顶层图形设计文件 (2) 2.1.2器件的选择与引脚锁定 (3) 2.1.3编译、综合、适配........................................................................ . (4) 2.2底层的设计与实现........................................................................ (4) 2.2.1阵列乘法器的设计与实现..................................... ................. .......... ................. (4) 2.3功能模块的设计与实现 (6) 2.4 仿真调试.................................................................................. (7) 第3章编程下载与硬件测试 (10) 3.1 编程下载 (10) 3.2 硬件测试及结果分析 (10) 参考文献 (12) 课程设计总结 (13)

除法器设计

除法器 1.題目: 設計一個除法器電路,輸入8-位元的被除數A與除數B,輸出為商Q=A/B及餘數R。 2.除法器設計: 本單元介紹一個除法器的電路設計,圖4.17(a)是一個通俗的除法例子。 首先嘗試將被除數140最左邊的數字1除以除數9,結果無法相除;接下來嘗試將14除以9,此時已可以決定商數最左邊(第一個)的數字是l,並且作14-9=5的減法,接著取被除數最後一個數字形成50,最後得到商為15(50除以9=5餘5),餘數為5。圖4.17(b)則是以二進位的數字來描述除法的步驟,只是處理的數字只限於0和1。 給定兩個n-位元的無號數A和B,希望設計一個電路,它的輸入為A和B,輸出為Q和R,而且Q=A/B為商數及R為餘數。圖4.17(b)的程序可以用

每次將A左移一位元到移位暫存器R的方式來製作。在每次位移運算之後,如果R>=A,就把1放在商數的適當的位置上;否則,就放置0在商數裡。圖4.17(c)展示這個演算法的pseudo code。R||A表示為將R和A組合而成的2n-位元的移位暫存器,其中R為最左邊全位元,A為最右邊n-位元。 圖4.18除法的ASM chart中,C代表計數器,其初值為n-1在啟始狀態S1設定。在狀態S2時,R和A同時往左移一位,然後在狀態S3時,如果R>=B,則將R減去B。此時,如果C=0,這個機器會跳到狀態S4,訊號Done 設成l,代表已完成除法的運算;否則重複狀態S2及S3,直到C=0。

資料路徑電路(Datapath Circuit) 除法器的資料路徑展示在圖 4.19內,包括以下元件: ●n-位元移位暫存器:用來左移A、R和Q。 ●n-位元暫存器:用來儲存B。 ●加法器:連接B的補數,並將carry-in設為1,可以作減B的運算。如 果carry-out,Cout=1,代表R>=B。因此可以將Cout直接連到 儲存Q的移位暫存器之serial input,在狀態S3,cout才會移位 進入Q。 ●多工器:在狀態S1時,選擇將0載入R,在狀態S3時,選擇將加法器 的輸出載入R。

相关主题
文本预览
相关文档 最新文档