四川大学数电课程设计四位二进制无符号数乘法器.docx
- 文档编号:10551894
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:15
- 大小:820.90KB
四川大学数电课程设计四位二进制无符号数乘法器.docx
《四川大学数电课程设计四位二进制无符号数乘法器.docx》由会员分享,可在线阅读,更多相关《四川大学数电课程设计四位二进制无符号数乘法器.docx(15页珍藏版)》请在冰点文库上搜索。
四川大学数电课程设计四位二进制无符号数乘法器
数字电子技术基础
课程设计报告
学院电气信息学院
专业
姓名
学号
设计题目四位二进制无符号数乘法器
1设计任务描述
1.1设计描述
设计一个乘法器,实现两个四位二进制数的乘法。
两个二进制数分别是被乘数
和乘数
。
被乘数和乘数这两个二进制数分别由高低电平给出。
乘法运算的结果即乘积由电平指示灯显示的二进制数。
做到保持乘积、输出乘积,即认为目的实现,结束运算。
1.2设计概述
4位二进制乘法器在实际中具有广泛应用。
它是一些计算器的基本组成部分,其原理适用于很多计算器和大型计算机,它涉及到时序逻辑电路如何设计、分析和工作等方面。
通过此电路更深刻的了解时序逻辑部件的工作原理,从而掌握如何根据需要设计满足要求的各种电路图,解决生活中的实际问题,将所学知识应用于实践中。
2通用器件实现
2.1方案一与门和全加器组合逻辑电路
2.1.1设计思路
手动实现两个四位二进制乘法的计算,应为以下过程:
设乘数为
(下标数字大则为高位),被乘数为
,使乘数从低位到高位依次与被乘数相乘,得到四个四位二进制加数,再依次对四个加数错位相加,得到八位的二进制的乘法运算结果。
依次算法,两个四进制乘数由8个单刀双掷开关接地(低电平0)和接5V(高电平1)进行输入,乘数A从低位到高位依次与被乘数B相乘过程可用二输入与门实现,共得到四个加数16个与运算结果,乘数最低位
与被乘数作与运算的四位结果的最低位即是乘法运算结果的最低位
;依次用三个四位全加器对四个加数进行全加运算,运算时输入两个四位二进制数,输入进位信号接地为0,低级的全加器的运算结果进位信号作为与下一个加数进行全加运算的被加数的最高位,四位全加运算结果的最低位作为输出结果,并从低到高位的依次输出
,最后一个全加器运算过后得到进位信号是八位二进制计算结果的最高位
,剩余的高三位输出分别为
,将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所示。
乘法器可以利用加法器和寄存器实现。
图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。
由于计数器P用来记录电路中执行移位操作的次数,因此当计数器P的输出端Q2为1时,即可断定乘法运算过程已经结束。
此时应该停止时钟使电路状态保持不变,即回到S0状态。
否则电路状态再次进入对寄存器Q的最低位输出Q0的判断。
将电路状态S2、S3时寄存器A和寄存器Q各端口的状态合在一起观察,设D表示寄存器A的Q0,T为寄存器Q的Q0。
规定加‘*’的状态表示该端口前一个时钟周期的状态。
寄存器A:
S0=1,S1=S1*⊙T,SR=CI·T;
寄存器Q;S0=(S0*·T)',S1=1,SR=D;
为实现该关系,电路中用U8A、U8B和U10A分别储存寄存器Q的控制端S0、寄存器A的控制端S1和加法器D的进位输出端CO在上一个时钟周期的状态。
另外,通过对表3的观察发现,在电路状态S1的初始化过程中,需要对D触发器U8A置一,对D触发器U8B置零。
计数器P用来记录电路中执行移位操作的次数,且电路采用同步时钟控制,因此只有当电路执行移位操作是计数器P的使能端才有效。
通过对表3的观察发现:
在电路状态S1、S2中,只有当电路进行移位操作时寄存器Q的控制端S0才为1。
所以,计数器P的使能端ENP、ENT与寄存器Q的控制端S0同状态。
最后,对D触发器U10B来说,当按下开关J1时,U10B的置数端接收到低电平被置一,其输出Q接寄存器B和寄存器Q的控制端S0、S1使之为一,寄存器B、Q处于置数状态,Q′接寄存器A、计数器P、D触发器U8B和U10A的CLR端使它们置零,并且Q′接D触发器U8A的PR端使其置一,即使电路处于S1状态。
当第一个上升沿到来时,D触发器U10B的输出进行翻转,电路进入S2、S3状态的循环过程,并在计数器P的输出Q2位1时停止时钟,使电路回到S0状态。
2.数据的处理
数据的处理包括累加和右移两部分。
在加法电路中,寄存器B中的被乘数与寄存器A中的部分积相加,并将结果保存在寄存器A中,同时将进位加法器的进位输出锁存在D触发器中,以提供右移操作使用。
即将寄存器B和寄存器A的数据输出端接加法器D的数据输入端,将加法器D的数据输出端接寄存器A的数据输入端,加法器D的进位输入端接低电平,加法器D的进位输出端接D触发器U10A的输入端。
在移位电路中,需要对寄存器A和寄存器Q进行联合右移,所以将寄存器A的最低位输出Q0接到寄存器Q的右移输入端SR。
寄存器的其他控制端按控制电路的设计对应连接。
2.2.2仿真测试
连好电路后,打开仿真电源,电路进入等待状态。
先设置电路的输入,即按需要输入的被乘数和乘数的二进制码调节拨码开关输出的电平信号(注:
拨码开关置左为高电平,置右为低电平,在一组四个拨码开关中,上为高位,下为低位)。
按下开关电路启动。
途中probe显示即为输出结果,输出高电平亮,低电平不亮。
图为1111×1111=11100001的仿真。
被乘数A
乘数B
乘积P
0001
0001
00000001
0010
0010
00000100
0100
0010
00001000
1010
1100
01111000
1100
1100
10010000
1011
1101
10001111
1111
1111
11100001
2.2.3优缺点分析
优点:
电路具有连续计算能力,对比方案一优势在于计算过程可以通过按键开始,而不是改变输入时直接输出改变,并且能够存贮乘积。
输入输出及中间计算的移位过程能够通过probe显示出来,非常直观。
对高位,多次乘法运算来说,计算速度快,运行时间短。
缺点:
使用的芯片较多搭。
逻辑电路图相对复杂,搭接过程比较复杂,连线多,易出现错误。
3使用硬件描述语言——Verilog实现
3.1设计目的
本次设计的目的是在初步掌握Verilog硬件语言的基础上,通过ISE软件进行有关程序的编译、仿真实验,最后通过下载程序到硬件设备BASY2板进行验证。
通过学习的Verilog语言结合电子电路的设计知识理论联系实际,掌握所学的数字电子技术基础课程知识,学习Verilog基本单元电路的综合设计应用。
通过对四位二进制乘法器的设计,巩固和综合运用所学课程,加深对数字电路和Verilog基本单元的理解,理论联系实际,提高设计能力,提高分析、解决计算机技术实际问题的独立工作能力。
通过课程设计深入理解Verilog语言的精髓,
达到课程设计的目标,乘法器的设计可以使对计算机怎样工作有了更深了解。
3.2设计要求
1)构造一个4位二进制乘法器;
2)通过ISE软件,使用Verilog语言编写程序,并在BASY2板上实现:
①使用拨码开关拨动实现输入四位乘数和被乘数;
②用8个LED灯显示最后的运行结果。
3.3硬件语言描述
1)建立工程Multiplier_4bit和文件
2)程序段:
VerilogModule程序:
引脚约束程序ImplementationConstraintsFile:
成功生成二进制文件:
3.4BASY2板结果附图
4结论与心得体会
4.1结论
组合逻辑电路的设计,涉及到许多功能不同功能集成芯片的运用,因此,设计出的逻辑电路也是千变万化的。
虽然搭接的方式和所用到的芯片不同,但是殊途同归,它们实现的逻辑功能是一致的。
也有不可忽视的地方,不同方案各有千秋、各有优异,一旦涉及实际逻辑电路的搭接,不同芯片的综合性能都要考虑在内。
4.2心得体会
通过本次课程设计,我们小组成员都熟悉并进一步掌握了数字电子技术基础这门课程的有关知识,并通过此次课程设计深入理解掌握几种集成芯片的功能,了解Verilog语言的精髓。
通过简单的乘法器的设计,我们了解到了平日生活中随处可见的电子产品,无不凝聚着工程师、科研人员的汗水和努力,它们是反复实践,多次创新得来的成果。
在设计的过程中,尽管遇到了很多困难,但是经过了与组员讨论,与其他小组的同学进行交流,许多困难迎刃而解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 四川大学 课程设计 二进制 符号 乘法器