用一位全加器vhdl设计一个五位的加法器

404页面没有找到您的位置: >
什么是一位全加器,其原理是什么
 加器是能够计算低位进位的二进制加法电路
一位全加器由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一位全加器的真值表
一、&&&&&&&& 实验目的
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.
entity half_adder is
&&&&&& &&& port( a : in STD_LOGIC;
&&&&&&&&&&&&& && &b : in STD_LOGIC;
&&&&&&&&&&&&& & &&s : out STD_LOGIC;
&&&&&&&&&&&&& && co : out STD_LOGIC );
architecture half_adder of half_adder is
signal c,d:std_
&&&&&& c&=
&&&&&& d&=
&&&&&& co&=
&&&&&& s&=
3.&&&&& 验证half_adder.vhd的正确与否,进行仿真
一般先进行功能仿真,再进行时序仿真。为了仿真,首先编辑测试文件。本次实验由于系统简单,采用对输入信号进行输入波形编辑的方法得到激励文件
<font color=#.&&&&& 进行功能仿真
(1)设置仿真器进行功能仿真:
&#8226;&&&&&&&& Assignments—&setting,选择simulation setting,在simulation mode中选择functional
&#8226;&&&&&&&& 在对话框中的simulation input中选择half_adder.vwf,指定激励文件
&#8226;&&&&&&&& 由Processing—&generat functional simulation netlist得到功能仿真的网表文件
&#8226;&&&&&&&& 由Processing—&start simulation得到功能仿真波形
(2)设置仿真器进行时序仿真:
&#8226;&&&&&&&& 改变仿真器的设置,Assignments—&setting
&#8226;&&&&&&&& 选择仿真器设置,更改仿真模式,选择timing
&#8226;&&&&&&&& 由Processing—&start Compilation对设计进行编译
&#8226;&&&&&&&& 由Processing—&start simulation得到时序仿真波形
<font color=#.&&&&& 封装
<font color=#.&&&&& 编辑全加器的原理图
由file-&new,打开原理图文件,并存盘为full_adder.bdf
在原理图中调用半加器与或门模块,按照图1.1所示连接电路,完成后另保存full_adder。
<font color=#.&&&&& 对设计进行全编译,如出现错误请按照错误提示进行修改。
&#8226;&&&&& 由Processing-&Start Compilation对设计进行全编译。
&#8226;&&&& 编辑波形文件对全加器模块进行功能仿真和时序仿真。
<font color=#.&&&&& 锁定引脚,下载
实验采用模式5,锁定引脚对照表如下
&&&&&&&&&&&&&&&&&&&&&
<font color=#
<font color=#
<font color=#
<font color=#
<font color=#
<font color=#
<font color=#
执行ASSIGNMENT-PINS,设置完成后,执行下载。
下载:采用JATG方式进行下载,通过键1、键2与键3的输入,观察D1,D2的亮灭验证全加器的逻辑功能。(此时,电脑与下载线都要连接到实验箱上,且每次连线都必须先关掉电源)
四、&&&&&&&& 思考题
<font color=#.为什么在实验步骤3中,将半加器保存为half_adder,可否保存为full_adder?
答:不能保存为full_adder,因为VHDL语言中,要求程序名与实体名一致,否则会出现错误;而且这个程序是生成半加器模块的程序,统一命名对模块理解也容易得多。
<font color=#.对电路进行功能仿真与时序仿真时,发现二者有什么样的区别?
&& 答:功能仿真就是将综合后的VHDL网表文件再送到VHDL仿真器中所进行仿真。这时的仿真仅对VHDL描述的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程不涉及具体器件特性,如延时特性。时序仿真就是将布线器/适配器所产生的VHDL网表文件送到VHDL仿真器中所进行的仿真。该仿真已将器件特性考虑进去了,因此可以得到精确的时序仿真结果。
<font color=#.为什么要进行引脚锁定?
&& 答:进行引脚锁定,是为了对硬件进行检测,就是FPGA/CPLD直接应用与系统设计中,将下载文件下载到芯片后,对系统的设计进行的功能检测的过程。
<font color=#.采用层次结构法描述电路有什么样的优点?
& 答:可以大大降低设计成本,缩短设计周期;极大地简化设计文档的管理;提高大规模系统电子设计的自动化程度;设计者拥有完全的自主权,再无受制于人之虞;良好的可移植与可测试性,为系统开发提供可靠的保证;能将所有设计环节纳入统一的自顶向下的设计方案中;在系统板设计结束后仍可利用计算机对硬件系统进行完整的测试。&
非常好我支持^.^
不好我反对
相关阅读:
( 发表人:admin )
评价:好评中评差评
技术交流、我要发言
发表评论,获取积分! 请遵守相关规定!提 交
Copyright &
.All Rights Reserved数电一位加法器的设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数电一位加法器的设计
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 一位全加器 的文章

 

随机推荐