- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2006031459黄德荣5位逐级进位和超前进位加法器设计讲述
深 圳 大 学 实 验 报 告
课程名称: VHDL数字电路设计教程
实验项目名称: 5位逐级进位和超前进位加法器设计
学院: 信息工程学院
专业: 电子信息工程
指导教师: 梁松海
报告人:黄德荣 学号:20006031459 班级: 1班
实验时间: 2008.10.22
实验报告提交时间: 2008.11.5
教务处制
实验目的与要求:
用XILINX ISE 7.1i实现逐级进位和超前进位加法器方法、步骤:
1,逐级进位加法器
对每一位都使用了全加器FAU,图中a和b是输入位,cin是进位输入位。S是求和的结果,cout是进位输出位。C是进位矢量。图中每个全加器的输出结果都依赖于前一级产生的进位。由全加器的特性,可以写出如下的逻辑表达式:
S=a XOR b XOR cin
cout=(a ANDb)OR(aAND cin)OR(b AND cin)
2,超前进位加法器
电路实现是需要两个非常重要的中间信号:generate和propagate,分别由g和p表示。加法器两个输入位是a和b,则generate和propagate信号定义如下:
g=a AND b
p=a XOR b
这两个信号与进位无关,只根据当前的输入计算。
现在两个输入矢量是:a=a(4)a(3)a(2)a(1)a(0)和b=b(4)b(3)b(2)b(1)b(0),那么相应的generate矢量为g=g(4)g(3)g(2)g(1)g(0),相应的propagate矢量为p=p(4)p(3)p(2)p(1)p(0)。
其中:
g(j)=a (j) AND b(j)
p(j)=a (j)XOR b(j)
同时,进位矢量用c=c(4)c(3)c(2)c(1)c(0)。进位可由g和p按照下面的方法计算得到:
c(0) = cin;
c(1) = c(0)p(0))+g(0);
c(2) = c(0)p(0)p(1))+g(0)p(1)+g(1);
c(3) = c(0)p(0)p(1) p(2)+g(0)p(1)p(2)+(g(1) p(2)+g(2);
c(4) = c(0)p(0) p(1) p(2) p(3)+g(0) p(1) p(2) p(3)+g(1) p(2) p(3)+g(2) p(3)+g(3);
c(5) =c(0)p(0) p(1) p(2) p(3) p(4)+g(0) p(1) p(2)p(3) p(4)+g(1) p(2) p(3) p(4)+g(2) p(3) p(4)+g(4);
可见超前进位加法器的每个全加器不依赖与前一级进位输出的计算结果,有利于提高电路执行速度。实验过程及内容:
逐级进位加法器
VHDL代码
--------------------------------------------------------------------------------
-- Company:
-- Engineer:
--
-- Create Date: 02:59:18 10/22/08
-- Design Name:
-- Module Name: adder - Behavioral
-- Project Name:
-- Target Device:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
--------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164
文档评论(0)