什么是一位全加器,其原理是什么?

什么是一位全加器,其原理是什么
 加器是能够计算低位进位的二进制加法电路
一位全加器由2个半加器组成,其电路原理如图4-2所示
一位全加器(fa)的逻辑表达式为:
s=a⊕b⊕cin
co=ab+bcin+acin
其中a,b为要相加的数,cin为进位输入;s为和,co是进位输出;
如果要实现多位加法可以进行级联,就是串起来使用;比如32位+32位,就需要32个全加器;这种级联就是串行结构速度慢,如果要并行快速相加可以用超前进位加法,
超前进位加法前查阅相关资料;
如果将全加器的输入置换成a和b的组合函数xi和y(s0…s3控制),然后再将x,y和进位数通过全加器进行全加,就是alu的逻辑结构结构。
即 x=f(a,b)
y=f(a,b)
不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。
表2-1一位全加器的真值表
add1 0 0 1 1 0 0 1 1
add2
0 1 0 1 0 1 0 1 carry_out
0 0 0 0 1 1 1 1
sum< 0 1 1 0 1 0 0 1
一、 实验目的
1. 熟悉quartusii软件的使用;
2. 熟悉实验箱的使用;
3. 掌握利用层次结构描述法设计电路。
二、 实验原理及说明
由数字电路知识可知,一位全加器可由两个一位半加器与一个或门构成,其原理图如图1所示。该设计利用层次结构描述法,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验箱,其中a,b,cin信号可采用实验箱上键1、键2和键3进行输入,s,co信号采用d1与d2发光二极管来显示。
图1.1 全加器原理图
三、 实验步骤
1. 建立full_adder的工程(project)
在quartusii软件下创建一工程,工程名为full_adder,芯片名为ep 1c3t144,选择fpga目标器件,根据de2的平台情况,选择cyclone ii系列的ep2c35f672c6,注意工程路径不要放到安装路径;
2. 设计half_adder的vhdl模块
新建vhdl语言文件,输入如下半加器vhdl语言源程序,并存盘为half_adder.vhd;
library ieee;
use ieee.std_logic_1164.all;
entity half_adder is
port( a : in std_logic;
b : in std_logic;
s : out std_logic;
co : out std_logic );
end half_adder;
architecture half_adder of half_adder is
signal c,d:std_logic;
begin
c<=a or b;
d<=a nand b;
co<=not d;
ssetting,选择simulation setting,在simulation mode中选择functional
• 在对话框中的simulation input中选择half_adder.vwf,指定激励文件
• 由processing—>generat functional simulation netlist得到功能仿真的网表文件
• 由processing—>start simulation得到功能仿真波形
(2)设置仿真器进行时序仿真:
• 改变仿真器的设置,assignments—>setting
• 选择仿真器设置,更改仿真模式,选择timing
• 由processing—>start compilation对设计进行编译
• 由processing—>start simulation得到时序仿真波形
5. 封装
6. 编辑全加器的原理图
由file->new,打开原理图文件,并存盘为full_adder.bdf
在原理图中调用半加器与或门模块,按照图1.1所示连接电路,完成后另保存full_adder。
7. 对设计进行全编译,如出现错误请按照错误提示进行修改。
• 由processing->start compilation对设计进行全编译。
• 编辑波形文件对全加器模块进行功能仿真和时序仿真。
8. 锁定引脚,下载
实验采用模式5,锁定引脚对照表如下
信号
键1
键2
键3
d1
d2
引脚号
1
2
3
11
32
执行assignment-pins,设置完成后,执行下载。
下载:采用jatg方式进行下载,通过键1、键2与键3的输入,观察d1,d2的亮灭验证全加器的逻辑功能。(此时,电脑与下载线都要连接到实验箱上,且每次连线都必须先关掉电源)
四、 思考题
1.为什么在实验步骤3中,将半加器保存为half_adder,可否保存为full_adder?
答:不能保存为full_adder,因为vhdl语言中,要求程序名与实体名一致,否则会出现错误;而且这个程序是生成半加器模块的程序,统一命名对模块理解也容易得多。
2.对电路进行功能仿真与时序仿真时,发现二者有什么样的区别?
答:功能仿真就是将综合后的vhdl网表文件再送到vhdl仿真器中所进行仿真。这时的仿真仅对vhdl描述的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程不涉及具体器件特性,如延时特性。时序仿真就是将布线器/适配器所产生的vhdl网表文件送到vhdl仿真器中所进行的仿真。该仿真已将器件特性考虑进去了,因此可以得到精确的时序仿真结果。
3.为什么要进行引脚锁定?
答:进行引脚锁定,是为了对硬件进行检测,就是fpga/cpld直接应用与系统设计中,将下载文件下载到芯片后,对系统的设计进行的功能检测的过程。
4.采用层次结构法描述电路有什么样的优点?
答:可以大大降低设计成本,缩短设计周期;极大地简化设计文档的管理;提高大规模系统电子设计的自动化程度;设计者拥有完全的自主权,再无受制于人之虞;良好的可移植与可测试性,为系统开发提供可靠的保证;能将所有设计环节纳入统一的自顶向下的设计方案中;在系统板设计结束后仍可利用计算机对硬件系统进行完整的测试。

最后一个TDM程控退网 ROADM网络正式使用,开启全光高速新时代
音圈马达iphone13发布后,苹果其它机型的行情
点成分享| 核酸电泳技术的分类和应用
硬盘播放器与通常的影碟机的区别
Q2季度我国移动通信资费在全球处偏低水平,流量平均资费为4.3元/GB
什么是一位全加器,其原理是什么?
基于STM32单片机的智能电子秤设计
业界专家认为互联网的下半场是“物联网”
视频大数据会如何为安防指明方向
从三款产品谈对荣耀的印象
VR技术将带给电影行业不一样的观影体验
CGHV14250 L波段放大器CREE
嵌入式计算机与普通计算机的区别
MAXHUB上央视了!会议平板与智能时尚轻办公更配
华为MatePad Pro获得了年度最佳智慧办公产品的称号
常见排序算法分类
恩智浦推出世界首款无偏置电压I2C总线缓冲器
美国高科技公司排名_你所知道的有没有在里面
量子通信是什么意思_量子通信概念
单片机入门之数字电路学习