数电实验加法器设计

合集下载

加法器电路设计实验报告

加法器电路设计实验报告

加法器电路设计实验报告【加法器电路设计实验报告】一、实验目的本实验的主要目标是通过实际操作,设计并实现一个基础的加法器电路,以深入理解数字逻辑电路的设计原理和工作方式。

通过对半加器、全加器以及多位加法器的设计与搭建,进一步熟悉集成门电路的应用,掌握组合逻辑电路的设计方法,并能对电路的逻辑功能进行有效的验证与分析。

二、实验原理加法器是数字系统中的基本运算单元,其核心工作原理基于二进制数的加法规则。

在最基础的层面上,一个半加器(Half Adder)用于计算两个一位二进制数的和,同时产生一个进位输出;而全加器(Full Adder)在此基础上增加了处理来自低位的进位输入,可以完成三位二进制数的相加。

对于多位二进制数的加法,可以通过级联多个全加器来实现。

1. 半加器:由两个异或门(XOR)实现“和”输出,一个与门(AND)实现“进位”输出,即S=A XOR B,Cout=A AND B。

2. 全加器:除了接收两个数据输入A和B外,还接收一个进位输入Cin,同样由异或门计算“和”,但“进位”输出需要考虑三个输入的与或逻辑关系,即S=A XOR B XOR Cin,Cout=(A AND B) OR (B AND Cin) OR (A AND Cin)。

三、实验步骤1. 半加器设计:首先,利用集成电路库中的逻辑门元件构建半加器,将A 和B作为异或门的输入得到和信号S,将A和B分别连接到与门的两个输入端得到进位信号Cout。

2. 全加器设计:在半加器的基础上,增加一个输入端Cin代表低位的进位,同样运用异或门和与门组合形成全加器的逻辑结构,根据全加器的逻辑表达式连接各门电路。

3. 多位加法器设计:为了实现多位二进制数的加法,将若干个全加器按照从低位到高位的顺序级联起来,每级全加器的进位输出连接到下一级的进位输入。

四、实验结果及分析经过电路设计与仿真测试,成功实现了从半加器到多位加法器的功能转化。

当给定两组多位二进制数后,所设计的加法器电路能够准确无误地计算出它们的和,并正确显示进位信息。

数字电路课程设计之加减法运算电路设计(1)

数字电路课程设计之加减法运算电路设计(1)

设计资料1加减法运算电路设计1.设计内容及要求1.设计一个4位并行加减法运算电路,输入数为一位十进制数,且作减法运算时被减数要大于或等于减数。

2.led 灯组成的七段式数码管显示置入的待运算的两个数,按键控制运算模式,运算完毕,所得结果亦用数码管显示。

3.提出至少两种设计实现方案,并优选方案进行设计2.结构设计与方案选择2.1电路原理方框图电路原理方框图如下→ →图1-1二进制加减运算原理框图如图1-1所示,第一步置入两个四位二进制数(要求置入的数小于1010),如(1001)2和(0111)2,同时在两个七段译码显示器上显示出对应的十进制数9和7;第二步通过开关选择运算方式加或者减;第三步,若选择加运算方式,所置数送入加法运算电路进行运算,同理若选择减运算方式,则所置数送入减法运算电路运算;第四步,前面所得结果通过另外两个七段译码器显示。

即:若选择加法运算方式,则(1001)2+(0111)2=(10000)2 十进制9+7=16置数开关选择运算方式加法运算电路减法运算电路译码显示计算结果显示所置入的两个一位十进制数并在七段译码显示器上显示16.若选择减法运算方式,则(1001)2-(0111)2=(00010)2十进制9-7=2 并在七段译码显示器上显示02.2.2加减运算电路方案设计2.2.1加减运算方案一如图2-2-1所示:通过开关S2——S9接不同的高低电平来控制输入端所置的两个一位十进制数,译码显示器U13和U15分别显示所置入的两个数。

数A 直接置入四位超前进位加法器74LS283的A4——A1端,74LS283的B4——B1端接四个2输入异或门。

四个2输入异或门的一输入端同时接到开关S1上,另一输入端分别接开关S6——S9,通过开关S6——S9控制数B的输入。

当开关S1接低电平时,B与0异或的结果为B,通过加法器74LS283完成两个数A和B的相加。

当开关S1接高电平时,B与1异或的结果为B非,置入的数B在74LS283的输入端为B的反码,且74LS283的进位信号C0为1,其完成S=A+B (反码)+1,实际上其计算的结果为S=A-B完成减法运算。

实验5 组合逻辑电路(加法器)

实验5 组合逻辑电路(加法器)

6
=1
1 2
1
5 3
74LS04
Ai 0 0 1
Bi 0 1 0
&
1 2
1
1
74LS00
Ai Bi
三、实验内容及步骤:
2.用逻辑门组成全加器
逻辑函数 测量真值表 输 入
Ai
0 0
S Ai Bi Ci 1

Ci-1
0 1

Ci
Ci ( Ai Bi )Ci 1 AiBi
1
Ci
Ci-1
&
1
四、实验报告
1.整理实验数据及结果,按要求填写表格。 2.讨论器件的作用,全加器中使用各器件多少片,
在全加器电路图中标出各引线对应各器件的引脚
号。 五、思考题(写在实验报告中) 通过对加法器输入、输出信号的对应关系 的测试,说明组合逻辑电路的特点。
142
11
10
11
10
≥1
9
8
1
1
1
1
1 2 3
1
4 5
1
6
≥1
GND
≥1
GND 1 2
7
3
4
5
6
7
数字实验箱面板图
三、实验内容及步骤:
1.用逻辑门组成半加器
Si Ai Bi
Si Ci
Ci AiBi AiBi
测量真值表 输 入 输 Si 出 Ci
74LS86 3
Bi
0 0
Si
( Ai Bi )Ci 1 AiBi
0
0 1 1 1 1
1
1 0 0 1 1
0

数字设计 组合逻辑电路 BCD加法器课程设计报告

数字设计 组合逻辑电路 BCD加法器课程设计报告
——————16 位 BCD 码加法运算器的实现
使用芯片 74x283、 74x157 及与、 或、 非门器件设计一个电路, 实现 16 位 BCD 加法运算。 画出电路逻辑图,并用 Verilog HDL 进行仿真。 注: 74x283 是 4 位二进制先行进位加法器,输入端有:Cin、A[3:0]、B[3:0]; 输出端有: Cout、S[3:0]; 其功能大致可以表示为:{Cout,S}=A+B+Cin 74x157 为多路复用器,输入端有:S、A[3:0]、B[3:0];输出端有:Y[3:0]; 其功能为:Y=S’·A+S·B
此次课程设计是本人第一次独立完成的一个比较完整的项目它集筛选提出问题需求分析提出设计方案可行性分析确定设计方案实现仿真检验等于一体是对人综和素质的检验和锻炼
电 子 科 技 大 学
数 字 电 路 课 程 设 计 报 告
姓名:
张华博
学号:2011091010004
选课号:
132
指导老师:
张刚
组合逻辑电路课程设计
总结: 此次课程设计是本人第一次独立完成的一个比较完整的“项目” ,它集筛选(提出) 问题、需求分析、提出设计方案、可行性分析、确定设计方案、实现、仿真检验等于一体, 是对人综和素质的检验和锻炼;学习关于电子设计的相关课程(电路分析、模拟电路、数字 设计)已经有一年半的时间了,期间就只是做题和简单的仿真,觉得不过如此,挺简单的。 但纸上得来终觉浅, 虽然这只是一个很简单的设计, 真正要动手的时候才发现不知该如何下 手,几经辗转才了解电子设计的诸多流程。 设计完成后,就要开始进行仿真了。要用到 quartus II 软件,就需要自学软件操作,上 网搜教程掌握基本操作,翻课本找程序学习 Verilog HDL;虽然有些困难,总是出现这样那 样的问题,但,是问题总有解决的办法,通过学习,看着问题一个一个的被解决掉,这才发 现自主学习是多么快乐的一件事, 每解决一个问题, 就会增加一份成就感! 这比让老师逼着、 管着去学效果要好的多,并且经过这次课程设计之后,我比以前更喜欢数字设计这门课了! 总的来说,这次课程设计使我受益匪浅,使我分析问题的思路更清晰、目的更明确、 解决方法更娴熟。虽然仿真程序还可简化改进,但是鉴于下午就要交报告,时间有点仓促, 所以在此就不再赘言,课下我会略加改进。

实验二 全加器的设计

实验二  全加器的设计

实验二全加器的设计一、实验目的1、掌握MAX+plus 软件的使用方法。

2、掌握层次化设计方法:底层为文本文件,顶层为图形文件。

3、通过全加器的设计掌握利用EDA软件进行电子线路设计的过程。

二、实验设备1、计算机2、MAX+plus II软件及实验箱三、实验原理加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可由加法器来构成。

全加器,全加器是实现两个一位二进制数及低位来的进位数相加(即将三个二进制数相加),求得和数及向高位进位的逻辑电路。

所以全加器有三个输入端(A,B,C)和两个输出端SO,CO)。

1、逻辑关系:CO=AB SO=AB+BA=A⊕B语句:SO<=NOT(A XOR (NOT B))CO<=A AND B2、逻辑关系:语句:SO<=NOT(A XOR (NOT B)); CO<=A AND B;SO=A⊕B⊕C CO=AB+CA+CB四、实验内容1、半加器的设计:完成源程序的编辑、编译、仿真。

2、两输入或门的设计:完成源程序的编辑、编译、仿真。

3、全加器的设计:完成源程序的编辑、编译、仿真。

五、实验步骤1、启动MAX+plus II 10.0 软件2、底层文件:新建文件文本文件:(1)File \ New \Text Editor File(2)在文本文件上输入代码(3)保存文本文件:File\Save\H-adder.vhd 扩展名为*.vhd(4)设置为当前文件:点击File\Project\set project to current file 设置项目为当前文件(5)编译1)选择芯片型号:点击Assign\Device:Ep1k30QC208-32)编译:点击MAX+plus II \ Compiler \ Start 开始编译,生成.pof 文件(CPLD) (6)仿真1)启动MaxplusII\Wavefrom editor 菜单,进入波形编辑窗口;2)导入输入输出节点:将鼠标移至空白处并单击鼠标右键,Enter Nodes from SNF 将欲仿真的所有I/O管脚加入。

数电实验报告 加法器

数电实验报告 加法器

数电实验报告加法器一、实验目的1、掌握半加器、全加器的工作原理及逻辑功能。

2、掌握集成加法器的应用。

二、实验设备及器件1、数字逻辑电路实验板 1块2、74HC283 1片3、74HC04 1片4、74HC00 1片5、74HC86 1片三、实验原理1、半加器不考虑低位进位,只本位相加,称半加。

实现半加的电路,为半加器。

2、全加器考虑低位进位的加法称为全加。

实现全加的电路,为全加器。

3、多位加法器(1)串行多位加法(2)并行多位加法四、实验内容与步骤1、用门电路实现全加器。

参照下图搭接电路,并测试其功能记录结果。

电路中的与非门用74HC00实现,74HC00的引脚图和真值表如图:电路中的异或门用74HC86实现,74HC86的引脚图和真值表如图:按上面的图连接好电路,高电平接+5V的电压,低电平接地,测得结果如下表:2、用集成加法器74HC283 实现代码转换电路。

要求:设计一个四位全加器电路,能够完成8421 码到余三码的转换。

实验电路图如下:74HC283的引脚图和真值表如下:按上面的图连接好电路,高电平接+5V的电压,低电平接地,输出端为低电平时,二极管发光,则测得实验结果如下表:8421BCD码余3码0 0 0 0 0 0 1 10 0 0 1 0 1 0 00 0 1 0 0 1 0 10 0 1 1 0 1 1 00 1 0 0 0 1 1 10 1 0 1 1 0 0 00 1 1 0 1 0 0 10 1 1 1 1 0 1 01 0 0 0 1 0 1 11 0 0 1 1 1 0 0五、实验感想:通过本次试验,我进一步学习了解了74HC86,74HC00,74HC283这三个电子元件,更深一步熟练掌握了电路的连接和电子元件电路设计实践操作的方法和技巧。

同时让我更进一步理解了加法器的原理和8421BCD码与余三码之间的关系。

本次试验,收获颇丰!。

全加器数电实验报告

全加器数电实验报告1. 引言这篇实验报告旨在介绍全加器的设计和实现过程。

全加器是数字电路中的基本组成部分,用于将两个二进制数相加并产生和与进位输出。

本实验将通过逻辑门电路来实现全加器的功能。

2. 实验目的本实验的主要目的是理解全加器的原理和设计方法。

通过实际操作和观察,加深对数字电路和逻辑门的理解,并学习使用数字电路设计工具进行模拟和验证。

3. 实验材料和设备•数字电路实验板•连接线•逻辑门芯片:与门、或门、异或门、与非门4. 实验步骤4.1 搭建基本电路首先,我们需要使用与门、或门、异或门和与非门来搭建一个全加器电路。

根据全加器的逻辑功能,我们可以通过以下步骤来搭建电路:1.将两个输入数相加的结果与进位输入相连接的异或门。

2.将两个输入数相加的结果与进位输入相连接的与门。

3.将两个输入数相加的结果与进位输入相连接的或门。

4.将两个输入数相加的结果与进位输入相连接的与非门。

4.2 进行模拟验证我们可以使用数字电路设计工具进行模拟验证。

将输入数和进位输入设置为不同的二进制值,并观察和记录输出结果。

4.3 实际搭建电路在实验板上搭建全加器电路,连接逻辑门芯片和输入输出端口,并确保电路连接正确。

4.4 进行实验验证将输入数和进位输入设置为不同的二进制值,并观察和记录输出结果。

5. 结果与分析根据实验结果,我们可以验证全加器的正确性。

当输入为0和0,并且进位输入为0时,输出的和为0,进位输出为0;当输入为0和1,或者输入为1和0,并且进位输入为0时,输出的和为1,进位输出为0;当输入为1和1,并且进位输入为0时,输出的和为0,进位输出为1;当输入为0和0,并且进位输入为1时,输出的和为1,进位输出为0;当输入为0和1,或者输入为1和0,并且进位输入为1时,输出的和为0,进位输出为1;当输入为1和1,并且进位输入为1时,输出的和为1,进位输出为1。

6. 总结与心得通过这个实验,我们深入了解了全加器的原理和设计方法。

数电实验——全加器设计


五、实验验证 A = 0 , B = 0 , ������1 = 0 , S = 0, ������0 = 0 ,红灯灭,绿灯灭
A = 0 , B = 0 , ������1 = 1 , S = 1, ������0 = 0 ,红灯亮,绿灯灭 A = 0 , B = 1 , ������1 = 0 , S = 1, ������0 = 0 ,红灯亮,绿灯灭
������ = ������ ⊕ ������ ⊕ ������1 {
������0 = ������������ ∙ ������������1 ∙ ������������1 ∙ 1
实验原理图:
用红灯的亮灭来表示 S 输出 1/0 用绿灯的亮灭来表示 C0 输出 1/0 二、实验目的 完成 1 位全加器的设计,用逻辑门实现,完成输入输出真值表验证 三、实验器材 1. 实验材料
A = 1 , B = 1 , ������1 = 1 , S = 1, ������0 = 1 ,红灯亮,绿灯亮
实验 3.2
一、实验原理图 由真值表得 S 和 C0 表达式: ������ = ������ ������ ������1 ∙ ������ ������ ������1 ∙ ������ ������ ������1 ∙ ������ ������ ������1 { ������0 = ������ ������ ������ ∙ ������ ������ ������ ∙ ������ ������ ������ ∙ ������ ������ ������
第三次实验报告
第三次实验要求学生完成如下任务: 1 位全加器设计,包括: 1) 完成 1 位全加器的设计,用逻辑门实现,完成输入输出真值表验证 2) 完成 1 位全加器的设计,用中规模逻辑器件(74138)实现,完成输入输出真值表 验证

数字逻辑电路课程设计bit模加法器VHDL实现含完整样本

电子科技大学UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA数字逻辑设计实验报告实验题目: 4bit模9加法器学生姓名:指引教师:一、实验内容设计一种4bit模9加法器。

输入为两个4bit二进制数, 输出为两数相加后模9成果。

其数学表达式为: y=(x1+x2)mod 9。

二、实验规定1.功能性规定:可以实现4bit无符号数模9加法运算, 即输入两个4比特数据时可以对的输出其相加并模9运算成果。

2.算法规定:模加法器有各种算法, 可采用任意算法进行设计。

3.设计性规定:采用全加器、半加器和基本门构造化描述。

可以编写Test Bench文献, 并运用Modelsim进行仿真。

在Modelsim仿真对的基本上, 可以生成bit文献并上板验证其对的性。

4.基本上板规定:在上板实验时, 输入两个4bit数采用拨码开关输入, 输出采用LED灯进行显示。

三、设计思路1.整体思路:为了实现4bit无符号数模9加法运算, 可以先将两个4bit加数a和b先分别模9, 相加之后再模9得到最后成果。

2.模9器:先找出读入5bit数与模9后4bit数之间关系, 画出卡诺图, 再依照卡诺图得出其相应逻辑表达式即可。

设读入5bit数为carry、a、b、c、d, 模9后得到4bit 数为w、x、y、z。

则化简后得到逻辑表达式分别为:w = carry’ab’c’d’,x= carry’bc + carry’a’b + carry’bd + carrya’b’c’d’,y = carry’a’c + carry’cd + carry’abc’d’+ carrya’b’c’d’,z= carry’a’d + carry’acd’ + carry’abd’ + carry a’b’c’d’。

3.全加器:全加器可以实现两个1bit数a、b和进位输入cin相加, 其真值表如下所示:这里全加器由半加器和或门构成, 其原理图如下:半加器:半加器是全加器基本构成单元, 可以实现两个1bit数a和b相加, 并将进位输出, 其真值表如下:半加器由一种异或门和一种与门构成, 其原理图如下所示:5.数码管显示:单个数码管一共有7个端(不含小数点), 用来表达构成一种数字7个某些, 故只要找到这7个段和模9后4bit数间相应关系, 将其画出卡诺图并化简成逻辑表达式即可。

数字电路课程设计之BCD加法器设计


注意 C4 并不需要等待 C3,实际上 C4,C3,C2,C1 同时传输 超前进位产生的电路逻辑图
2
3
4
1
5
6
2 3
1 4 5
2
3
1
4
1
3
P3
2
G3
2 3
1 4 5
2
3
1
4
1
3
P2
2
G2
2
3
4
1
C4
5
6
2
3
1
C3
4
5
2
3
1
4
1
3
P1
2
G1
2
3
1
C2
4
P0
G0 C0
带超前进位的四位加法器
B3 A3
B2 A2
guan
tian liang
参考文献: 1.数字设计与 Verilog 实现 M.Morris Mano 著 第五版
Half_Add H1(.a(A[0]),.b(B[0]),.s(v2),.c(v1));
Half_Add H2(.a(A[1]),.b(B[1]),.s(v4),.c(v3));
Half_Add H3(.a(A[2]),.b(B[2]),.s(v6),.c(v5));
Half_Add H4(.a(A[3]),.b(B[3]),.s(v8),.c(v7));
制数中的 0~9 这 10 个数码。是一种二进制的数字编码形式,用二进制编码的十进制代码。8421 BCD 码是
最基本和最常用的 BCD 码,它和四位自然二进制码相似,各位的权值为 8、4、2、1,故称为有权 BCD 码。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验10 加法计数器的设计
(基于VHDL的实现)
一、实验目的
1 、了解可编程数字系统设计的流程
2 、掌握Quartus II 软件的使用方法
3、掌握VHDL输入方式设计数字系统的方法和流程
4、熟练掌握加法计数器的设计方法
二、实验设备
1、计算机:Quartus II 软件
2、Altera DE0 多媒体开发平台
三、实验内容
1、加法计数器的设计:含有异步清0和同步时钟使能的10进制加法计数器使用VHDL输入方式完成设计,在Quartus II 上进行编辑、编译、综合、适配和仿真;
2、引脚锁定及硬件测试。

四、实验结果
原理概述:
当RST清零端为1时,计数器清零。

当RST=1时,计数器开始计数;
当遇到CLK为上升沿时,并且当使能端EN=1时,计数器累加1;
当使能端EN=0时,计数器不加;当清零端为1时,计数器再次清零。

如此持续,使得该加法计算器能够保持运行。

1、本次实验所用到的代码:
LIBRARY IEEE; --- IEEE库声明
USE IEEE.STD_LOGIC_1164.ALL; --- 程序包说明,STD_LOGIC在该程序包中定义
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CNT10 IS ---实体定义开始
PORT(CLK,EN,RESET:IN STD_LOGIC;
COUT:OUT STD_LOGIC;
CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); ---定义输入端口及数据类型
LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ---定义输出端口及数据类型);
END CNT10;
ARCHITECTURE BEHA V OF CNT10 IS
SIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
PROCESS(CLK,EN,RESET)
BEGIN
IF( RESET='0' )THEN QQ<="0000";
ELSIF (CLK'EVENT AND CLK='1')
THEN
IF CQI="1001" THEN CQI<="0000";
ELSE CQI<=CQI+'1';
END IF;
END IF;
END PROCESS ;
CQ<=CQI;
PROCESS( CQI )
BEGIN
IF CQI="1001"
THEN COUT<='1';
ELSE COUT<='0';
END IF;
END PROCESS ;
PROCESS (CQI)
BEGIN
CASE CQI IS CASE语句
WHEN "0000"=>LED7S<="1000000";
WHEN "0001"=>LED7S<="1111001";
WHEN "0010"=>LED7S<="0100100";
WHEN "0011"=>LED7S<="0110000";
WHEN "0100"=>LED7S<="0011001";
WHEN "0101"=>LED7S<="0010010";
WHEN "0110"=>LED7S<="0000010";
WHEN "0111"=>LED7S<="1111000";
WHEN "1000"=>LED7S<="0000000";
WHEN "1001"=>LED7S<="0010000";
WHEN "1010"=>LED7S<="0001000";
WHEN "1011"=>LED7S<="0000011";
WHEN "1100"=>LED7S<="1000110";
WHEN "1101"=>LED7S<="0100001";
WHEN "1110"=>LED7S<="0000110";
WHEN "1111"=>LED7S<="0001110";
WHEN OTHERS=>NULL; ---不执行任何操作
END CASE;
END PROCESS ; END BEHA V;
2、程序编译:
3、波形仿真结果:
5、引脚分配结果:
五、故障排除
在开始进行语言编译的时候,没有加LED7S来显示结果,只编辑了计数部分,所以导致怎么调试都不出结果,后来经过老师的指导,加上了上次实验的数码管显示的代码,然后又一次调试,结果得以显示。

还有另外一个问题是引脚分配的问题,开始不明白怎么分配引脚,经过询问同学得知如何分配。

六、心得体会
这是第二次VHDL语言的测试,也是数电最后一次实验,我觉得自己还是对VHDL语言没有一个详细透彻的了解,目前还只是停留在表面上,很多东西以及语法等的分析需要我们在课后自己去学习,去思考。

数电实验结课了,但是对于很多我们还不会的东西,我们应该继续去学习。

现在我们都缺少自主学习的能力,在数电一次次的实验课上,我的能力得到了锻炼,但是在很多的方面还是
有缺陷的,非常感谢数电老师这学期的讲课,感谢老师的指导。

相关文档
最新文档