当前位置:文档之家› 4位阵列乘法器

4位阵列乘法器

4位阵列乘法器
4位阵列乘法器

目录

一、设计题目 (2)

二、设计目的 (2)

三、设计过程 (2)

3.1设计原理 (2)

3.2器件选择 (3)

3.3逻辑原理 (3)

3.4阵列乘法器的逻辑原理 (4)

3.5 时序图 (4)

四、设计心得 (5)

五、参考文献 (6)

4位阵列乘法器

一、设计题目4位阵列乘法器

二、设计目的

计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决问题的能力。

同时也巩固了我们对课本知识的掌握,加深了对知识的理解。在设计中我们发现问题,分析问题,到最终的解决问题。凝聚了我们对问题的思考,充分的锻炼了我们的动手能力、团队合作能力、分析解决问题的能力。

三、设计过程

3.1设计原理

阵列乘法器是类似于人工计算(如图1.1所示)的方法,乘数与被乘数都是二进制数。所以可以通过乘数从最后一位起一个一个和被乘数相与,自第二位起要依次向左移一位,形成一个阵列的形式。这就可将其看成一个全加的过程,将乘数某位与被乘数某位与完的结果加上乘数某位的下一位与被乘数某位的下一位与完的结果再加上前一列的进位进而得出每一位的结果。

一个阵列乘法器要完成X.Y乘法运算(X=X4X3X2X1,Y=Y4Y3Y2Y1)。阵列的每一行送入乘数Y的每一位数位,而各行错开形成的每一斜列则送入被乘数的每一数位。阵列乘法器是由十六个模块组成,每一个模块构包括一个与门和一位全加器。

1 0 1 1

× 1 1 0 1

________________

10 1 1

00 0 0

1 0 1 1

1 0 1 1

___________________________

1 0 0 0 1 1 1 1

图1人工计算乘法示例

3.2器件选择

由于硬件环境基于QUARTUS Ⅱ的环境下实现的,采用芯片74283,与门完成4位阵列乘法器。(如下图2)

器件74283为加法器

图2 4位阵列乘法器所使用芯片

3.3逻辑原理

由小器件单元模块到最终阵列乘法器大模块的实现,功能图及原理图。

总逻辑电路:

图 3

3.4阵列乘法器的逻辑原理

阵列乘法器的原理,设X1,X2,X3,X4,Y1,Y2,Y3,Y4为阵列乘法器的输入端,Z1~Z8为阵列乘法器的输出端,该逻辑框图完成的功能实现两个二进制既F(X)*F(Y)的乘法运算,其运算结果为F(Z).( 其中F( X)=X1X2X3X4,F(Y)=Y1Y2Y3Y4),F(Z)=Z1Z2Z3Z4Z5Z6Z7Z8而且输入和输出结果均用二进制表示),,乘法运算可分解为移位和相加两种子运算,而且是多种相加运算,所以是一个累加的过程。实现这一累加过程的方法是,把每次相加的结果用部分积P 表示,若B中某一位iB=1,则部分积P右移1位后与A相加;若B中某一位iB=0,则部分积P右移1位后与0相加。通过四次移位和累加,最后得到的部分积就是A与B的乘积。

3.5 时序图(图 4)

图 4

图中分别对应被乘数A0,A1,A2,A3,乘数B0,B1,B2,B3,积为Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7

例子1、 A:1011, B:1111,则Z:10100101

例子2、 A:1010, B:1001,则Z:01011010

例子3、 A:1011, B:1011,则Z:10001001

例子4、 A:1001, B:1100,则Z:01101100

四、设计心得

紧张的计组终于接近尾声,通过这一周的学习我感觉有很大的收获,我把相对多的精力放在环境设置和原理应用上。对我们言,知识上的收获重要,精神上的丰收更加可喜。挫折是一份财富,经历是一份拥有。这次实习必将成为我人生旅途上一个非常美好的回忆!通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计终于顺利完成了,在设计中遇到了很多专业知识问题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上我们学也到很多实用的知识,在次我们表示感谢!同时,对给过我帮助的所有同学和指导老师再次表示忠心的感谢!

五、参考文献

[1]邹凤华谷赫《计算机组成原理》、《数字逻辑》

[2]王爱英《计算机组成原理》出版社清华大学出版

[3]范延滨微型计算机系统原理北京邮电大学出版社

[4]杜建国Verilog HDL硬件描述语言北京清华大学出版社

[5]姜雪松可编辑逻辑部件北京机械工业出版社2008年

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

. 课程设计

. 教学院计算机学院 课程名称计算机组成原理题目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

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

沈阳航空航天大学 课程设计报告 课程设计名称:计算机组成原理课程设计课程设计题目:阵列乘法器的设计与实现 院(系):计算机学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 完成日期: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所示。

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

一、单项选择题(本大题共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

八位乘法器VHDL及功能模块说明

EDA课程设计报告 实验名称:八位乘法器

目录 一.引言 1.1 EDA技术的概念?? 1.2 EDA技术的特点?? 1.3 EDA设计流程?? 1.4 VHDL介绍?? 二.八位乘法器的设计要求与设计思路??2.1 设计目的?? 2.2 设计要求?? 三.八位乘法器的综合设计?? 3.1 八位乘法器功能?? 3.2 八位乘法器设计方案?? 3.3 八位乘法器实体设计?? 3.4 八位乘法器VHDL设计?? 3. 5八位乘法器仿真图形?? 心得体会?? 参考文献??

一、引言 1.1 EDA技术的概念 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。 1.2 EDA技术的特点 利用EDA技术进行电子系统的设计,具有以下几个特点:①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDA技术是现代电子设计的发展趋势。 1.3 EDA设计流程 典型的EDA设计流程如下: 1、文本/原理图编辑与修改。首先利用EDA工具的文本或图形编辑器将设计者的设计意图用文本或图形方式表达出来。 2、编译。完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合做准备。 3、综合。将软件设计与硬件的可实现性挂钩,是将软件转化为硬件电路的关键步骤。 4、行为仿真和功能仿真。利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。 5、适配。利用FPGA/CPLD布局布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配臵、逻辑分割、逻辑优化、布局布线。适配报告指明了芯片内资源的分配与利用、引脚锁定、设计的布尔方程描述情况。

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

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

` 目录 一、项目名称 (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 它在阵列的最下一行产生。

计算机组成原理参考答案

计算机组成原理参考答案

三、简答题 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

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

课程设计

教学院计算机学院 课程名称计算机组成原理题目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

quartus II 软件做4的位乘法器设计(vhdl 语言)

用quartus II 软件设计4位乘法器 1. 并行乘法的算法: 下面根据乘法例题来分析这种算法,题中M4,M3,M2,M1是被乘数,用M表示。N4,N3,N2,N1是乘数,用N表示 2.乘法模块 Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_unsigned.all; Entity and4a is Port(a:in std_logic_vector(3 downto 0); en:in std_logic; r:out std_logic_vector(3 downto 0)); End and4a; Architecture behave of and4a is Begin Process(en,a(3 downto 0)) Begin If (en='1') then r<=a; Else r<="0000"; End if; End process; End behave;

3.加法模块 Library ieee; Use ieee.std_logic_1164.all; Entity ls283 is Port (o1,o2:in std_logic_vector(3 downto 0); res:out std_logic_vector(4 downto 0)); End ls283; Architecture behave of ls283 is Begin Process(o1,o2) Begin res<=('0'&o1)+('0'&o2); End process; End behave;

移位相加型8位硬件乘法器设计

合肥学院 课程设计报告 题目:移位相加型8位硬件乘法器 系别:电子信息与电气工程系 专业:通信工程 班级: 13通信工程(1)班 学号: 姓名: 导师:石朝毅 成绩: 2016年 6 月 11 日

移位相加型8位硬件乘法器设计 摘要 本次设计是基于时序结构的8位移位相加型乘法器,使用软件QuartusII进行仿真设计。完成此乘法器,我们需要首先设计该乘法器的组件,包括REGSHT模块、SREG8BT模块、AND8B模块和ADDER8BT模块,并对所有元件进行仿真,无误后可进行乘法器的设计。设计方法使用的是元件例化,具体原理是通过逐项相加来实现乘法功能,最终完成整体的VHDL程序设计并仿真。 关键词:时序;乘法器;元件例化

目录 第一章前言............................................ 错误!未定义书签。设计概述............................................. 错误!未定义书签。 问题提出与原理..................................... 错误!未定义书签。 设计需要........................................... 错误!未定义书签。第二章设计过程及结果.................................. 错误!未定义书签。设计思路............................................. 错误!未定义书签。 设计须知........................................... 错误!未定义书签。 基本步骤........................................... 错误!未定义书签。设计代码及仿真....................................... 错误!未定义书签。 元件REGSHT设计代码及仿真结果...................... 错误!未定义书签。 元件SREG8BT设计代码及仿真结果..................... 错误!未定义书签。 元件AND8B设计代码及仿真结果....................... 错误!未定义书签。 元件ADDER8BT设计代码及仿真结果.................... 错误!未定义书签。 总模块设计代码及仿真结果........................... 错误!未定义书签。第三章总结............................................ 错误!未定义书签。致谢................................................... 错误!未定义书签。

第二章参考答案

第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

乘位阵列乘法器设计

乘位阵列乘法器设计集团文件版本号:(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 ,低四位为被乘

四川大学数电课程设计(四位二进制无符号数乘法器 ).

数字电子技术基础课程设计报告 学院电气信息学院 专业 姓名 学号 设计题目四位二进制无符号数乘法器

目录 1设计任务描述 (1) 1.1设计描述 (1) 1.2设计概述 (1) 2通用器件实现 (1) 2.1方案一与门和全加器组合逻辑电路 (1) 2.1.1设计思路 (1) 2.1.2仿真测试 (2) 2.1.3优缺点分析 (3) 2.2方案二多种通用集成芯片组合逻辑电路 (3) 2.2.1设计思路 (3) 2.2.2仿真测试 (5) 2.2.3优缺点分析 (7) 3使用硬件描述语言——Verilog实现 (7) 3.1设计目的 (7) 3.2设计要求 (7) 3.3硬件语言描述 (7) 3.4BASY2板结果附图 (9) 4结论与心得体会 (11) 4.1结论 (11) 4.2心得体会 (11)

1设计任务描述 1.1设计描述 设计一个乘法器,实现两个四位二进制数的乘法。两个二进制数分别是被乘数3210A A A A 和乘数3210B B B B 。被乘数和乘数这两个二进制数分别由高低电平给出。乘法运算的结果即乘积由电平指示灯显示的二进制数。做到保持乘积、输出乘积,即认为目的实现,结束运算。 1.2设计概述 4位二进制乘法器在实际中具有广泛应用。它是一些计算器的基本组成部分,其原理适用于很多计算器和大型计算机,它涉及到时序逻辑电路如何设计、分析和工作等方面。通过此电路更深刻的了解时序逻辑部件的工作原理,从而掌握如何根据需要设计满足要求的各种电路图,解决生活中的实际问题,将所学知识应用于实践中。 2通用器件实现 2.1方案一与门和全加器组合逻辑电路 2.1.1设计思路手动实现两个四位二进制乘法的计算,应为以下过程: 1 23456781 2341234111100011 10111010 0001 10110111 101C C C C C C C C A A A A B B B B 设乘数为1234A A A A (下标数字大则为高位),被乘数为1234B B B B ,使乘数从低位到高位依次与被乘数相乘,得到四个四位二进制加数,再依次对四个加数错位相加,得到八位的二进制的乘法运算结果。 依次算法,两个四进制乘数由8个单刀双掷开关接地(低电平0)和接5V(高电平1)进行输入,乘数A 从低位到高位依次与被乘数B 相乘过程可用二输入与门实现,共得到四个加数16个与运算结果,乘数最低位1A 与被乘数作与运算的四位结果的最低位即是乘法运算结果的最低位1C ;依次用三个四位全加器对四个加数进行全加运算,运算时输入两个四位二进制数,输入进位信号接地为0,低级的全加器的运算结果进位信号作为与下一个加数进行全加运算的被加数的最高位,四位全加运算结果的最低位作为输出结果,并从低到高位的依次输出432C C C 、、,最后一个全加器运算过后得到进位信号是八位二进制计算结果的最高位8C ,剩余的高三位输出分别为567C C C 、、,将8位输出结果直接在通过电阻到地保护的发光二极管表示。

EDA课程设计报告_-_5位整数乘法器设计

有符号5位整数乘法器设计与制作 1.课程设计的性质、目的和任务 (1) 2.题目要求 (1) 3.设计步骤 (2) 3.1整体原理框图: (2) 3.2乘法器整体电路原理图: (2) 3.3输入模块: (2) 3.4运算模块: (3) 3.5显示控制模块: (6) 3.6显示模块: (7) 4.整体仿真 (12) 5.调试中遇到的问题及解决的方法 ........................................ 错误!未定义书签。 6.心得体会................................................................................... 错误!未定义书签。 7.建议:....................................................................................... 错误!未定义书签。 1.课程设计的性质、目的和任务 创新精神和实践能力二者之中,实践能力是基础和根本。这是由于创新基于实践、源于实践,实践出真知,实践检验真理。实践活动是创新的源泉,也是人才成长的必由之路。 通过课程设计的锻炼,要求学生掌握电路的一般设计方法,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,培养学生的创新精神。 2.题目要求 设计一个两个5位数相乘的乘法器。用发光二极管显示输入数值,用7段显示器显示十进制结果。乘数和被乘数分两次输入。在输入乘数和被乘数时,要求显示十进制输入数据。输入显示和计算结果显示,采用分时显示方式进行,可参见计算器的显示功能

4位阵列乘法器

目录 一、设计题目 (2) 二、设计目的 (2) 三、设计过程 (2) 3.1设计原理 (2) 3.2器件选择 (3) 3.3逻辑原理 (3) 3.4阵列乘法器的逻辑原理 (4) 3.5 时序图 (4) 四、设计心得 (5) 五、参考文献 (6)

4位阵列乘法器 一、设计题目4位阵列乘法器 二、设计目的 计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决问题的能力。 同时也巩固了我们对课本知识的掌握,加深了对知识的理解。在设计中我们发现问题,分析问题,到最终的解决问题。凝聚了我们对问题的思考,充分的锻炼了我们的动手能力、团队合作能力、分析解决问题的能力。 三、设计过程 3.1设计原理 阵列乘法器是类似于人工计算(如图1.1所示)的方法,乘数与被乘数都是二进制数。所以可以通过乘数从最后一位起一个一个和被乘数相与,自第二位起要依次向左移一位,形成一个阵列的形式。这就可将其看成一个全加的过程,将乘数某位与被乘数某位与完的结果加上乘数某位的下一位与被乘数某位的下一位与完的结果再加上前一列的进位进而得出每一位的结果。 一个阵列乘法器要完成X.Y乘法运算(X=X4X3X2X1,Y=Y4Y3Y2Y1)。阵列的每一行送入乘数Y的每一位数位,而各行错开形成的每一斜列则送入被乘数的每一数位。阵列乘法器是由十六个模块组成,每一个模块构包括一个与门和一位全加器。 1 0 1 1 × 1 1 0 1 ________________ 10 1 1 00 0 0 1 0 1 1 1 0 1 1 ___________________________ 1 0 0 0 1 1 1 1 图1人工计算乘法示例

原码加减交替除法

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。

8位乘法器毕业设计论文

本科生毕业论文(设计) 8位乘法器的设计 姓名:吴小东 指导教师:华婷婷 院系:信息工程学院 专业:计算机科学与技术 提交日期: 2010/4/30

目录 中文摘要 (2) 外文摘要 (3) 1.绪论 (4) 1.1概述 (4) 1.2 VHDL和MAX+PIUS简介 (5) 1.3 实验平台 (6) 2.乘法器初步设计 (7) 2.1 设计思想 (7) 2.2乘法器原理 (7) 2.3乘法器设计流程 (8) 3. 乘法器具体设计 (9) 3.1右移寄存器的设计 (9) 3.2 加法器模块的设计 (10) 3.2.1 4位加法器的设计 (10) 3.2.2 8位加法器的设计 (11) 3.3 乘1模块设计 (13) 3.4锁存器模块设计 (14) 4. 乘法器仿真 (17) 4.1 8位加法器仿真 (17) 4.2 乘1模块仿真 (17) 4.3 锁存器模块仿真 (18) 4.4 8位乘法器仿真 (18) 结束语 (19) 参考文献 (20) 致谢 (21)

8位乘法器的设计 吴小东 指导老师:华婷婷 (黄山学院信息工程学院,黄山,安徽 245041) 摘要:在微处理器芯片中,乘法器是进行数字信号处理的核心,同时也是微处理器中进行数据处理的关键部件,它已经是现代计算机必不可少的一部分。本文主要是在于如何运用标准硬件描述语言(VHDL)完成八位乘法器,以及如何做二进制位相乘的运算过程。该乘法器是由八位加法器构成的以时序方式设计八位乘法器,通过逐项移位相加来实现乘法功能,并以MAX+Plus II 软件工具进行模拟,仿真并予以显示。 关键字:乘法器;标准硬件描述语言(VHDL);移位相加;MAX+Plu s II

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

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

基于EDA的4位乘法器的设计

4位乘法器的设计 一、设计目的 设计一个四位乘法器。 编写VHDL 源代码,得出正确的仿真波形,并在实验开发系统上进行硬件演示。 二、乘法器设计原理 四位二进制乘法采用移位相加的方法。即用乘数的各位数码,从高位开始依次与被乘数相乘,每相乘一次得到的积称为部分积,将第一次得到的部分积左移一位并与第二次得到的部分积相加,将加得的和左移一位再与第三次得到的部分积相加,再将相加的结果左移一位与第四次得到的部分积相加,直到所的部分积都被加过一次。 原理框图: 三、设计程序代码 1)选通与门模块的源程序ANDARITH.VHD library ieee; use ieee.std_logic_1164.all; entity andarith is port(abin:in std_logic; din:in std_logic_vector(3 downto 0); dout:out std_logic_vector(3 downto 0)); end; architecture art3 of andarith is begin process(abin,din) begin for i in 0 to 3 loop dout(i)<=din(i) and abin; end loop; 锁存器 寄存器 加法器 选通与门 clk 输入 输出

end process; end art3; 2)4位右移寄存器的源程序SREG4B.VHD library ieee; use ieee.std_logic_1164.all; entity sreg4b is port(clk,en:in std_logic; load:in std_logic; din:in std_logic_vector(3 downto 0); qb:out std_logic); end; architecture art1 of sreg4b is signal reg4:std_logic_vector(3 downto 0); begin process(clk,load,en) begin if clk'event and clk ='1' and en='1' then if load='0' then reg4<=din; else reg4(2 downto 0)<=reg4(3 downto 1); end if; end if; end process; qb<=reg4(0); end art1; 3)8位锁存器的源程序REG8.VHD library ieee; use ieee.std_logic_1164.all; entity reg8 is port(clk,clr,en:in std_logic; d:in std_logic_vector(4 downto 0); q: out std_logic_vector(7 downto 0)); end; architecture art4 of reg8 is signal r8s:std_logic_vector(7 downto 0); begin process(clk,clr) begin if clr='0' then r8s<=(others=>'0');

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