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

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位二进制乘法器;设计要求:根据成本选择器件,根据技术指标确定电路形式和元器件参数;实验要求:根据技术指标制定实验方案,并验证所设计的电路,对实验数据进行处理和分析。

二、方案论证

本实验要求设计一个乘积可存贮的4位二进制乘法器。

实验电路输入的被乘数取值范围为(0000)2~(1111)2,乘数的取值范围为(0000)2~(1111)2。通过计算可得,乘积的取值范围为(00000000)2~(11100001)2。通过初步的数值位数分析可知,储存被乘数需要1片4位二进制寄存器,储存乘数需要1片4位二进制寄存器,储存乘积需要2片4位二进制寄存器。

由图1中二进乘法竖式计算可以看出:二进制乘法可以转化为移位累加操作。对于4位二进制乘法,以8位乘积寄存器的高4位储存累加结果。运算时先将乘

图1 4位二进制乘法运算竖式分析

积寄存器置零,然后从低位向高位依次检查乘数寄存器中每一位的值。当值为“1”时,先用乘积寄存器的高4位累加被乘数,并将和保存在乘积寄存器的高4位中,然后以加和的进位结果作为右移输入对乘积寄存器进行右移操作。当值为“0”时,以“0”作为右移输入直接对乘积寄存器进行右移操作。

观察图1思考乘积寄存器中各位数值的变化。可以看出,乘法运算初始化时存入寄存器低4位中的“0”因计算过程中先后到来的4次右移操作而被移出寄存器。如果用乘法运算的乘数代替这4个“0”,每次右移操作恰好将检查过的乘数位移出寄存器,而对尚未处理的数据没有影响,并且不会影响乘法运算的结果。因此,考虑到电路的成本,可以将乘数储存在乘积寄存器的低位端从而节省1

片寄存器的花费。

在4位二进制乘法运算中,因为乘数有4位二进制位,所以整个运算过程需要检查乘数位值4次,即需要进行4次基本移位操作。因此,在电路中需要用计数器来记录移位操作的次数以指示运算的结束。

终上所述,4位二进制乘法器电路需要74LS194双向移位寄存器3片,

74LS283加法器1片,74LS161四位二进制加法计数器1片,74LS74、74LS00、74LS04等芯片若干。

4位二进制乘法器电路原理框图如图2所示。

图2 4位二进制乘法器电路的原理框图

图中寄存器B用来存放被乘数,寄存器Q用来存放乘数,计算完成后寄存器A存放乘积的高位,而寄存器Q存放乘积的低位。计数器P记录移位操作的次数,当P=4时乘法结束。

三、 电路设计

4位二进制乘法器采用同步时钟设计,原理图如图3所示。

C D _H E X

图3 4位二进制乘法器原理图

电路中主要用到了双向移位寄存器74LS194、十六进制加法计数器74LS161、全加器74LS283和D触发器74LS74。74LS194功能表如表1所示,74LS161功能表如表2所示。

电路中采用74LS194芯片的元件有寄存器A、寄存器B和寄存器Q,采用74LS161芯片的元件是计数器P,采用74LS283的元件是加法器D,采用74LS74芯片的元件是U8A、U8B、U10A和U10B。

表1 74LS194功能表

表2 74LS161功能表

电路中寄存器A用来储存乘积的高4位,寄存器B用来储存被乘数,寄存

器Q用来储存乘数和乘积的低4位,计数器P用来记录电路中执行移位操作的

次数,加法器D用来进行加法运算,U8A用来控制寄存器Q的使能端,U8B用

来控制寄存器A的使能端,U10A用来储存加法器D的进位,U10B用来控制电路的启动,

开关J1用来给电路发出启动信号,开关J2用产生给电路输入的被乘数信号,开关J3用来给电路输入乘数信号。

1.控制逻辑电路的设计

控制逻辑电路的ASM图如图4所示。

S0

图4控制逻辑电路ASM图

S0状态为电路的等待状态,此时电路的各芯片的状态保持不变。当按下开关J1时向电路中输入凹形启动脉冲,START=1电路启动进入S1状态。电路处于S1状态时将向寄存器B中置入被乘数,向寄存器Q中置入乘数,寄存器A

和计数器P被置零。根据表1可知,只有当S0、S1同时为1时,74LS194芯片才处于置数状态,同时74LS194芯片还具有异步置零功能。根据表2可知,74L S161同样具有异步置零功能。因此,当电路处于S1状态时,寄存器B的控制端S0=S1=1,寄存器Q的控制端S0=S1=1,寄存器A的CLR端为0,计数器P的CLR端为0。

二进制乘法运算是一个只与乘数位数有关的累加移位过程,对于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各端口的状态合在一起观察,得到如表3所示的寄存器A和寄存器Q的部分状态转换关系。

表3 乘法运算部分状态转换表

注:X表示不确定;CI表示进位输入,即加法电路的进位输出;sn表示加法电路的输出

考察表3所示的状态转换,不难发现如下规律:

设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.数据处理电路的设计

在4位二进制乘法器电路中,对数据的处理包括累加和右移两部分。

在加法电路中,寄存器B中的被乘数与寄存器A中的部分积相加,并将结果保存在寄存器A中,同时将进位加法器的进位输出锁存在D触发器中,以提供右移操作使用。即将寄存器B和寄存器A的数据输出端接加法器D的数据输入端,将加法器D的数据输出端接寄存器A的数据输入端,加法器D的进位输

入端接低电平,加法器D的进位输出端接D触发器U10A的输入端。电路原理图如图3所示。

在移位电路中,需要对寄存器A和寄存器Q进行联合右移,所以将寄存器A的最低位输出Q0接到寄存器Q的右移输入端SR。寄存器的其他控制端按控制电路的设计对应连接,电路原理图如图3所示。

四、性能测试

按电路图连好电路后,打开仿真电源,电路进入等待状态。此时应先设置电路的输入,即按需要输入的被乘数和乘数的二进制码调节开关J2、J3输出的电平信号。

按下开关J1电路启动,首先将同过J2、J3设置的被乘数和乘数置入寄存器B和寄存器Q,可通过数码管U4和U5显示的十六进制数判断输入是否正确。然后电路进行二进制乘法运算,数码管U3和U5将显示寄存器A和寄存器Q在每一个电路状态中的数值,数码管U8将显示电路执行右移操作的次数。待数码管U8显示为4时计算结束,此时数码管U3、U5的输出即为运算结果,其中

U3显示为结果高4位的十六进制数值,U5显示为结果低四位的十六进制数值。

仿真效果如图11所示。测试结果如表4所示。

五、结论

通过本方案实际连接的4位二进制加法器完成了任务书中要求的各项指标,可以进行4位二进制乘法运算并能存贮乘积。通过本方案实现的电路具有连续计算能力,输入输出及中间计算的移位过程能够进过数码管显示出来,非常直观。

本电路主要用到了移位寄存器、加法器和计数器这三种器件,各元件功能明确联系紧密,对乘法原理的实现简明易了。所用元器件数量较少性价比合适。

参考文献

[1] 谢自美. 电子线路设计·实验·测试[M]. 武汉:华中理工大学出版社,2000年

[2] 阎石. 数字电子技术基础[M]. 北京:高等教育出版社,2006年

[3] 付家才. 电子实验与实践[M]. 北京:高等教育出版社,2004年

[4] 戴伏生主编. 基础电子电路设计与实践[M]. 北京:国防工业出版社,2002年

[5] 谭博学主编. 集成电路原理与应用[M]. 北京:电子工业出版社,2003年

[6] 胡聚增,陈亮. 4位二进制乘法器[DB/OL]. 道客巴巴:https://www.360docs.net/doc/639011708.html,/p-601276996313.html,2014-7-1

[7]Jason_Abraham. 4位乘法器的设计[DB/OL]. 百度文库:http://wenku.baidu.co

m/view/a4f7e24be45c3b3567ec8b9c.html,2014-7-1

4FPGA实验报告8位乘法器—徐艺萍

实验四8位乘法器实验 一、实验原理 8位乘法器,输入为两个8位信号,输出结果为16位。 module mult8(out, a, b); //8位乘法器源代码 parameter size=8; input[size-1:0] a,b; //两个操作数 output[2*size-1:0] out; //结果 assign out=a*b; //乘法运算符 endmodule 本实验采用Chipscope-Pro生成VIO/ICON核,并插入到8位乘法器设计中,在线进行观测和调试。 二、实验目的 1. 熟悉ISE9.1 开发环境,掌握工程的生成方法; 2. 熟悉SEED-XDTK XUPV2Pro 实验环境; 3. 了解Verilog HDL语言在FPGA 中的使用; 4. 通过掌握8位乘法器的Verilog HDL设计,了解数字电路的设计。 三、实验内容 1. 用Verilog HDL语言设计8位乘法器,进行功能仿真验证。 2. 使用chipscope-Pro 生成VIO/ICON 核,在线观测调试。 四、实验准备 1. 将USB 下载电缆与计算机及XUPV2Pro 板的J8 连接好; 2. 将RS232 串口线一端与计算机连接好,另一端与板卡的J11 相连接; 3. 启动计算机,当计算机启动后,将XUPV2Pro 板的电源开关SW11 打开到ON 上。观察XUPV2Pro 板上的+2.5V,+3.3V,+1.5V 的电源指示灯是否均亮。若有不亮的,请断开电源,检查电源。

五、实验步骤 ⑴创建工程及设计输入 ①在E:\project\目录下,新建名为mult8的新工程; 器件族类型(Device Family)选择“Virtex2P”, 器件型号(Device)选“XC2VP30 ff896 -7”, 综合工具(Synthesis Tool)选“XST (VHDL/Verilog)”, 仿真器(Simulator)选“ISE Simulator” ②设计输入并保存。 ⑵功能仿真 ①在sources窗口sources for中选择Behavioral Simulation。 ②由Test Bench WaveForm 添加激励源,如图1所示。仿真结果如图2所示。 图1 波形激励编辑窗口 图2 仿真结果 从图中可以验证由Verilog HDL语言设计的8位乘法器的工作是正确的,不论是输入a的值变化还是输入b的值变化,输出值随之变化,为a与b的乘积。 ⑶生成核并添加核 本次试验内容为8位乘法器,不需要使用ILA核。因此下面使用核生成法生成一个ICON核,一个VIO核就可以了。 ①首先对生成的工程进行综合。 ②生成核 ③添加核

16位二进制数转换为十进制数(BCD码)的可用算法

分析将16位二进制数转换为十进制数(BCD码)的可用算法 ------*****

算法一: 加3移位法(移位指令) "二进制数调整BCD码的方法是将二进制码左移16次,每次移位后都检查低四 位LSD+3是否大于7,如是则加3,否则不加,高4位MSD作同样处理" 一、为什么左移16次 原寄存器是存二进制数的,新寄存器是存十进制数的,当然要左移16次, 把数据全部移进去。 但这里要注意两件事,第一,如果只安排一个字节作十进制寄存器,原数 据要小于64H(即100)。第二,由于新寄存器是十进制的,要随时调整。 二、检查半字节+3 是否大于7,是,则+3 在51 系列里有十进制调节指令(半字节大于9,则加6,应该不难理解),PIC 里没有,只好采取变通的方法。 检查半字节+3 是否大于7,也就是检查半字节是否大于4。因为,如果大于4(比如5、6),下一步左移就要溢出了,所以加3,等于左移后的加6,起到十进制调节的作用。 那为什么要绕个圈子去检测半字节+3 是否大于7 呢?这样程序编起来 会简练一些。

假如有一个二进制数511,我把他转511的十进制数 1 1111 1111 原数 1 0000 0001 ;左移一次 2 0000 0011 ; 左移二次 3 0000 0111 ;左移三次,检查低四位+3>7? 3.1 0000 1010 ;大于7,加3进行调整 4 0001 0101 ;左移四次, 检查低四位+3>7? 4.1 0001 1000 ;大于7,加3进行调整 5 0011 0001 ;左移五次 6 0110 0011 ;左移六次,检查高四位+3>7? 6.1 1001 0011 ;大于7,加3进行调整 7 1 0010 0111 ;左移七次,检查低四位+3>7? 7.1 1 0010 1010 ;大于7,加3进行调整 8 10 0101 0101 ;左移八次,检查高低四位+3>7? 8.1 10 1000 1000 ;大于7,加3进行调整 9 101 0001 0001 ;左移九次(得到BCD码511)

四位二进制加法器课程设计

课题名称与技术要求 课题名称: 四位二进制加法器设计 技术要求: 1)四位二进制加数与被加数输入 2)二位数码管显示 摘要 本设计通过八个开关将A3,A2,A1,A0和B3,B2,B1,B0信号作为加数和被加数输入四位串行进位加法器相加,将输出信号S3,S2,S1,S0和向高位的进位 C3通过译码器Ⅰ译码,再将输出的Y3,Y2,Y1,Y0和X3,X2,X1,X0各自分别通过一个74LS247译码器,最后分别通过数码管BS204实现二位显示。 本设计中译码器Ⅰ由两部分组成,包括五位二进制译码器和八位二进制输出器。信号S3,S2,S1,S0和向高位的进位C3输入五位二进制-脉冲产生器,将得到的n(五位二进制数码对应的十进制数)个脉冲信号输入八位二进制输出器,使电路的后续部分得以执行。 总体论证方案与选择 设计思路:两个四位二进制数的输入可用八个开关实现,这两个二进制数经全加器求和后最多可以是五位二进制数。本题又要求用两个数码管分别显示求和结果的十进制十位和各位,因此需要两个译码器Ⅱ分别译码十位和

个位。综上所述,需要设计一个译码器Ⅰ,能将求和得到的五位二进制数译成八位,其中四位表示这个五位二进制数对应十进制数的十位,另四位表示个位。而译码器Ⅱ有现成的芯片可选用,此处可选74LS247,故设计重点就在译码器Ⅰ。 加法器选择 全加器:能对两个1位二进制数进行相加并考虑低位来的进位,即相当于3个1位二进制数相加,求得和及进位的逻辑电路称为全加器。或:不仅考虑两个一位二进制数相加,而且还考虑来自低位进位数相加的运算电路,称为全加器。 1)串行进位加法器 构成:把n位全加器串联起来,低位全加器的进位输出连接到相邻的高位全加器的进位输入。 优点:电路比较简单。 最大缺点:进位信号是由低位向高位逐级传递的,运算速度慢。 2)超前进位加法器 为了提高运算速度,必须设法减小或消除由于进位信号逐级传递所消耗的时间,于是制成了超前进位加法器。 优点:与串行进位加法器相比,(特别是位数比较大的时候)超前进位加法器的延迟时间大大缩短了。 缺点:电路比较复杂。 综上所述,由于此处位数为4(比较小),出于简单起见,这里选择串行进位加法器。 译码器Ⅱ选择 译码是编码的逆过程,将输入的每个二进制代码赋予的含意“翻译”过来,给出相应的输出信号。译码器是使用比较广泛的器材之一,主要分为:变量译码器和码制译码器,其中二进制译码器、二-十进制译码器和显示译码器三种最典型,使用十分广泛。显示译码器又分为七段译码器和八段

移位相加8位乘法器的设计

EDA技术课程大作业 设计题目:移位相加8位乘法器的设计 院系:电子信息与电气工程学院 学生姓名: 学号:200902070017 专业班级:09电子信息工程专升本 2010年12月3日

移位相加8位乘法器的设计 1.设计背景和设计方案 1.1设计背景 EDA技术(即Electronic Design Automation技术)就是依赖强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Ddscription Langurage)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。它在硬件实现方面融合了大规模集成电路制造技术、IC版图设计、ASIC 测试和封装、FPGA(Gield Peogrammable Gate Array)/CPLD(Complex Programmable Logic Device)编程下载和自动测试等技术;在计算机辅助工程方面融合了计算机辅助设计(CAD),计算机辅助制造(CAM),计算机辅助测试(CAT),计算机辅助工程(CAE)技术以及多种计算机语言的设计概念;而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术理论等。本文介绍设计一个两个5位数相乘的乘法器。用发光二极管显示输入数值,用7段显示器显示十进制结果。乘数和被乘数分两次输入。在输入乘数和被乘数时,要求显示十进制输入数据。输入显示和计算结果显示,采用分时显示方式进行,可参见计算器的显示功能 1.2设计方案 此设计是由八位加法器构成的以时序逻辑方式设计的八位乘法器,它的核心器件是八位加法器,所以关键是设计好八位加法器。 方案一:八位直接宽位加法器,它的速度较快,但十分耗费硬件资源,对于工业化设计是不合理的。 方案二:由两个四位加法器组合八位加法器,其中四位加法器是四位二进制并行加法器,它的原理简单,资源利用率和进位速度方面都比较好。综合各方面的考虑,决定采用方案二。 该乘法器是由8位加法器构成的以时序方式设计的8位乘法器。其乘法原理是乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。从

四位二进制除法器说明书

目录 一、设计目的 (1) 二、设计要求 (1) 三、设计内容 (1) 3.1、除法的实现 (1) 3.2、设计框图 (1) 3.3、功能说明 (1) 3.4、VHDL程序源代码 (2) 3.5、VHDL程序说明 (3) 四、原理图和印刷板图 (4) PCB板图 (4) Protel 原理图 (5) 五、设计结论 (6) 六、设计心得体会 (6) 七、主要参考文献 (7)

一、设计目的 1.掌握电子电路的一般设计方法和设计流程; 2.学习使用PROTEL软件绘制电路原理图及印刷板图。 二、设计要求 设计一个四位二进制除法器,具体要求如下: 1. 用键盘输入两个四位二进制数,并用数码管显示输入数。 2.按除法键即显示相除结果。 3. 除数为零时,数码管黑屏,不显示任何内容。 三、设计内容 1、设计过程 要想实现四位二进制除法器,必须首先实现除法的功能。 除法实现的方案可以用VHDL语言实现。 整个四位二进制除法器包括:输入电路,判断电路,除法电路,译码电路和显示电路。这些电路可以分别进行设计。 2、设计框图 3.各个模块的功能说明 ●整个四位二进制除法器的实现可以分为以下5个部分: ●输入电路:输入两个4位2进制数A和B。它是通过连着高电平的8个开关

来实现的。

●判断电路:判断B是否为0。它是通过1个5输入同或门实现的。如果 B为0,输出端输出高电平,使能端除法器不工作,显示器黑屏。 ●除法电路:由VHDL语言实现的。它实现两个4位2进制数相除,并输出商y 和余数r. ●译码电路:由VHDL语言实现的。它实现两个4位2进制数相除,并输出商y 和余数r. ●显示电路:将译码器译成的数用数码管显示出来。 4.VHDL程序源代码 除法源代码 1.Library ieee; 2.Use ieee.std_logic_1164.all; 3.Entity divider is 4.Generic (n: integer :=3); 5.Port( a, b : in integer range 0 to 15; 6.y:out std_logic_vector ( 3 downto 0); 7.rest:out integer range 0 to 15; 8.err:out std_logic); 9.End divider ; 10.Architecture rtl of divider is 11.Begin 12.Process (a,b) 13.Variable temp1:integer range 0 to 15; 14.Variable temp2:integer range 0 to 15; 15.Begin 16.temp1:=a; 17.temp2:=b; 18.if(b=0)then err <=’1’; 19.Else err<=’0’;

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

《电工与电子技术基础》课程设计报告 题目 4位二进制加法器 学院(部) 专业 班级 学生姓名 学号 5月日至 6月日共周

目录 技术要求·2 摘要·2 第一章系统概述 1、总体设计思想·2 2、系统框图·3 3、工作原理·3 第二章单元电路设计及分析 1、加法器的选择·4 2、译码器Ⅰ的选择·8 3、译码器Ⅱ的选择·11 4、数码管的选择·13 第三章系统综述及总体电路图 1、系统综述·14 2、总体电路图·15 3、仿真结果·15 第四章结束语 收获与体会·16 鸣谢·17 附录 1、元件材料清单·17 2、部分元器件引脚图·17 参考文献··17

4位二进制加法器 课题名称与技术要求 课题名称: 四位二进制加法器设计 技术要求: 1)四位二进制加数与被加数输入 2)二位数码管显示 摘要 本设计通过八个数据开关将A4,A3,A2,A1和B4,B3,B2,B1信号作为加数和被加数输入四位二进制并行进位加法器相加,将输出信号S4,S3,S2,S1和向高位的进位C4通过译码器Ⅰ译码,再将输出的X4,X3,X2,X1和Y4,Y3,Y2,Y1各自分别通过一个 74248J译码器,最后分别通过数码管HVH实现二位显示。 本设计中译码器Ⅰ由三部分组成,包括一个2输入四与非门(74LS08D)、一个4位二进制全加器(74LS283N)和一个3输入或门(4075BD_5V)。信号S4,S3,S2,S1和向高位的进位C4输入译码器Ⅰ,将得到的两组4位BCD码输出,将这两组4位BCD码分别输入BCD-7段译码/升压输出驱动器(74248J),使电路的后续部分得以执行。 第一章系统概述 1、总体设计思想 设计思路:两个4位二进制数的输入可用八个数据开关实现,这两个二进制数经全加器求和后最多可以是5位二进制数。而本题要求用两位数码管分别显示求和结果的十进制十位和各位,因此需要两个译码器Ⅱ分别译码十位和个位。综上所述,需要设计一个译码器Ⅰ,能将求和得到的五位二进制数译成8位BCD码,其中4位表示这个5位二进制数对应十进制数的十位,另4位表示个位。而译码器Ⅱ有现成的芯片可选用,此处可选74LS248,故本课题设计重点就在译码器Ⅰ。

四位二进制加法计数器课程设计

成绩评定表 学生姓名郝晓鹏班级学号1103060129 专业通信工程课程设计题目四位二进制加法 计数器 评语 组长签字: 成绩 日期20 年月日

课程设计任务书 学院信息科学与工程学院专业通信工程 学生姓名郝晓鹏班级学号1103060129 课程设计题目四位二进制加法计数(缺0010 0011 1101 1110) 实践教学要求与任务: 1、了解数字系统设计方法。 2、熟悉VHDL语言及其仿真环境、下载方法。 3、熟悉Multisim仿真环境。 4、设计实现四位二进制加计数(缺0010 0011 1101 1110) 工作计划与进度安排: 第一周:熟悉Multisim及QuartusII环境,练习数字系统设计方法。包括采用触发器设计和超高速硬件描述语言设计,体会自上而下、自下而上设计 方法的优缺点 第二周:1.在QuartusII环境中仿真实现四位二进制加计数(缺0100 0101 1001 1010 )。 2.在Multisim环境中仿真实现四位二进制加计数,缺(0100 0101 1001 1010),并通过虚拟仪器验证其正确性。 指导教师: 201 年月日专业负责人: 201 年月日 学院教学副院长: 201 年月日

摘要 本文采用在MAXPLUSⅡ环境中用VHDL语言实现四位二进制加法计数(缺0010 0011 1101 1110),在仿真器上显示结果波形,并下载到目标芯片上,在实验箱上观察输出结果。在Multisim环境中仿真实现四位二进制加法计数器(缺0010 0011 1101 1110),并通过虚拟仪器验证其正确性。 关键词:MAXPLUSⅡ环境;VHDL语言;四位二进制加计数;Multisim环境

8位二进制乘法器

8位二进制乘EDA实验 法器 学号:02115024 [2013.12.15] 班级:021151 姓名:王浩楠 指导老师:徐少莹

一.设计要求 8位二进制乘法采用移位相加的方法。即用乘数的各位数码,从低位开始依次与被乘数相乘,每相乘一次得到的积称为部分积,将第一次(由乘数最低位与被乘数相乘)得到的部分积右移一位并与第二次得到的部分积相加,将加得的和右移一位再与第三次得到的部分积相加,再将相加的结果右移一位与第四次得到的部分积相加,直到所有的部分积都被加过一次。 例如:11010101和10010011相乘,计算过程如下: 二.设计方法 按照这种算法,可以得到下图所示之框图和简单流程图。按照这种算法,可以得到下图所示之框图和简单流程图。图中Y寄存器存放被乘数M,B寄存器存放乘数N,A累加器存放部分积。A和Y中的数据在加法器中相加后送入A 中,而A和B相级联又构成了一个16bit的移位寄存器,当它工作于移位模式时,可以实现数据的右移。由于乘数的每一位不是0就是1 ,对应的部分积不是0就是被乘数本身,所以实际作部分积相加这一步时,只要根据乘数的对应位判断:如该位为1 ,则将累加器中的数据加上被乘数再移位;如该位为0时,就不加被乘数而直接移位。运算时首先将累加器A清零,并将被乘数M和乘数N分别存入寄存器Y和B,然后依据寄存器B中最右一位B0(数据N0)确定第一个部分积。将此部分积送入A累加器以后,将A连同寄存器B右移一位,部分积的最低位被移进寄存器B的最左位,乘数的最低位N0被移出寄存器B,而乘数的次低位N1被移至寄存器B的B0位。第二次仍然依据B0位的数据(N1)来确定第二个部分积,将部分积与累加器中的数据相加后右移一位,N1又被移出寄存器,数据N2被移到B0位置。。。。。这样,经过8次部分积相加位的操作,完成1次乘法运算,乘数N恰好被移出寄存器B,寄存器B中保存的就是运算积的低8位数据。移位相加的次数应用一个计数器来控制,每移位一次,计数器计一个数。当计数器计得8个数时,发出一个信号,使电路停止操作,并输出运算结果。

二进制数

二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。 二进制数(binaries)是逢2进位的进位制,0、1是基本算符;计算机运算基础采用二进制。电脑的基础是二进制。在早期设计的常用的进制主要是十进制(因为我们有十个手指,所以十进制是比较合理的选择,用手指可以表示十个数字,0的概念直到很久以后才出现,所以是1-10而不是0-9)。电子计算机出现以后,使用电子管来表示十种状态过于复杂,所以所有的电子计算机中只有两种基本的状态,开和关。也就是说,电子管的两种状态决定了以电子管为基础的电子计算机采用二进制来表示数字和数据。常用的进制还有8进制和16进制,在电脑科学中,经常会用到16进制,而十进制的使用非常少,这是因为16进制和二进制有天然的联系:4个二进制位可以表示从0到15的数字,这刚好是1个16进制位可以表示的数据,也就是说,将二进制转换成16进制只要每4位进行转换就可以了。 二进制的“00101000”直接可以转换成16进制的“28”。字节是电脑中的基本存储单位,根据计算机字长的不同,字具有不同的位数,现代电脑的字长一般是32位的,也就是说,一个字的位数是32。字节是8位的数据单元,一个字节可以表示0-255的十进制数据。对于32位字长的现代电脑,一个字等于4个字节,对于早期的16位的电脑,一个字等于2个字节。 例子: 如十进制10 变二进制 10/2 = 5 余0 5/2 = 2 余1 2 /2 =1 余0 1/2 = 0 余1 计算结束,把余数从后向前写出:1010,即十制10 变为二进制后是1010; 二进制计算与十进制计算类似,只不过是逢二进。以加法为例: 0 + 0 = 0 0+1 =1 1+0 = 0 1+1= 10 //如二进制100 + 101计算 1 0 0 + 1 0 1 ---------- 1 0 0 1 相当于十进制4+5 = 9

利用全加器电路创建四位二进制加法器

一.课程设计的目的: 1、学习并了解MATLAB软件。 2、尝试用Simulink建模。 3、实现对数字电路的防真设计。 4、利用全加器电路创建四位二进制加法器。 二.课程设计题目描述及要求: 利用所学的数字电路的基本知识和MUTLAB软件中Simulink的应用学习,完成对数字电路的仿真设计。用各种各样的组合逻辑电路设计全加器,输出曲线,再利用全加器设计电路创建四位二进制加法器电路图,给出输出。 三.MATLAB软件简介: MATLAB是MathWorks公司于1984年推出的一套高性能的数值计算可视化软件,集数值分析、矩阵运算、信号处理和图形显示于一体。MATLAB是由Matrix 和Laboratory单词的前三个字母组合而成的,其含义是矩阵实验室。 Simulink是MATLAB最重要的组件之一,是实现动态系统建模、仿真的一个集成环境。它支持线性和非线性系统,连续时间、离散时间,或者两者的相结合的仿真,而且系统是多进程的。Simulink是从底层开发的一个完整的仿真环境和图形界面,它把MATLAB的许多功能都设计成一个个直观的功能模块,把需要的功能模块连接起来就可以实现所需要的仿真功能。Simulink仿真应用于数字电路、数字信号处理、通信仿真、电力系统仿真、宇航仿真等领域。由于数字系统中高低电平分别用0和1表示,因此数字电路问题往往可以转化为一个数字上的逻辑问题。MATLAB提供了逻辑运算模块和各种触发器模块,可以方便的进行数字电路的设计和仿真。借助于组合电路仿真常用模块Logic and Bit Operations子库中的Local Operator模块,将其拖到所建的untitled窗口中,然后鼠标左键双击该模块弹出的Block Parameters/Logical Operator对话框,按Operator栏后的黑三角来选择所需要的门电路标识符,如:AND、OR、NAND、NOR、XOR、NOT中的一个,并依次设置所需的输入、输出端子个数,之后按OK 键确定。利用这些基本门电路组成加法器逻辑电路。 四.课程设计的内容: 1、1位全加器的设计。 所谓全加器,就是带进位输入和进位输出的加法器。1位全加器有3个输入,分别是加

数电课设___四位二进制加法计数器的设计

成绩评定表

课程设计任务书

摘要 Quartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 Multisim是Interactive Image Technologies (Electronics Workbench)公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。 本次数电课程设计使用Quartus II仿真环境以及VHDL下载和Multisim仿真环境来编译实现四位二进制同步加法计数器。在Multisim中选用一个集成计数器74LS163来实现四位二进制加法计数器。运用卡诺图求解时序方程。逻辑电路图中,四个小红灯即为显示器,从右到左显示时序图中的十四种状态,其中,灯亮表示“1”,灭表示“0”,从而达到计数目的。 关键字:Quartus II Multisim 集成计数器74LS163 时序图卡诺图 目录

一、课程设计目的 (1) 二、设计框图 (1) 三、实现过程 (2) 1、QUARTUS II实现过程 (2) 1.1建立工程 (2) 1.2调试程序 (3) 1.3波形仿真 (6) 1.4引脚锁定与下载 (8) 1.5仿真结果分析 (10) 2、MULTISIM实现过程 (10) 2.1求驱动方程 (10) 2.2画逻辑电路图 (13) 2.3逻辑分析仪的仿真 (14) 2.4结果分析 (14) 四、总结 (15) 五、参考书目 (16)

八位乘法器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布局布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配臵、逻辑分割、逻辑优化、布局布线。适配报告指明了芯片内资源的分配与利用、引脚锁定、设计的布尔方程描述情况。

四位二进制除法器

四位二进制除法器设计 李道通1411082758 1、设计方法 采用移位相减法设计二进制除法器:被除数和除数都是二进制数,采用将除数移位的方法。1)判断除数是否零:如果除数为零,返回等待;2)除数不为零时,C左移一位,将被除数A的最高位赋值给C的最低位,A左移一位,将最低位赋值为零;3)判断C和除数B的大小,若C>=B,这C=C-B,且A的最低位赋值为1。4)如此循环四次,得到的A即为商,得到的C为余数。该算法的好处在于被除数和商公用一个寄存器A,节省资源。 2、算法流程图 图中:被除数和除数分别放在A、B中,商余数分别放在A和C,N为计数器

3、VHDL程序代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.NUMERIC_STD.ALL; ENTITY ldt_chufaqi IS PORT(A,B:IN STD_LOGIC_VECTOR(3 DOWNTO 0); C,D:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END ENTITY ldt_chufaqi; ARCHITECTURE BEHA V OF ldt_chufaqi IS BEGIN S1:PROCESS(A,B) V ARIABLE N:INTEGER; V ARIABLE TEMP_A,TEMP_B,TEMP_C:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN TEMP_A:=A; TEMP_B:=B; TEMP_C:="0000"; N:=0; IF(B>"0000")THEN WHILE(N<4) LOOP TEMP_C:=TEMP_C(2 DOWNTO 0)& TEMP_A(3); TEMP_A:=TEMP_A(2 DOWNTO 0)&'0'; IF TEMP_C>=TEMP_B THEN TEMP_C:=TEMP_C-TEMP_B; TEMP_A(0):='1'; END IF; N:=N+1; END LOOP; ELSE TEMP_A:="ZZZZ"; TEMP_C:="ZZZZ"; END IF; D<=TEMP_A(3 DOWNTO 0);C<=TEMP_C(3 DOWNTO 0); END PROCESS; END ARCHITECTURE BEHA V; 4、仿真结果: 图中:A、B、C、D分别是被除数、除数、余数和商,因本人对软件和语言的运用理解不足,无法做到A的同时输入和输出,故将A的结果赋值给D,但基本思路运算方法已经得到实现。

数字逻辑4位二进制加法器实验

实验2 4位二进制加法器的设计 2.1 实验目的 进一步熟悉Quartus Ⅱ的基本操作方法,并利用原理图输入设计方法设计简单组合电路,掌握层次化设计的方法,通过4位全加器的设计掌握利用EDA 工具进行电子系统设计的流程。 2.2 原理提示 一个4位二进制加法器可以由4个全加器构成,各全加器之间的进位以串行方式实现,即将低位的进位输出CO 与相邻的高一位全加器的进位位Ci 相连,最低进位位接“0”。实验原理图如下。 2.3实验内容 采用Quartus Ⅱ基于图形的设计方法,在实验1的基础上,按层次化结构实现4位全加器的设计。完成原理图输入、编译、进行波形仿真验证。(仿真时要对所有输入、输出端进行)。 2.4实验步骤 (1) 为本项设计任务建立工程。 启动Quartus Ⅱ,新建一个工程,有关操作如下图。 将实验1中已设计好的原理图文件fualladd.bdf 拷贝到D:\0501\exp2下。在实验1中fualladd.bdf 是顶层设计文件,而在本实验中,fualladd.bdf 将作为底层设计文件使用。 ∑C i C o ∑C i C o ∑C i C o a 0b 0a 1b 1a 2b 2a 3b 3s 0s 1s 2s 3c o ∑C i C o 0

建立本工程的顶层设计。点击“File/New”→“Block Diagram/Schematic File”→“OK”,将Block1.dbf 另存为add4. dbf。add4. dbf是本工程的顶层设计文件。 (2)点击“File / Open…”将fualladd.bdf 文件打开。 (3)将fualladd.bdf制作成一个符号块,以便在add4. dbf中调用。点击“File / Create/Update / Create Symble Files For Currenf Fils”,弹出对话框(文件名一栏应出现fualladd.bsf),点击“保存”。于是,生成全加器的符号块文件fualladd.bsf。 (4)在add4. dbf的绘图区放置全加器符号。右击add4. dbf的绘图区,弹出浮动菜单,选择“Insert / Symbol…”弹出如下对话框:(在实验1中是怎样放置一个符号的?在这里也能用吗?试试看) 按图操作。结果在add4. dbf的绘图区放置了一个全加器符号。 (5)完成顶层设计。 按下图操作,完成4位二进制加法器的设计。存盘。 操作说明: 符号的旋转 右击待旋转的符号,弹出浮动菜单,选择“Rotate by Degrees / 90”可反时针旋转90°。

四位二进制数1011的典型格林码为(

《数 字 逻 辑》 复 习 题 1、(321)10=( )2=( )16 2、(AB.C )16=( )2=( )10 3、(-1011011)2 =( )补 4、(32)10=( )8421BCD =( )余三BCD 5、(216)10=( )2421BCD =( )5421BCD 6、(-29)10 =( )9补 7、(-128.6)10=( )9补=( )10补 8、四位二进制数1011的典型格林码为( ) 9、用逻辑代数公理和定理证明: ①B A B A B A B A +=⊕ ②)B A (⊕⊙B A AB = ③C AB C B A C B A ABC A ++=? 10、利用公式法和卡诺图法化简下列函数: ① F (A 、B 、C 、D )=∑m (2、3、4、5、10、11、12、13) ② F (A 、B 、C 、D )=∏M (2、4、6、10、11、12、13、14、15) 11、设计一个“四舍五入”电路,该电路输入为一位十进制的8421码,当其值大于或等于5时输出F 的值为1,否则F 的值为0。 12、设计一代码转换电路,将4位二进制数转换成格林码。 13、什么是组合电路,说明组合电路的分析和设计的基本过程。 14、举例说明什么是Mealy 型电路和Moore 型电路,并说明其在分析和设计时的过程。 15、什么是同步时序电路,说明其分析和设计的基本过程。 16、什么是脉冲型异步时序电路,说明其分析和设计的基本过程,并说明其对输入的要求。 17、什么是电平型异步时序电路,说明其分析和设计的基本过程,并说明其对输入的要求及与组合电路的区别。 18、什么是PAL ,举例说明利用PAL 进行时序逻辑电路设计的基本方法和注意事项。 19、说明D 触发器的功能及状态方程。 20、说明JK 触发器及T 触发器的功能及状态方程。 21、什么是等效状态,并说明对完全给定状态表化简的基本过程。 22、什么是相容状态,并说明对不完全给定状态表化简过程。 23、设计一个二位二进制+/-可逆计数器。 24、用与非门设计一个组合电路,该电路输入为一位十进制的8421BCD 码,当输入的数字1的个数为奇数时,输出F 为1,否则F 为0。 25、给出如下同步时序逻辑电路的状态表,分别用D 、JK 、T 触发器实现该电路,并说明用哪一种触发器组成的电路简单。

《四位二进制》 汪洋

《电工与电子技术基础》课程设计报告 题目四位二进制加法器 学院(部)汽车学院 专业汽车运用工程 班级2013220202 学生姓名汪洋 学号201222020227 6 月20 日至6 月2 7 日共1 周

四位二进制加法器 一.主要技术指标和要求 (1)四位二进制加数与被加数输入; (2)二位数码管显示。 二.摘要 四位二进制加法器的设计包括:1、四位二进制加数和被加数的输入,2、两个数的相加运算及和的输出,3、将两个数的和通过译码器显示在数码管上。二进制数的输入可以通过数据开关实现,用加法器可以进行二进制数的加法运算。两个四位二进制数相加后的和在十进制数的0~30内,其中产生的进位和对十进制数十位的判断和显示是重点和难点,这需要通过译码器来实现。最后用两个BS204数码管进行二位显示。 三.总体方案的论证及选择 通过数据开关将A3,A2,A1,A0和B3,B2,B1,B0信号作为加数和被加数输入到超前进位加法器74LS283的8个输入端实现,四位二进制相加,将输出信号S4,S3,S2,S1和向高位的进位C1通过一译码器译码。再将输出X4,X3,X2,X1和Y4,Y3,Y2,Y1分别通过一个74LS247译码器,最后分别通过共阳极数码管BS204实现二位显示。

1.加法器的选择 加法器是一种逻辑组合电路,主要功能是实现二进制数的算数加法运算。加法器有两种:串行进位加法器和超前进位加法器。串行进位加法器高位的运算必须等到低位的加法运算完成后送来的进位才能进行,虽然电路简单,但运行速度慢,位数越多,进位越慢;超前进位加法器是由逻辑电路根据输入信号同时形成各位向高位的进位,使各位的进位直接由加数和被加数决定,而不依赖低位的进位,省去了逐级进位所用的时间,因此这种加法器速度快,所以我们选择超前进位加法器,其型号有多种,再此,选择74LS283型加法器。 2.译码器的选择 译码器是一种具有“翻译”功能的逻辑电路,这种电路能将输入二进制代码的各种状态,按照其原意翻译成对应的输入信号。译码器是组合逻辑电路的一个重要器件。译码器的种类有多种,其中显示译码器最典型,应用广泛,其又分为七段译码器和八段译码器,在此选择七段译码器,可供选择的译码器有74LS247,74LS47,74LS248,74LS48四种,74LS247,74LS47的引脚排列分别和74LS248,74LS48的引脚排列一模一样,功能也差不多,但前两者控制共阳极数码管,后两者控制共阴极数码管,最终我们选择74LS247译码器。 74LS247型七段显示译码器的主要功能是把8421BCD译成对应于数码管的7个字段信号并驱动数码管,显示出相应的十进制数码。

十进制4位加法计数器设计

洛阳理工学院 十 进 制 4 位 加 法 计 数 器 系别:电气工程与自动化系 姓名:李奇杰学号:B10041016

十进制4位加法计数器设计 设计要求: 设计一个十进制4位加法计数器设计 设计目的: 1.掌握EDA设计流程 2.熟练VHDL语法 3.理解层次化设计的内在含义和实现 设计原理 通过数电知识了解到十进制异步加法器的逻辑电路图如下 Q3 则可以通过对JK触发器以及与门的例化连接实现十进制异步加法器的设计 设计内容 JK JK触发器的VHDL文本描述实现: --JK触发器描述 library ieee; use ieee.std_logic_1164.all; entity jk_ff is

port( j,k,clk: in std_logic; q,qn:out std_logic ); end jk_ff; architecture one of jk_ff is signal q_s: std_logic; begin process(j,k,clk) begin if clk'event and clk='0' then if j='0' and k='0' then q_s <= q_s; elsif j='0' and k='1' then q_s <= '0'; elsif j='1' and k='0' then q_s <= '1'; elsif j='1' and k='1' then q_s <= not q_s; end if; end if; end process; q <= q_s; qn <= not q_s; end one; 元件门级电路: 与门VHDL文本描述实现: --与门描述library ieee; use ieee.std_logic_1164.all;

移位硬件八位乘法器

移位硬件八位乘法器 作者:孤灯 摘要:纯组合逻辑构成的乘法器虽然工作速度比较快,但过于占用硬件资源,难以实现宽位乘法器,基于PLD器件外接ROM九九表的乘法器则无法构成单片系统,也不实用。这里介绍由八位加法器构成的以时序逻辑方式设计的八位乘法器,具有一定的实用价值,而且由FPGA构成实验系统后,可以很容 易的用ASIC大型集成芯片来完成,性价比高,可操作性强。 关键词:加法器,寄存器,一位乘法器,锁存器。 Abstract The pure combinatory logic constitution multiplier although the working speed quite is quick,But too takes the hardware resources,Realizes the wide position multiplier with difficulty.Meets the ROM multiplication table based on the PLD component outside the multiplier then is unable to constitute the monolithic system,Also is impractica Here introduced constitutes by eight accumulators by the succession logic way design eight multipliers,Has the certain practical value, Moreover constitutes the experimental system after FPGA,May be very easy to complete with the ASIC large-scale integration chip,The natural price is higher than,Feasibility. 一.设计思路 纯组合逻辑构成的乘法器虽然工作速度比较快,但过于占用硬件资源,难以实现宽位乘法器,基于PLD器件外接ROM九九表的乘法器则无法构成单片系统,也不实用。这里介绍由八位加法器构成的以时序逻辑方式设计的八位乘法器,具有一定的实用价值,而且由FPGA构成实验系统后,可以很容易的用ASIC大型集成芯片来完成,性价比高,可操作性强。其乘法原理是:乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与 上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。 二.方案设计与论证 此设计是由八位加法器构成的以时序逻辑方式设计的八位乘法器,它的核心器件是八 加法器,所以关键是设计好八位加法器。 方案一:八位直接宽位加法器,它的速度较快,但十分耗费硬件资源,对于工业化设计是不合理的。 方案二:由两个四位加法器组合八位加法器,其中四位加法器是四位二进制并行加法器,它的原理简单,资源利用率和进位速度方面都比较好。综合 各方面的考虑,决定采用方案二。 三.工作原理

四位二进制加法器电工电子课程设计

长安大学 电子技术课程设计 4位二进制加法器 专业车辆工程 班级22010901 姓名韩塽 指导教师顾樱华 日期2011、6、26

目录 一、技术要求 (2) 二、摘要 (2) 三、总体设计方案的论证及选择 (2) 1、加法器的选取 (2) 2、译码器的选取 (2) 3、数码管的选取 (3) 四.设计方案的原理框图,总体电路图,接线图及说明 (3) 1、总体原理图 (3) 2、总体接线图 (4) 五.单元电路设计,主要元器件选择与电路参数计算 (4) 1、逻辑开关 (4) 2、加法器设计 (5) 3、译码器设计 (7) 4、数码管设计 (9) 六、收获与体会 (10) 七、参考文献 (11) 八、附件(元器件清单) (12) 评语 (13)

一.技术要求 1.四位二进制加数与被加数输入 2.二位数码管显示 二.摘要 该设计主要包括两个部分:一是用加法器实现四位二进制加数与被加数的输入,二是将相加产生的二进制和数用二位数码管显示,在此设计中加法器是重点,数码显示是难点。数码显示采用计数器,译码器七段译码显示管来实现。加法器分为半加器和全加器,半加器只能实现两个一位二进制数的相加,其只考虑两个加数本身的求和而不考虑低位来的进数位。目前使用最广泛的二进制加法器是二进制并行加法器。 三.总体设计方案的论证及选择 1.加法器的选取 二进制并行加法器是一种能并行产生两个n位二进制算术和的组合逻辑电路。按其进位方式的不同,可分为串行进位二进制并行加法器和超前进位二进制并行加法器两种类型。所以根据加法器的工作速度选取超前进位加法器。这里供选取的超前进位加法器有74LS283,CT74LS283,SN74LS283,DM74LS283,HD74LS283,M74LS283 可供选择。由于我们是非电专业,对电子器件的选取要求不高,为使设计简单起见所以选74LS283加法器。 2.译码器的选取 译码器是一种具有“翻译”功能的逻辑电路,这种电路能将输入二进制代码的各种状态,按照其原意翻译成对应的输出信号。译码器是组合逻辑电路的一个重要的器件,在显示译码器的选择上有七段译码器和八段译码器。此

相关文档
最新文档