四川大学数电课程设计(四位二进制无符号数乘法器 ).
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字电子技术基础课程设计报告
学院电气信息学院
专业
姓名
学号
设计题目四位二进制无符号数乘法器
目录
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位输出结果直接在通过电阻到地保护的发光二极管表示。
通过Multisim软件实现该乘法器设计电路的搭接如下图:
2.1.2仿真测试
当输入乘数1101和被乘数1011时,显示结果为10001111如下:
因为Multisim软件通常工作在理想状态下,启动调试运行无误且运行结果正确。
2.1.3优缺点分析
优点:乘数输入通过开关接高电平或者直接接地实现,计算结果通过查看8个LED 管的亮暗(亮为高电平1)实现,连线将计算结果依次输出。无外来其他输入信号干扰,算法简单,使用芯片较少,逻辑电路图易懂。
缺点:搭接电路过程中双输入与门使用了TTL 的74LS08芯片和全加器74LS83。由于TTL 门电路的BJT 工作在饱和状态,会使开关速度受到很大限制;使用多个TTL 与门接入电路,在一定程度上增加了集成芯片内部的连线复杂程度。
2.2方案二多种通用集成芯片组合逻辑电路
2.2.1设计思路
电路原理框图如图1所示。乘法器可以利用加法器和寄存器实现。加法器E(触发器)寄存器
B(被乘数)计数器P
检n
寄存器
A(累加和)寄存器Q(乘数)
进位Q 0
Z 图1乘法器原理框图
实验电路输入的被乘数取值范围为(0000)2~(1111)2,乘数的取值范围为(0000)2~(1111)2。通过计算可得,乘积的取值范围为(00000000)2~(11100001)2。通过初步的数值位数分析可知,
储存被乘数需要1片4位二进制寄存器,储存乘数需要1片4位二进制寄存器,储存乘积需要2片4位二进制寄存器。
由图中二进乘法竖式计算可以看出:二进制乘法可以转化为移位累加操作。对于4位二进制乘法,以8位乘积寄存器的高4位储存累加结果。运算时先将乘积寄存器置零,然后从低位向高位依次检查乘数寄存器中每一位的值。当值为“1”时,先用乘积寄存器的高4位累加被乘数,并将和保存在乘积寄存器的高4位中,然后以加和的进位结果作为右移输入对乘积寄存器进行右移操作。当值为“0”时,以“0”作为右移输入直接对乘积寄存器进行右移操作。
观察图可以看出,乘法运算初始化时存入寄存器低4位中的“0”因计算过程中先后
图14位二进制乘法运算竖式分析到来的4次右移操作而被移出寄存器。如果用乘法
运算的乘数代替这4个“0”,每次右移操作恰好将
检查过的乘数位移出寄存器,而对尚未处理的数据
没有影响,并且不会影响乘法运算的结果。因此,
考虑到电路的成本,可以将乘数储存在乘积寄存器
的低位端从而节省1片寄存器的花费。
在4位二进制乘法运算中,因为乘数有4位二
进制位,所以整个运算过程需要检查乘数位值4次,
即需要进行4次基本移位操作。因此,在电路中需
要用计数器来记录移位操作的次数以指示运算的
结束。
1.控制逻辑电路(如右)。
二进制乘法运算是一个只与乘数位数有关的
累加移位过程,对于4位二进制乘法运算循环需要
进行4次累加移位操作。S2、S3状态的循环过程
就是二进制乘法运算的过程,其中S2状态电路进
行累加操作,S3状态电路进行右移操作。
当寄存器Q的最低位输出Q0为1时,电路进
入S2状态,将加法器器D中输出的数值置入寄存
器A中,寄存器Q的输出状态保持不变。此时寄存
器A的控制端S0=S1=1,寄存器B的控制端S0=S1=0
当寄存器Q的最低位输出Q0为0时将跳过S2状态
直接进入S3状态。S3状态时,寄存器A和寄存器
Q进行右移操作,两芯片的控制端输入均为S0=1、
S1=0。