数电课程设计四位二进制乘法器的设计与实现

合集下载

4位乘法器

4位乘法器

一、概述利用四位二进制寄存器、全加器以及D触发器等元器件,实现四位二进制乘法器的控制部分和乘法的实现部分。

成法是加法的简便运算乘法运算只能通过加法运算以及移位运算来实现。

在控制端用四个触发器产生四个控制信号来控制实现的加法移位功能,实现端在控制端信号作用下依次执行置零、加法、移位和循环操作。

二、方案说明设计一个4位二进制乘法器,可以存储其乘积。

电路原理框图如图1所示。

乘法器可以利用家发起和寄存器实现。

图1 乘法器原理框图寄存器B存放被乘数,寄存器Q存放乘数,两个乘积长度可能是原来的2倍,故计算完成后将累加和高位放入寄存器A,而Q放寄存器的低位,P 记录乘数的位数,每形成一个部分P加1,当P=4时,乘法结束,两数之积放在AQ寄存器中。

控制端产生四个控制信号分别为T0、T1、T2、T3。

在初态T0时,被乘数和乘数已分别存于寄存器B和Q中,等待启动信号S的到来,当S=1时控制器进入状态T1,在此状态下A、E、P清零,准备乘法操作。

从状态T2开始,控制器进入累计部分积的循环操作过程。

首先检验乘数的最低有效位Q1。

如Q1=1,A和B相加结果存于A和E之中;如果Q1=0,不做加法运算。

无论Q1为何值,都要将计数器P加1。

在状态T3,合成寄存器EAQ右移一位得到累计的部分积,时检测P之值,如果P不等于4,状态返回T2,继续累计部分积的过程。

如果P=4,停止循环,系统返回初始状态T0。

三、电路设计1、控制器设计根据图2所示的ASM图表,可以设计二进制乘法器的控制器。

图2 二进制乘法器ASM图表四个D触发器的驱动方程为:D0=T0S’+T3Z=((T0S’)’·(T3Z)’)’D1=T0S=((T0S)’)’D2=T1+T3Z’=(T1’·(T3Z’)’)’D3=T2控制器仿真电路如图2所示。

控制器中S为启动信号,高电平有效,系统开始工作时应使T0=1,T1=T2=T3=0,故图中设置了Reset信号(负脉冲)图2 二进制乘法器的控制逻辑图2. 二进制乘法器数据处理器(1) A寄存器A寄存器具有并入、移位、同步清0和保持功能。

4位乘法器的设计

4位乘法器的设计

4位乘法器的设计乘法器是计算机中非常重要的组成部分,用于实现数字乘法运算。

在设计4位乘法器时,需要考虑到多个方面,如计算的准确性、速度和功耗等。

本文将详细探讨4位乘法器的设计原理、逻辑电路实现以及性能分析。

1.乘法器的基本原理乘法操作是通过将被乘数与乘数一位一位地相乘,再将各位的结果相加得到最终的乘积。

因此,4位乘法器的设计需要考虑到每一位乘法的计算和结果的累加。

2.乘法器的逻辑电路实现2.14位乘法器的简单实现最简单的方法是采用两个4位二进制数相乘的定义,即将每一位的乘积相加得到最终的结果。

这可以通过4个并行的与门和一些全加器来实现。

具体的逻辑电路图如下所示:A0───────┐┌─────A1───────┤├─────A2───────┤├─────A3───────┤├─────AND0 OR0 CoutB0───────┐│B1───────┤XOR0B2───────┤B3───────┘从上图可以看出,A0到A3和B0到B3分别作为输入,经过与门得到各位的乘积,然后通过一系列的全加器将乘积相加得到最终结果。

在这种设计中,每个位的计算之间是并行的,因此可以快速得到乘法运算的结果。

2.2优化的4位乘法器上述简单实现的4位乘法器虽然能够实现乘法运算,但其性能方面存在一些不足。

为了提高性能,可以采用更复杂的逻辑电路设计。

一种常见的优化方法是使用布斯加算器(Booth's Algorithm)来实现乘法运算。

这种方法通过将乘法运算转化为位移和加减运算来减少乘法的次数,从而提高性能。

具体的实现方法如下:1)将被乘数和乘数拓展到5位,比特位B4作为符号位,初始值为0。

2)将被乘数拓展为4位乘子,乘数拓展为5位乘数。

3)初始化中间结果为0。

4)迭代循环4次进行乘法运算,每次进行下面的步骤:-如果乘数的最低位和符号位相同,什么都不做。

-如果乘数的最低位为0且前一位为1,将乘数和被乘数相加。

-如果乘数的最低位为1且前一位为0,将乘数和被乘数相减。

四位二进制乘法器课程设计报告

四位二进制乘法器课程设计报告

外,通过更换库再重新综合很容易移植为ASIC设 计。 (三)独立性 VHDL的硬件描述与具体的工艺技术和硬件结构无 关。设计者可以不懂硬件的结构,也不必管最终设 计实现的目标器件是什么,而进行独立的设计。程 序设计的硬件目标器件有广阔的选择范围,可以是 各系列的CPLD、FPGA及各种门阵列器件。 (四)可操作性 由于VHDL具有类属描述语句和子程序调用等功能, 对于已完成的设计,在不改变源程序的条件下,只 需改变端口类属参量或函数,就能轻易地改变设计 的规模和结构。 (五)灵活性 VHDL最初是作为一种仿真标准格式出现的,有着丰 富的仿真语句和库函数。使其在任何大系统的设计 中,随时可对设计进行仿真模拟。所以,即使在远 离门级的高层次(即使设计尚未完成时),设计者 就能够对整个工程设计的结构和功能的可行性进行 查验,并做出决策。
有了更深了解,其实当初想到设计这个课题。 1.2 设计要求 1)构造一个4位二进制乘法器; 2)受按键控制由4bit输入端口先后输入四位乘数 和被乘数(乘数,被乘数均由HDB3码表示); 3)用两个七段数码管显示积,以十进制显示; 2硬件描述语言——VHDL 2.1 VHDL简介 VHDL语言是一种用于电路设计的高级语言。它在 80年代的后期出现。最初是由美国国防部开发出来 供美军用来提高设计的可靠性和缩减开发周期的一 种使用范围较小的设计语言 。但是,由于它在一 定程度上满足了当时的设计需求,于是他在1987年 成为A I/IEEE的标准(IEEE STD 1076-1987)。 1993年更进一步修订,变得更加完备,成为A I/IEEE的A I/IEEE STD 1076-1993标准。目前,大 多数的CAD厂商出品的EDA软件都兼容了这种标准。 VHDL的英文全写是:VHSIC(Very High eed Integrated Circuit)Hardware Descriptiong Language.翻译成中文就是超高速集成电路硬件描 述语言。因此它的应用主要是应用在数字电路的设 计中。目前,它在中国的应用多数是用在 FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄 厚的单位,它也被用来设计ASIC。 VHDL主要用于

四位二进制乘法器的设计与实现

四位二进制乘法器的设计与实现

四位二进制乘法器的设计与实现1.实验目的A A A A设计一个乘法器,实现两个四位二进制数的乘法。

两个二进制数分别是被乘数3210B B B B。

被乘数和乘数这两个二进制数分别由高低电平给出。

乘法运算的结果即乘和乘数3210积由电平指示灯显示的二进制数。

做到保持乘积、输出乘积,即认为目的实现,结束运算。

2.总体设计方案或技术路线总体思路:将乘法运算分解为加法运算和移位运算。

根据Bi的值决定部分积P与A相加或与0相加,之后移位,经过四次以上运算后得到最终的乘积。

对于4位乘法器而言,设A=1011,B=1101,则运算过程可由下图所示。

从乘法运算过程可知,乘法运算可分解为移位和相加两种子运算,而且是多次相加运算,所以是一个累加的过程。

实现这一累加过程的方法是,把每次相加的结果用部分积P表示,若B中某一位Bi=1,把部分积P与A相加后右移1位;若B中某一位Bi= 0,则部分积P与0相加后右移1位(相当于只移位不累加)。

通过4次累加和移位,最后得到的部分积P就是A与B的乘积。

为了便于理解乘法器的算法,将乘法运算过程中部分积P的变化情况用图3表示出来。

存放部分积的是一个9位的寄存器,其最高位用于存放在做加法运算时的进位输出。

先把寄存器内容清零,再经过4次的加法和移位操作就可得到积。

注意,每次做加法运算时,被乘数A与部分积的P7~P4位相加。

设A=1011,B=1101则结果如下图所示技术路线:实验中,将乘法器电路分为三个部分分别设计,分别是时钟电路,乘法控制电路,乘法运算电路。

(1) 时钟电路:由一个D 触发器和一个非门组成,D 触发器为二分频接法。

时钟电路共产生CP ̅̅̅̅, CLK,CLK ̅̅̅̅̅̅三个不同于原时钟CP 的时钟,其中CP̅̅̅̅是寄存器1,2的时钟,CLK 是寄存器3,4的时钟,CLK̅̅̅̅̅̅是计数器,控制端D 触发器的时钟。

(2) 乘法控制电路:由一个D 触发器,一个计数器和两个与非门组成。

数字电路课程设计之乘法器

数字电路课程设计之乘法器

X
Y
C
S
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
最简积之和式为 S=X`Y+XY`=X○+ Y;C=XY.
电路图为:
X`
1
3
Y
2
X
1
3
Y`
2
X
1
3
S
Y
2
1
3
S
2
X
1
Y
2
3
C
1
3
C
2
2.2 全加器
全加器是为三输入两输出,输入存在进位,真值表如下图所示,输入 X,Y,Z,输出 C,S
X
Y
Z
C
S
0
0
0
0
0
0
0
1
0
carry_look_add cla1 (.A(v),.B(w),.Cin(0),.Cout(d[4]),.S(d[3:0])); assign S[1]= d[0]; and (z[0],A[2],B[0]); and (z[1],A[2],B[1]); and (z[2],A[2],B[2]); and (z[3],A[2],B[3]); carry_look_add cla2 (.A(d[4:1]),.B(z),.Cin(0),.Cout(d1[4]),.S(d1[3:0])); assign S[2]=d1[0];
and (x[0],A[3],B[0]); and (x[1],A[3],B[1]); and (x[2],A[3],B[2]); and (x[3],A[3],B[3]); carry_look_add cla3 (.A(d1[4:1]),.B(x),.Cin(0),.Cout(d2[4]),.S(d2[3:0])); assign S[7:3]=d2[4:0]; endmodule 3.6 Verilog 测试平台语言编写 `timescale 1ns/1ps module mul_tb(); reg[3:0] A,B; wire [7:0] S; mul mu (.A(A),.B(B),.S(S)); initial begin

乘法运算电路设计

乘法运算电路设计

乘法运算电路设计通常涉及到模拟或数字电路设计。

这里提供一种基于数字电路设计的简单示例,说明如何设计一个二进制乘法器。

一、二进制乘法器设计
1. 设计原理:
假设有两个两位的二进制数A1 A0和B1 B0,它们相乘的结果是Y3 Y2 Y1 Y0。

这个设计基于基本的二进制乘法原理。

2. 逻辑电路图:
根据乘法的定义,可以归纳出输出4位二进制数与输入的两位二进制数之间的逻辑关系,并据此设计逻辑电路图。

3. 仿真波形图:
通过仿真测试,验证设计的正确性。

二、硬件乘法器电路设计
1. 设计思路:
利用硬件箱自带的16进制码发生器,通过对应的键控制输出4位2进制构成的1位16进制码,数的范围是0000~1111,即
0H~FH。

每按键一次,输出递增1,输出进入目标芯片的4位2进制数将显示在该键对应的数码管。

2. 乘数和被乘数的输入模块:
将16进制码的A~F码设计成输出为null,减少无用码的输入。

3. 程序设计:
利用移位相加的方法简化程序。

以上是一个简单的乘法运算电路设计的概述,具体的电路设计还需要根据实际需求和条件进行优化和调整。

4位乘法器的设计

4位乘法器的设计

数字电子技术课程设计报告题目: 4位乘法器的设计学年 2009-2010 学期 2专业***** 班级:***学号:****** 姓名:***指导教师: ***8时间:2010年3 月1 日~2010 年3 月4 日浙江万里学院电子信息学院目录一、设计任务与要求 (3)二、设计总体方案 (3)三、各单元模块电路的设计实施方案 (5)四、结果分析 (7)五、体会和总结 (10)附录一、电路设计总图 (10)附录二、主要芯片引脚图 (10)1、 设计任务与要求试设计一4位二进制乘法器输入信号:4位被乘数A (A 3 A 2 A 1 A 0),4位乘数B (B 3 B 2 B 1 B 0),启动信号START 。

输出信号:8位乘积P (P 7 P 6 P 5 P 4 P 3 P 2 P 1 P 0),结束信号END 。

当发出一个高电平的START 信号以后,乘法器开始乘法运算,运算完成以后发出高电平的END 信号。

2、设计总体方案移向-加法器数混合乘法器实现框图如图所示,主体包括寄存序列、与逻辑和加法器等三部分。

乘数通过实现框图看出其原理就是:被乘数与乘数进入寄存序列,然后通过与逻辑和加法器的运算后得到被乘数与乘数的乘积。

其中启动信号用来启动乘法运算,而清零信号则为积存器和计数器的清零信号。

可以确定乘法器的表达式为:B AII B AI B AII AI Y ⨯+⨯⨯=⨯+⨯=222)2(移向-加法器树混合乘法器算法方案框图设计出的移向-加法器树混合乘法器框。

END P AB START1 0 1 11 1 0 1×1 0 1 10 0 0 01 0 1 11 0 1 111011001移向-加法器数混合乘法结构框图从结构框图中可以看出:被乘数与4位二进制乘数的低二位通过寄存器相乘得到的6位的2进制数部分积,然后被乘数与4位二进制的高二位在通过寄存器阵列相乘后也得到了6位2进制数部分积。

2个部分积通过加法器后得可以得到8位2进制乘积了。

4位二进制乘法器课设报告

4位二进制乘法器课设报告

课程设计4位二进制乘法器电路的设计班级学号学生姓名指导教师课程设计任务书课程名称数字逻辑课程设计课程设计题目4位二进制乘法器电路的设计课程设计的内容及要求:一、设计说明设计一个4位二进制乘法器,可以存贮其乘积。

电路原理框图如图1所示。

乘法器可以利用加法器和寄存器实现。

图1 乘法器原理框图寄存器B存放被乘数,寄存器Q存放乘数,两个乘积长度有可能是原来的2倍,故计算完成后将累加和寄存器A放乘积的高位,而Q放乘积的低位,P记录乘数的位数,每形成一个部分积P加1,当P=4时,乘法结束,两数之积放在AQ寄存器中。

二、技术指标1.设计4位二进制乘法器。

2.其乘积可以存贮。

三、设计要求1.在选择器件时,应考虑成本。

2.根据技术指标通过分析计算确定电路形式和元器件参数。

3.主要器件:(1)74LS74双D触发器;(2)74LS194双向移位的寄存器;(3)74LS283加法器;(4)74LS00、74LS04等门电路。

四、实验要求1.根据技术指标制定实验方案;验证所设计的电路。

2.进行实验数据处理和分析。

五、推荐参考资料1.谢自美. 电子线路设计·实验·测试. [M]武汉:华中理工大学出版社,2000年2.阎石. 数字电子技术基础. [M]北京:高等教育出版社,2006年3.付家才. 电子实验与实践. [M]北京:高等教育出版社,2004年六、按照要求撰写课程设计报告成绩评定表:指导教师签字:一、概述4位二进制乘法器在实际中具有广泛应用。

它是一些计算器的基本组成部分,其原理适用于很多计算器和大型计算机,它涉及到时序逻辑电路如何设计、分析和工作等方面。

通过此电路更深刻的了解时序逻辑部件的工作原理,从而掌握如何根据需要设计满足要求的各种电路图,解决生活中的实际问题,将所学知识应用于实践中。

根据任务书规定,设计电路的技术指标:设计乘积可存贮的4位二进制乘法器;设计要求:根据成本选择器件,根据技术指标确定电路形式和元器件参数;实验要求:根据技术指标制定实验方案,并验证所设计的电路,对实验数据进行处理和分析。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

四位二进制乘法器的设计与实现
物理系
光信息科学与技术专业
1011202班 1101120218
1. 实验目的
设计一个乘法器,实现两个四位二进制数的乘法。

两个二进制数分别是被乘数3210A A A A 和乘数3210B B B B 。

被乘数和乘数这两个二进制数分别由高低电平给出。

乘法运算的结果即乘积由两个数码管显示。

其中显示低位的数码管是十进制的;显示高位的数码管是二进制的,每位高位片的示数都要乘以16再与低位片相加。

所得的和即是被乘数和乘数的乘积。

做到保持乘积、输出乘积,即认为目的实现,结束运算。

2.总体设计方案或技术路线
总体思路:将乘法运算分解为加法运算。

被乘数循环相加,循环的次数是乘数。

加法运算利用双四位二进制加法器74LS283实现,循环次数的控制利用计数器74LS161、数码74LS85比较器实现。

运算结果的显示有数码管完成,显示数字的高位(进位信号)由计数器74LS161控制。

技术路线:以54 为例。

被乘数3210A A A A 是5,输入0101;乘数3210B B B B 是4,输入0100.将3210A A A A 输入到加法器的A 端,与B 端的二进制数相加,输出的和被送入74LS161的置数端(把这个计数器成为“置数器”)。

当时钟来临,另一个74LS161(被称之为“计数器”)计1,“置数器”置数,返回到加法器的B 端,再与被乘数3210A A A A 相加……当循环相加到第四个时钟的时候,“计数器”计4,这个4在数码比较器74LS85上与乘数3210B B B B 比较,结果是相等,A=B 端输出1,经过反相器后变为0返回到被乘数输入电路,截断与门。

至此,被乘数变为0000,即便是再循环相加,和也不变。

这个和,是多次循环相加的和,就是乘积。

高位显示电路较为独立,当加法器产生了进位信号,CA 端输出了一个高电平脉冲,经过非门变为下降脉冲驱动74LS161计一次数,这个数可以通过数码管显示出来。

但是由于二进制数是满足8421排列的,进位的数是10000,即是10进制数的16。

这一点在读数的时候要格外注意!
2.实验电路图
说明:左下角的D1C1B1A1为被乘数的输入端,单刀双掷开关向上是“1”,向下时“0”。

左侧的D2C2B2A2是乘数的输入端。

被乘数经过中间靠右的“加法器低位片”循环相加,相加的结果经过右上方的“置数器”返回到加法器。

“置数器”和“计数器”共用一个时钟信号,当“计数器”所计的数与乘数相等的时候,最上方的数码比较器输出“1”,经过非门变为“0”,“0”返回到4双输入与门中将与门封死,输出0000.同样是这个“0”信号,将“计数器”的使能端EP置为“0”,使计数器保持输出,达到稳定输出的目的。

当“加法器低位片”有进位时,输出一个上升沿,经过非门后变为下降沿,驱动“进位信号计数器”计数,其结果被“高位显示”显示出来。

“高位显示”的示数都要乘以16才可以变为10进制的数。

最后的乘积可由两个数码管显示出来。

读数方法:“高位显示”字形所对应的十进制数*16+“低位显示”字形所对应的十进制数。

计算结束,目的达成。

4. 仪器设备名称、型号
74LS85 (一个)
74LS161 (三个)
74LS283 (一个)
74LS08 (两个)
非门(两个)
数码显示管(两个)
5.仿真分析结果
仿真结果1
被乘数1000,乘数1000,结果:4*16=64。

具体情况请看图中的方框。

仿真结果2
被乘数0011,乘数1100,结果:2*16+4=36。

具体情况请看图中的方框。

6.详细实验步骤及实验结果数据记录(包括各仪器、仪表量程及内阻的记录)
7.实验结论
我所设计的乘法器工作良好、结果准确。

8.实验中出现的问题及解决对策
1、问题:加法器循环相加的过程停不下来。

解决:引入“置数器”,时钟来临一次才可以循环相加一次;引入比较器,将循环次数与被乘数作比较,适当的时候封住被乘数,使之变成0000.
2、问题:“计数器”没有办法保持输出为循环次数。

解决:利用74LS161的使能端,如果循环到了规定的次数,产生“0”使使能端EP、ET 中的一个变为“0”,“计数器”保持输出不变。

这样做的好处就是最终的输出结果
也可以保持住。

9.本次实验的收获和体会、对电路实验室的意见或建议
体会:但凡是科研(姑且将本次设计看作是一次简单的科研),必须投入一定量的心血。

为了完成这项设计,我几易其稿、呕心沥血、颇费心思地想了好几天。

当最
初的设想被实现了的时候,我感到无比的满足。

《数电》是一门很有实践价值的课,
通过课上系统的知识积累,我发现即便是比较基础的电子、电路知识也可以造出
来比较复杂的设备,当然这需要设计者的智慧和勤奋。

看来平日生活中随处可见
的电子产品,无不凝聚着工程师、科研人员的汗水和努力。

在设计的过程中,我
遇到了很多困难,有的时候被困难压得头疼,但是经过了与同学的讨论,许多困
难迎刃而解,我体会到了交流的重要性。

最后,感谢老师用这种课程设计的形式督促我应用知识。

否则的话,以我的惰性,很可能就不会去费尽心思地去设计一个乘法器,这样的话,《数电》算白学
了。

谢谢老师。

建议:略有遗憾的是实验室的元件不是十分齐全,以至于74LS85、74LS283芯片都是我们同学自费买的然后大家借着用。

希望实验室可以配备更多的元件,至少把
书上讲过的芯片买齐了。

不过这不是什么大问题,元件的缺少正好可以锻炼同学
们发散思维、用最少的成本达到最大目的的能力。

10.参考文献
杨春玲《数字电子技术》高等教育出版社。

相关文档
最新文档