- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)
您可能关注的文档
- 纺纱学复习.doc
- 2500识字卡(笔画顺序完美收藏版).doc
- 26100659_25150703_重庆理工大学2016年全日制硕士研究生招生简章.doc
- 纺纱学知识点.docx
- 27873经济法概论资料.doc
- 2.设施黄瓜栽培-2.ppt
- 纹理特征提取方法.pptx
- 纺织化学领域专利申请文件中的“修改超范围”问题.doc
- 色彩基础知识培训ppt课件.ppt
- 2.钢筋和混凝土材料的力学性能—第二讲.ppt
- 课题申报书:人机协同环境下面向智能制造系统的人因可靠性分析方法研究.docx
- 课题申报书:融合大模型推理与图智能计算的金融风险传染机制研究.docx
- 课题申报书:人口空间均衡目标导向下的区域人口增减分化评估与优化.docx
- 课题申报书:人工智能时代新锐传播人才培养路径研究.docx
- 课题申报书:人口流失地区的发展困境与转型路径研究.docx
- 课题申报书:认知—情绪联合tDCS训练对老年抑郁的干预效果及神经机制研究.docx
- 课题申报书:日俄战争以后日本商工会议所在中国东北经营活动的研究.docx
- 课题申报书:人机交互下的感恩情绪对亲社会行为的影响机制研究.docx
- 课题申报书:人工智能时代在线教育知识服务研究.docx
- 课题申报书:人工智能时代的数字艺术创作范式研究.docx
文档评论(0)