网站大量收购闲置独家精品文档,联系QQ:2885784924

2006031459黄德荣5位逐级进位和超前进位加法器设计.doc

2006031459黄德荣5位逐级进位和超前进位加法器设计.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2006031459黄德荣5位逐级进位和超前进位加法器设计要点

深 圳 大 学 实 验 报 告 课程名称: VHDL数字电路设计教程 实验项目名称: 5位逐级进位和超前进位加法器设计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.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity adder is port(a,b:in std_logic_vector(4 downto 0); cin:in std_logic; s: out std_logic_vector(4 downto 0); cout:out std_logic); end adder; architecture Behavioral of adder is signal c:std_logic_vector(4 downto 0)

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档