加法器实验报告

实验三 加法器的设计与仿真

一、实验目的 熟悉quartus ⅱ仿真软件的基本操作,用逻辑图和vhdl 语言设计加法器并验证。

二、实验内容

1、熟悉quartus ⅱ软件的基本操作,了解各种设计输入方法(原理图设计、文本设计、 波形设计)

2、用逻辑图和vhdl 语言设计全加器并进行仿真验证; 3、用设计好的全加器组成串行

加法器并进行仿真验证; 4、用逻辑图设计4位先行进位全加器并进行仿真验证;

三、实验原理

1. 全加器

全加器英文名称为full-adder ,是用门电路实现两个二进制数相加并求出和的组合线路,

称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进

行级联可以得到多位全加器。

用途:实现一位全加操作 逻辑图 真值表 第 1 页 共 7 页 利用与或门设计的全加器,它只能做一位的加法,先预想好它的功能,写出真值表,就

可以根据这些来设计电路了。

2.四位串行加法器 逻辑图 利用全加器的组合实现4位串行加法器,全加器只能对一位进行操作,将每一位的结果

传给下一位,就可以实现4位的加法器。

3.74283:4位先行进位全加器(4-bit full adder) 利用74283芯片实现的4位先行进位全加器比前两者功能更完善,它可以实现进位功能,

这个自己设计难度比较大,可以参照74283的功能表加深对它的理解, 第 2 页 共 7 页 按照如下的逻辑图实现进位全加器。 逻辑框图 逻辑功能表 注:1、输入信号和输出信号采用两位对折列表,节省表格占用的空间,如:[a1/a3]对

应的列取值相同,结果和值[σ1/σ3]对应的运算是σ1=a1+b1和σ3=a3+b3。请自行验证一

下。

2、c2是低两位相加产生的半进位,c4是高两位相加后产生的进位输出,c0是低位级加

法器向本级加法器的进位输入。

四、实验方法与步骤

实验方法:

第 3 页 共 7 页 采用基于fpga 进行数字逻辑电路设计的方法。 采用的软件工具是quartusii 软件仿真平台,采用的硬件平台是altera

epf10k20ti144_4的fpga 试验箱。 实验步骤: ? 全加器

1、 编写源代码。打开quartus ⅱ软件平台,点击file 中得new 建立一个文件。编写的

文件

名与实体名一致,点击file/save as以“.vhd ”为扩展名存盘文件。vhdl 设计源代码

如下:

数据流描述:

2、按照实验箱上fpga 的芯片名更改编程芯片的设置。点击assign/device,选取芯片的

类型, 选择“altera 的epf10k20ti144_4”

4、波形仿真及验证。在编译成功后,点击waveform 开始设计波形。点击“insert the node ”,

按照程序所述插入节点,设置输入信号的波形,给予适当的信号激励,点击保存按钮保存。

然后进行功能仿真,选择菜单processing->generate functional netlist 命令产生功能

仿真网表,选择菜单assignments-->setting下拉列表中选择simulator input , 在右侧

的simulation mode 下拉列表中选择functional ,完成设置;选择菜单中的

processing->start simulation启动功能仿真,然后查看波形报告中的结果 第 4 页 共 7 页

(2)编程下载及硬件测试:将实验板连接都电脑上,选择tools-->programmer命令

进入下载窗口,单击start 进行下载当process 栏中出现100%则下载成功。 ? 4位串行加法

1、 新建一个工程,工程名与文件名相同,将全加器的vhd 文件复制到该工程下,在工

程中

打开,并产生bsf ,以将全加器作为一个子模块在该工程中调用。

2、 绘制逻辑图。打开quartus ⅱ软件平台,点击file 中得new 建立一个文件,按照原

理中

所述的逻辑图进行连接,点击file/save as以“.bdf ”为扩展名存盘文件。 3、 进行

全编译。

【注】:后面的步骤与全加器相同,这里不再赘述。 ? 4位先行进位全加器

1、 绘制逻辑图。打开quartus ⅱ软件平台,点击file 中得new 建立一个文件,按照原

中所述的逻辑图进行连接,点击file/save as以“.bdf ”为扩展名存盘文件。 2、 进

行全编译。

【注】:后面的步骤与全加器相同,这里不再赘述

五、实验结果与分析

? 全加器 1、 编译过程 a)编译过程、调试结果 首先是选择processing-->analyze current file命令进行语法检查 然后选择processing-->start-->start analysis&synthesis命令进行综合

分析

b)结果分析及结论:代码的书写、结构及逻辑都是正确的,编译成功。 2、 功能仿真 a)功能仿真过程及仿真结果 功能仿真过程:点击processing →generate functional simulation netlist 产生仿真

网表,点击assignments →settings →simulator settings,在simulation mode下拉选项

中选择functional, 点击ok 。点击processing →start simulation进行功能仿真。 第 5 页 共 7 页篇二:加法器 数电实验报告三 实验三 加法器

一、 实验目的

1、掌握用ssi 器件实现全加器的方法。

2、掌握用msi 组合逻辑器件实现全加器的方法。 3、掌握集成加法器的应用。

二、 实验设备及器件

1、数字逻辑电路实验板1块

2、74hc(ls)00(四二输入与非门) 1片 3、74hc(ls)86(四二输入异或门) 1片 4、74hc(ls)153(双四选一数据选择器) 1片 5、74hc(ls)283(4位二进制全加器) 1

三、 实验原理

组合逻辑电路是数字电路中最常见的逻辑电路之一。组合逻辑电路的特点,就是在任意

时刻电路的输出仅取决于该时刻的输入信号,而与信号作用前电路所处的状态无关。本实验

是根据给定的逻辑功能,设计出实现这些功能的组合逻辑电路。 不考虑低位进位,只本位相

加,称半加。实现半加的电路,为半加器。考虑低位进位的加法称为全加。实现全加的电路,

为全加器。实现三个输入变量(一位二进制数)全加运算功能的电路称为1位全加器。实现

多位二进制数相加有串行多位加法和并行多位加法两种形式,其中比较简单的一种电路是采

用多个1位全加器并行相加,逐位进位的方式。 实验用器件管脚介绍: 1、74hc(ls)00(四二输入与非门)管脚如下图所示。 2、74hc(ls)86(四二输入异或门)管脚如下图所示。 3、74hc(ls)153(双四选一数据选择器)管脚如下图所示 。 4、74hc(ls)283(4位二进制全加器)管脚如下图所示 。

四、 实验内容与步骤

1、用门电路实现全加器(基本命题) 参照表达式si=a i ? bi ?ci ci+1 = ( a i ?bi )ci+a i bi其中为本位和,si 为

低位向本位的进位, ci+1为本位向高位进位,设计用与非门74hc(ls)00及异或门74hc(ls)86

实现1位全加器的实验电路图,搭接电路,用led 显示其输出,并记录结果在下表: 1

2、依次由abc 输入信号,观察led 的工作情况并记录 注意:由于led 是低电平有效,当输出0是灯亮,输出1时灯灭.

2、用数选器实现全加器(基本命题) 是否与设计功能一致。

注意:由于led 是低电平有效,当输出0是灯亮,输出1时灯灭

3、用全加器实现代码转换电路(扩展命题) 设计用全加器74hc(ls)283实现8421码到余三码转换的实验电路图,搭接电路,用led

显示其输出,并记录结果在下表中。 b.依次由abc 输入信号,观察led 的工作情况并记录并与实验一中对比看逻辑功能 是

否与设计功能一致。

注意:由于led 是低电平有效,当输出0是灯亮,输出1时灯灭

五、实验总结

通过本次试验已经掌握门电路器件实现全加器的方法,并对集成加法器的应用有初步了

解,在实验过程中由于需要连接的线比较多,所以要格外小心。 在实验一中需要经过反演规

则将异或逻辑表达式反演为或非式。 实验二主要是用另一个方法实现全加器,注意数选器的

数据选择规律,输入的被选择项中最小项确定输出项 实验三注意到输入信号的顺序问题和输出信号接入led 的顺序,否则信号灯的显示会与

理论不符。这时候不能急,重新确认一下输入和输出的信号是否对应 tips:这次试验学会了很多,首先万用表很万能,要习惯用万用表检测线路 其次

做实验的正确方法是先画好电路图,按图接线,最后检测,所以元件问题根本不是问题,就

把他当个开关好了

最后做实验需要小心谨慎,思维敏捷。这个对万事都是准则。篇三:八位加法器的设计

实验报告 八位加法器的设计实验报告 学号: u200915272 班级: 信息安全 0901 姓名: 方 浏 洋

日期: 2011-5-2 目录

一、实验概

述 .............................................................................

.......................................... - 2 -

二、设计思

路 .............................................................................

.......................................... - 3 -

2.1 quartus ⅱ中74181的功能分

析 ....................................................................... - 3 -

2.2 8位先行加法器的设

计 .............................................................................

......... - 3 -

2.3 8位行波进位加法器的设

计 ..............................................................................

- 4 -

三、实验内

容 .............................................................................

.......................................... - 5 -

3.1 8位先行加法

器 .............................................................................

..................... - 5 -

3.2 8位行波加法

器 .............................................................................

..................... - 7 -

3.3 对先行进位和行波进位的时序分

析 ................................................................. - 9 -

四、心得体

会 .............................................................................

........................................ - 11 - - 1 -

一、实验概述

利用eda 软件分别设计一个先行进位和行波进位的8位加法器,分别对它们进行时序分

析,比较先行进位和行波进位在时间上的差异。 eda是电子设计自动化(electronic design automation)的缩写。在eda 平台上,设

计者可以用硬件描述语言完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、

综合、优化、布局、布线和仿真,直至对特定目标芯片的适配编译、逻辑映射和编程下载等

工作。利用eda 工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作

可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出ic 版图或pcb 版图

的整个过程的计算机上自动处理完成。 本次实验将利用目前在国内比较流行的eda 软件工具quartus ⅱ。quartus ⅱ是altera

公司提供的fpga/cpld开发集成环境,界面友好,使用便捷,是最易用、易学的eda 软件。

在quartus ⅱ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,

它提供了一种与结构无关的设计环境。借助它,设计者能方便地进行设计输入、快速处理和

器件编程。

实验中,我通过原理图输入的方法来设计输入,然后对其进行仿真,验证器件的正确性,

最后对其进行时序分析,比较两种进位加法器在时间上的差异。 - 2 -

二、设计思路

2.1 quartusⅱ中74181的功能分析 要求设计一个8位的加法器,为了方便,我采用了两个74181进行组合来实现8位加法

器的功能。在quartus ⅱ中,74181元件的输入输出引脚与书上的略有不同。 图1示出了quartus ⅱ的元件库中的74181方框图。 与书上的相比,它的a 、b 、f 、p 、g 和a=b都是工作于负 操作数,那么,要进行算术加法运算,则s3s2s1s0=hllh, m=l,cn=h。输入a3n 、a2n 、a1n 、a0n 、b3n 、b2n 、b1n 、 b0n得到gn 、pn 、f0n 、f1n 、f2n 、f3n 、cn4。类似于正 操作数的74181,fn=an+bn,cn4的非为进位,gn 为进位 产生函数,pn 为进位传递函数。 2.2 8位先行加法器的设计 先行进位即高位进位和低位进位同时产生的进位。由于74181内部就是采取的先行进位,

因此,只需考虑两片74181之间的进位关系。 将操作数分成低4位和高4位,利用一片74181提供的低4位的进位传输输出pn 和进位

发生输出gn 来产生另一片的进位。则进位关系为: c’=gn+c·pn

式中,c ’对应高4位74181的初始进位,c 对应低4位74181的初始进位,gn 和pn 对

应低4位74181的相应引脚。结构框图如下: - 3 - 图 2 8位先行进位加法器

2.3 8位行波进位加法器的设计 行波进位也就是串行进位,每一位的进位都是由相邻的低位送来。实验中,采取用8个

一位全加器来实现。结构如图3所示: 图 3 8位行波进位加法器 可是,在元件库中没有一位全加器。那就需要先设计一个一位全加器。根据fa 的本位和

及进位表达式:

si = ai?bi?ci-1

ci+1=aibi+(bi+ai)ci-1 做出一位全加器的逻辑电路图,通过quartus ⅱ来生成元件,方便调用。 最后,将

8个fa 串行连接起来就成了8位行波进位加法器。 - 4 - 篇四:四位加法器实验报告 四位加法器实验报告

1.实验目的:

掌握组合逻辑电路的基本分析与设计方法; 理解半加器和全加器的工作原理并掌握利用全加器构成不同字长加法器的各种方法; 学

习元件例化的方式进行硬件电路设计; 学会利用软件仿真实现对数字电路的逻辑功能进行验证和分析。

2.实验仪器:

数字逻辑实验箱

3.实验内容:

a. 设计实现逐次进位加法器,进行软件仿真并在实验平台上测试。 b. 设计实现超前进位加法器,进行软件仿真并在实验平台上测试。 c.使用vhdl 自带加法运算实现一个4位全加器。

4.实验代码:

a. 逐次进位加法器: library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fdfa is

port(

a,b:in std_logic_vector(3 downto 0); ci:in std_logic;

s:out std_logic_vector(3 downto 0); co:out std_logic);

end entity; architecture struct of fdfa is port(

a,b,ci:in std_logic; s,co:out std_logic);

signal c0,c1,c2:std_logic; begin

u0:fadder port map(a(0),b(0),ci,s(0),c0); u1:fadder port map(a(1),b(1),c0,s(1),c1); u2:fadder port map(a(2),b(2),c1,s(2),c2); u3:fadder port map(a(3),b(3),c2,s(3),co); end architecture struct; #定义串行加法器总体接口 #基于一位全加器 library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fadder is

port(

a,b,ci:in std_logic; s,co:out std_logic);

end entity; architecture func of fadder is begin

co<=(a and b) or (ci and ( a xor b));

s<=a xor b xor ci;

end architecture func; b. 超前进位加法器: library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity lac is

port(

a,b:in std_logic_vector(3 downto 0); ci:in std_logic;

co:out std_logic;

s:out std_logic_vector(3 downto 0) );

end entity;

#定义一位全加器 #定义超前进位加法器总体接口 architecture struct of lac is signal wirep, wireg:std_logic_vector(3 downto 0); signal wirec:std_logic_vector(2 downto 0); port( ); ai,bi:in std_logic; c:in std_logic; si:out std_logic; pi:out

std_logic; gi:out std_logic #基于一位全加器 port( ); ci:in std_logic; p:in std_logic_vector(3 downto 0); g:in

std_logic_vector(3 downto 0); c:out std_logic_vector(3 downto 0) #ker总理进

位传递信号p 与进位产生信号g ,以及进位信号c begin u0:fadder port

map(ai=>a(0),bi=>b(0),c=>ci,si=>s(0),pi=>wirep(0),gi=>wireg(0)

); u1:fadder port

map(ai=>a(1),bi=>b(1),c=>wirec(0),si=>s(1),pi=>wirep(1),gi=>wi

reg(1)); u2:fadder port

map(ai=>a(2),bi=>b(2),c=>wirec(1),si=>s(2),pi=>wirep(2),gi=>wi

reg(2)); u3:fadder port

map(ai=>a(3),bi=>b(3),c=>wirec(2),si=>s(3),pi=>wirep(3),gi=>wi

reg(3)); l:ker port

map(ci=>ci,p(0)=>wirep(0),p(1)=>wirep(1),p(2)=>wirep(2),p(3)=>wir

ep(3),g(0)=>wireg(0),g(1)=>wireg(1),g(2)=>wireg(2),g(3)=>wireg(3),c(

0)=>wirec(0),c(1)=>wirec(1),c(2)=>wirec(2),c(3)=>co); end architecture struct; library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fadder is port( ai,bi:in std_logic; c:in std_logic;

si:out std_logic;

gi:out std_logic

);

end entity; architecture func of fadder is begin

pi<=ai xor bi;

gi<=ai and bi;

si<=ai xor bi xor c;

end architecture func; library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity ker is port( ci:in std_logic;

p:in std_logic_vector(3 downto 0); g:in std_logic_vector(3 downto 0); c:out

std_logic_vector(3 downto 0) ); #定义一位全加器 #定义ker 篇五:加法器的基本原理

实验报告

一、实验目的

1、了解加法器的基本原理。掌握组合逻辑电路在quartus ⅱ中的图形输入方法及文本

输入方法。

2、学习和掌握半加器、全加器的工作和设计原理

3、熟悉eda 工具quartus ii和modelsim 的使用,能够熟练运用vrilog hdl语言在

quartus ii下进行工程开发、调试和仿真。

4、掌握半加器设计方法

5、掌握全加器的工作原理和使用方法

二、实验内容

1、建立一个project 。

2、图形输入设计:要求用vhdl 结构描述的方法设计一个半加器

3、进行编译,修改错误。

4、建立一个波形文件。(根据真值表)

5、对该vhdl 程序进行功能仿真和时序仿真simulation

三、实验步骤

1、启动quartus ⅱ

2、建立新工程 new project

3、设定项目保存路径\项目名称\顶层实体名称

4、建立新文件 blok diagram/schematic file

5、保存文件 file /save

6、原理图设计输入

元件符号放置 通过edit_>symbol 插入元件或点击图标 元件复制

元件移动

元件转动

元件删除

元件之间连线(直接连接,引线连接)

7、保存原理图

8 、编译: 顶层文件设置,project_>set as top_level 编译有两种:全编译包括分析与综合(analysis&synthesis)、适配(fitter)、编程

(assembler )时序分析(classical timing analysis)4个环节,而这4个环节各自对应

相应菜单命令,可单独发布执行也可以分步执行 9 、逻辑符号生成 file\creat/_update_>create symbol file forcurrent file 10 、仿真

建立仿真wenjian

添加需要的输入输出管脚 设置仿真时间

设置栅格的大小

设置输入信号的波形

保存文件,仿真

功能仿真:主要检查逻辑功能是否正确,功能仿真方法如下: 1tool/simulator tool,在simulator mode下选择 functional,在simulation input

栏中指定波形激励文件,单击gencrator functional simulator netist,生成功能仿真网表

文件。

四、实验现象

任务1 : 逻辑符号生成 任务2:采用基本逻辑门电路设计,异或设计半加器 任务3、全加器设计

逻辑符号: 原理图: 结果: 任务4、用半加器,设计全加器

五、实验体会

通过这次实验,初步熟悉了vhdl 语言的原理图设计输入。

实验三 加法器的设计与仿真

一、实验目的 熟悉quartus ⅱ仿真软件的基本操作,用逻辑图和vhdl 语言设计加法器并验证。

二、实验内容

1、熟悉quartus ⅱ软件的基本操作,了解各种设计输入方法(原理图设计、文本设计、 波形设计)

2、用逻辑图和vhdl 语言设计全加器并进行仿真验证; 3、用设计好的全加器组成串行

加法器并进行仿真验证; 4、用逻辑图设计4位先行进位全加器并进行仿真验证;

三、实验原理

1. 全加器

全加器英文名称为full-adder ,是用门电路实现两个二进制数相加并求出和的组合线路,

称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进

行级联可以得到多位全加器。

用途:实现一位全加操作 逻辑图 真值表 第 1 页 共 7 页 利用与或门设计的全加器,它只能做一位的加法,先预想好它的功能,写出真值表,就

可以根据这些来设计电路了。

2.四位串行加法器 逻辑图 利用全加器的组合实现4位串行加法器,全加器只能对一位进行操作,将每一位的结果

传给下一位,就可以实现4位的加法器。

3.74283:4位先行进位全加器(4-bit full adder) 利用74283芯片实现的4位先行进位全加器比前两者功能更完善,它可以实现进位功能,

这个自己设计难度比较大,可以参照74283的功能表加深对它的理解, 第 2 页 共 7 页 按照如下的逻辑图实现进位全加器。 逻辑框图 逻辑功能表 注:1、输入信号和输出信号采用两位对折列表,节省表格占用的空间,如:[a1/a3]对

应的列取值相同,结果和值[σ1/σ3]对应的运算是σ1=a1+b1和σ3=a3+b3。请自行验证一

下。

2、c2是低两位相加产生的半进位,c4是高两位相加后产生的进位输出,c0是低位级加

法器向本级加法器的进位输入。

四、实验方法与步骤

实验方法:

第 3 页 共 7 页 采用基于fpga 进行数字逻辑电路设计的方法。 采用的软件工具是quartusii 软件仿真平台,采用的硬件平台是altera

epf10k20ti144_4的fpga 试验箱。 实验步骤: ? 全加器

1、 编写源代码。打开quartus ⅱ软件平台,点击file 中得new 建立一个文件。编写的

文件

名与实体名一致,点击file/save as以“.vhd ”为扩展名存盘文件。vhdl 设计源代码

如下:

数据流描述:

2、按照实验箱上fpga 的芯片名更改编程芯片的设置。点击assign/device,选取芯片的

类型, 选择“altera 的epf10k20ti144_4”

4、波形仿真及验证。在编译成功后,点击waveform 开始设计波形。点击“insert the node ”,

按照程序所述插入节点,设置输入信号的波形,给予适当的信号激励,点击保存按钮保存。

然后进行功能仿真,选择菜单processing->generate functional netlist 命令产生功能

仿真网表,选择菜单assignments-->setting下拉列表中选择simulator input , 在右侧

的simulation mode 下拉列表中选择functional ,完成设置;选择菜单中的

processing->start simulation启动功能仿真,然后查看波形报告中的结果 第 4 页 共 7 页

(2)编程下载及硬件测试:将实验板连接都电脑上,选择tools-->programmer命令

进入下载窗口,单击start 进行下载当process 栏中出现100%则下载成功。 ? 4位串行加法

1、 新建一个工程,工程名与文件名相同,将全加器的vhd 文件复制到该工程下,在工

程中

打开,并产生bsf ,以将全加器作为一个子模块在该工程中调用。

2、 绘制逻辑图。打开quartus ⅱ软件平台,点击file 中得new 建立一个文件,按照原

理中

所述的逻辑图进行连接,点击file/save as以“.bdf ”为扩展名存盘文件。 3、 进行

全编译。

【注】:后面的步骤与全加器相同,这里不再赘述。 ? 4位先行进位全加器

1、 绘制逻辑图。打开quartus ⅱ软件平台,点击file 中得new 建立一个文件,按照原

中所述的逻辑图进行连接,点击file/save as以“.bdf ”为扩展名存盘文件。 2、 进

行全编译。

【注】:后面的步骤与全加器相同,这里不再赘述

五、实验结果与分析

? 全加器 1、 编译过程 a)编译过程、调试结果 首先是选择processing-->analyze current file命令进行语法检查 然后选择processing-->start-->start analysis&synthesis命令进行综合

分析

b)结果分析及结论:代码的书写、结构及逻辑都是正确的,编译成功。 2、 功能仿真 a)功能仿真过程及仿真结果 功能仿真过程:点击processing →generate functional simulation netlist 产生仿真

网表,点击assignments →settings →simulator settings,在simulation mode下拉选项

中选择functional, 点击ok 。点击processing →start simulation进行功能仿真。 第 5 页 共 7 页篇二:加法器 数电实验报告三 实验三 加法器

一、 实验目的

1、掌握用ssi 器件实现全加器的方法。

2、掌握用msi 组合逻辑器件实现全加器的方法。 3、掌握集成加法器的应用。

二、 实验设备及器件

1、数字逻辑电路实验板1块

2、74hc(ls)00(四二输入与非门) 1片 3、74hc(ls)86(四二输入异或门) 1片 4、74hc(ls)153(双四选一数据选择器) 1片 5、74hc(ls)283(4位二进制全加器) 1

三、 实验原理

组合逻辑电路是数字电路中最常见的逻辑电路之一。组合逻辑电路的特点,就是在任意

时刻电路的输出仅取决于该时刻的输入信号,而与信号作用前电路所处的状态无关。本实验

是根据给定的逻辑功能,设计出实现这些功能的组合逻辑电路。 不考虑低位进位,只本位相

加,称半加。实现半加的电路,为半加器。考虑低位进位的加法称为全加。实现全加的电路,

为全加器。实现三个输入变量(一位二进制数)全加运算功能的电路称为1位全加器。实现

多位二进制数相加有串行多位加法和并行多位加法两种形式,其中比较简单的一种电路是采

用多个1位全加器并行相加,逐位进位的方式。 实验用器件管脚介绍: 1、74hc(ls)00(四二输入与非门)管脚如下图所示。 2、74hc(ls)86(四二输入异或门)管脚如下图所示。 3、74hc(ls)153(双四选一数据选择器)管脚如下图所示 。 4、74hc(ls)283(4位二进制全加器)管脚如下图所示 。

四、 实验内容与步骤

1、用门电路实现全加器(基本命题) 参照表达式si=a i ? bi ?ci ci+1 = ( a i ?bi )ci+a i bi其中为本位和,si 为

低位向本位的进位, ci+1为本位向高位进位,设计用与非门74hc(ls)00及异或门74hc(ls)86

实现1位全加器的实验电路图,搭接电路,用led 显示其输出,并记录结果在下表: 1

2、依次由abc 输入信号,观察led 的工作情况并记录 注意:由于led 是低电平有效,当输出0是灯亮,输出1时灯灭.

2、用数选器实现全加器(基本命题) 是否与设计功能一致。

注意:由于led 是低电平有效,当输出0是灯亮,输出1时灯灭

3、用全加器实现代码转换电路(扩展命题) 设计用全加器74hc(ls)283实现8421码到余三码转换的实验电路图,搭接电路,用led

显示其输出,并记录结果在下表中。 b.依次由abc 输入信号,观察led 的工作情况并记录并与实验一中对比看逻辑功能 是

否与设计功能一致。

注意:由于led 是低电平有效,当输出0是灯亮,输出1时灯灭

五、实验总结

通过本次试验已经掌握门电路器件实现全加器的方法,并对集成加法器的应用有初步了

解,在实验过程中由于需要连接的线比较多,所以要格外小心。 在实验一中需要经过反演规

则将异或逻辑表达式反演为或非式。 实验二主要是用另一个方法实现全加器,注意数选器的

数据选择规律,输入的被选择项中最小项确定输出项 实验三注意到输入信号的顺序问题和输出信号接入led 的顺序,否则信号灯的显示会与

理论不符。这时候不能急,重新确认一下输入和输出的信号是否对应 tips:这次试验学会了很多,首先万用表很万能,要习惯用万用表检测线路 其次

做实验的正确方法是先画好电路图,按图接线,最后检测,所以元件问题根本不是问题,就

把他当个开关好了

最后做实验需要小心谨慎,思维敏捷。这个对万事都是准则。篇三:八位加法器的设计

实验报告 八位加法器的设计实验报告 学号: u200915272 班级: 信息安全 0901 姓名: 方 浏 洋

日期: 2011-5-2 目录

一、实验概

述 .............................................................................

.......................................... - 2 -

二、设计思

路 .............................................................................

.......................................... - 3 -

2.1 quartus ⅱ中74181的功能分

析 ....................................................................... - 3 -

2.2 8位先行加法器的设

计 .............................................................................

......... - 3 -

2.3 8位行波进位加法器的设

计 ..............................................................................

- 4 -

三、实验内

容 .............................................................................

.......................................... - 5 -

3.1 8位先行加法

器 .............................................................................

..................... - 5 -

3.2 8位行波加法

器 .............................................................................

..................... - 7 -

3.3 对先行进位和行波进位的时序分

析 ................................................................. - 9 -

四、心得体

会 .............................................................................

........................................ - 11 - - 1 -

一、实验概述

利用eda 软件分别设计一个先行进位和行波进位的8位加法器,分别对它们进行时序分

析,比较先行进位和行波进位在时间上的差异。 eda是电子设计自动化(electronic design automation)的缩写。在eda 平台上,设

计者可以用硬件描述语言完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、

综合、优化、布局、布线和仿真,直至对特定目标芯片的适配编译、逻辑映射和编程下载等

工作。利用eda 工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作

可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出ic 版图或pcb 版图

的整个过程的计算机上自动处理完成。 本次实验将利用目前在国内比较流行的eda 软件工具quartus ⅱ。quartus ⅱ是altera

公司提供的fpga/cpld开发集成环境,界面友好,使用便捷,是最易用、易学的eda 软件。

在quartus ⅱ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,

它提供了一种与结构无关的设计环境。借助它,设计者能方便地进行设计输入、快速处理和

器件编程。

实验中,我通过原理图输入的方法来设计输入,然后对其进行仿真,验证器件的正确性,

最后对其进行时序分析,比较两种进位加法器在时间上的差异。 - 2 -

二、设计思路

2.1 quartusⅱ中74181的功能分析 要求设计一个8位的加法器,为了方便,我采用了两个74181进行组合来实现8位加法

器的功能。在quartus ⅱ中,74181元件的输入输出引脚与书上的略有不同。 图1示出了quartus ⅱ的元件库中的74181方框图。 与书上的相比,它的a 、b 、f 、p 、g 和a=b都是工作于负 操作数,那么,要进行算术加法运算,则s3s2s1s0=hllh, m=l,cn=h。输入a3n 、a2n 、a1n 、a0n 、b3n 、b2n 、b1n 、 b0n得到gn 、pn 、f0n 、f1n 、f2n 、f3n 、cn4。类似于正 操作数的74181,fn=an+bn,cn4的非为进位,gn 为进位 产生函数,pn 为进位传递函数。 2.2 8位先行加法器的设计 先行进位即高位进位和低位进位同时产生的进位。由于74181内部就是采取的先行进位,

因此,只需考虑两片74181之间的进位关系。 将操作数分成低4位和高4位,利用一片74181提供的低4位的进位传输输出pn 和进位

发生输出gn 来产生另一片的进位。则进位关系为: c’=gn+c·pn

式中,c ’对应高4位74181的初始进位,c 对应低4位74181的初始进位,gn 和pn 对

应低4位74181的相应引脚。结构框图如下: - 3 - 图 2 8位先行进位加法器

2.3 8位行波进位加法器的设计 行波进位也就是串行进位,每一位的进位都是由相邻的低位送来。实验中,采取用8个

一位全加器来实现。结构如图3所示: 图 3 8位行波进位加法器 可是,在元件库中没有一位全加器。那就需要先设计一个一位全加器。根据fa 的本位和

及进位表达式:

si = ai?bi?ci-1

ci+1=aibi+(bi+ai)ci-1 做出一位全加器的逻辑电路图,通过quartus ⅱ来生成元件,方便调用。 最后,将

8个fa 串行连接起来就成了8位行波进位加法器。 - 4 - 篇四:四位加法器实验报告 四位加法器实验报告

1.实验目的:

掌握组合逻辑电路的基本分析与设计方法; 理解半加器和全加器的工作原理并掌握利用全加器构成不同字长加法器的各种方法; 学

习元件例化的方式进行硬件电路设计; 学会利用软件仿真实现对数字电路的逻辑功能进行验证和分析。

2.实验仪器:

数字逻辑实验箱

3.实验内容:

a. 设计实现逐次进位加法器,进行软件仿真并在实验平台上测试。 b. 设计实现超前进位加法器,进行软件仿真并在实验平台上测试。 c.使用vhdl 自带加法运算实现一个4位全加器。

4.实验代码:

a. 逐次进位加法器: library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fdfa is

port(

a,b:in std_logic_vector(3 downto 0); ci:in std_logic;

s:out std_logic_vector(3 downto 0); co:out std_logic);

end entity; architecture struct of fdfa is port(

a,b,ci:in std_logic; s,co:out std_logic);

signal c0,c1,c2:std_logic; begin

u0:fadder port map(a(0),b(0),ci,s(0),c0); u1:fadder port map(a(1),b(1),c0,s(1),c1); u2:fadder port map(a(2),b(2),c1,s(2),c2); u3:fadder port map(a(3),b(3),c2,s(3),co); end architecture struct; #定义串行加法器总体接口 #基于一位全加器 library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fadder is

port(

a,b,ci:in std_logic; s,co:out std_logic);

end entity; architecture func of fadder is begin

co<=(a and b) or (ci and ( a xor b));

s<=a xor b xor ci;

end architecture func; b. 超前进位加法器: library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity lac is

port(

a,b:in std_logic_vector(3 downto 0); ci:in std_logic;

co:out std_logic;

s:out std_logic_vector(3 downto 0) );

end entity;

#定义一位全加器 #定义超前进位加法器总体接口 architecture struct of lac is signal wirep, wireg:std_logic_vector(3 downto 0); signal wirec:std_logic_vector(2 downto 0); port( ); ai,bi:in std_logic; c:in std_logic; si:out std_logic; pi:out

std_logic; gi:out std_logic #基于一位全加器 port( ); ci:in std_logic; p:in std_logic_vector(3 downto 0); g:in

std_logic_vector(3 downto 0); c:out std_logic_vector(3 downto 0) #ker总理进

位传递信号p 与进位产生信号g ,以及进位信号c begin u0:fadder port

map(ai=>a(0),bi=>b(0),c=>ci,si=>s(0),pi=>wirep(0),gi=>wireg(0)

); u1:fadder port

map(ai=>a(1),bi=>b(1),c=>wirec(0),si=>s(1),pi=>wirep(1),gi=>wi

reg(1)); u2:fadder port

map(ai=>a(2),bi=>b(2),c=>wirec(1),si=>s(2),pi=>wirep(2),gi=>wi

reg(2)); u3:fadder port

map(ai=>a(3),bi=>b(3),c=>wirec(2),si=>s(3),pi=>wirep(3),gi=>wi

reg(3)); l:ker port

map(ci=>ci,p(0)=>wirep(0),p(1)=>wirep(1),p(2)=>wirep(2),p(3)=>wir

ep(3),g(0)=>wireg(0),g(1)=>wireg(1),g(2)=>wireg(2),g(3)=>wireg(3),c(

0)=>wirec(0),c(1)=>wirec(1),c(2)=>wirec(2),c(3)=>co); end architecture struct; library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fadder is port( ai,bi:in std_logic; c:in std_logic;

si:out std_logic;

gi:out std_logic

);

end entity; architecture func of fadder is begin

pi<=ai xor bi;

gi<=ai and bi;

si<=ai xor bi xor c;

end architecture func; library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity ker is port( ci:in std_logic;

p:in std_logic_vector(3 downto 0); g:in std_logic_vector(3 downto 0); c:out

std_logic_vector(3 downto 0) ); #定义一位全加器 #定义ker 篇五:加法器的基本原理

实验报告

一、实验目的

1、了解加法器的基本原理。掌握组合逻辑电路在quartus ⅱ中的图形输入方法及文本

输入方法。

2、学习和掌握半加器、全加器的工作和设计原理

3、熟悉eda 工具quartus ii和modelsim 的使用,能够熟练运用vrilog hdl语言在

quartus ii下进行工程开发、调试和仿真。

4、掌握半加器设计方法

5、掌握全加器的工作原理和使用方法

二、实验内容

1、建立一个project 。

2、图形输入设计:要求用vhdl 结构描述的方法设计一个半加器

3、进行编译,修改错误。

4、建立一个波形文件。(根据真值表)

5、对该vhdl 程序进行功能仿真和时序仿真simulation

三、实验步骤

1、启动quartus ⅱ

2、建立新工程 new project

3、设定项目保存路径\项目名称\顶层实体名称

4、建立新文件 blok diagram/schematic file

5、保存文件 file /save

6、原理图设计输入

元件符号放置 通过edit_>symbol 插入元件或点击图标 元件复制

元件移动

元件转动

元件删除

元件之间连线(直接连接,引线连接)

7、保存原理图

8 、编译: 顶层文件设置,project_>set as top_level 编译有两种:全编译包括分析与综合(analysis&synthesis)、适配(fitter)、编程

(assembler )时序分析(classical timing analysis)4个环节,而这4个环节各自对应

相应菜单命令,可单独发布执行也可以分步执行 9 、逻辑符号生成 file\creat/_update_>create symbol file forcurrent file 10 、仿真

建立仿真wenjian

添加需要的输入输出管脚 设置仿真时间

设置栅格的大小

设置输入信号的波形

保存文件,仿真

功能仿真:主要检查逻辑功能是否正确,功能仿真方法如下: 1tool/simulator tool,在simulator mode下选择 functional,在simulation input

栏中指定波形激励文件,单击gencrator functional simulator netist,生成功能仿真网表

文件。

四、实验现象

任务1 : 逻辑符号生成 任务2:采用基本逻辑门电路设计,异或设计半加器 任务3、全加器设计

逻辑符号: 原理图: 结果: 任务4、用半加器,设计全加器

五、实验体会

通过这次实验,初步熟悉了vhdl 语言的原理图设计输入。


相关文章

  • 实验一 四位串行进位加法器的设计实验报告
  • 实验一 四位串行进位加法器的设计 一.实验目的 1. 理解一位全加器的工作原理 2. 掌握串行进位加法器的逻辑原理 3. 进一步熟悉Quartus 软件的使用,了解设计的全过程, 二.实验内容 1. 采用VHDL 语言设计四位串行进位的加法 ...查看


  • 通信原理实验报告一
  • 实验一 信号源实验 一.实验目的 1.了解通信系统的一般模型及信源在整个通信系统中的作用. 2.掌握信号源模块的使用方法. 二.实验内容 1.对应液晶屏显示,观测DDS信源输出波形. 2.观测各路数字信源输出. 3.观测正弦点频信源输出. ...查看


  • 南理工DDS实验报告
  • 南京理工大学 电子线路课程设计 --直接数字频率合成器 学号:姓名:院系:指导老师: 电光学院姜萍 时间: 摘要 报告内容为设计一个具有清零.使能.频率控制.相位控制.输出多种波形(包括正余弦.锯齿波.方波).提高计算精度,经过D/A转换之 ...查看


  • 14年综合技能训练安排及要求
  • 综合技能训练实验(实习)计划书 一.实验(实习)目的.主要任务及要求 本实验环节主要目的在于培养电子科学与技术专业的学生掌握集成电路设计的综合技能.通过对集成电路设计工具的使用和完成相关集成电路的设计流程,从而达到培养学生专业综合技能训练的 ...查看


  • 计算机组成原理实验之微程序设计实验报告
  • 评语: 课中检查完成的题号及题数: 成绩: 指导教师: 课后完成的题号与题数: 实验报告 实验名称: CPU与简单模型机设计实验 学号: 2008300085 日期: 2010-12-26 姓名: 张浩 班级: JS000803 一.实验目 ...查看


  • 北邮通原硬件实验报告
  • 2013年通信原理硬件实验报告 学 院:信息与通信工程学院 班 级:2011211104 姓 名: 学 号: 班内序号: 组 号: 同 组 人: 1 目录 实验一:双边带抑制载波调幅(DSB-SC AM).................. ...查看


  • 电子设计实验报告
  • **********大学 电子技术基础课程设计报告 题 目: 院 专 姓 学 日 直流稳压电源和信号发生器设计实践 别: ******学院 业: ****专业 名: *** 号: ********** 期: 20**年**月 摘要 摘要:本 ...查看


  • 8位串行进位加法器
  • 实验报告 一. 实验目的 使对quartus II的使用进行初步的了解,对于一些芯片的组合应用更加掌握. 二. 实验内容 设计8位串行进位加法器 用半加器设计一个全加器元件,然后根据图4-38,在顶层设计中用8个1位全加器构成8位串行进位加 ...查看


  • 全加器实现的8位行波进位加法器
  • 实验报告 实验项目 全加器实现的8位行波进位加法器 成绩 一.实验目的: 1. 理解加法器的原理: 2. 掌握各种常见的加法器的设计方法. 二.实验原理: 本实验中,用8个全加器实现8位的串行波进位加法器.所用的全加器内部逻辑如全加器的两个 ...查看


热门内容