资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,VHDL,硬件描述语言,全加器,四位串行加法器,电路的三种设计方法,结构化电路设计方法:,通过对电路结构的描述来建模,即通过,对器件的调用,(HDL,概念称为例化,),运用组件(,component,)语句实现。,数据流式电路设计方法:,通过对数据流在设计中的,具体行为,的描述来建模。,行为式电路设计方法:,是指采用对信号行为级的描述来建模。抽象程度比数据流描述形式和结构描述形式高得多,常采用算术运算、关系运算等语句实现。该方法常用于系统数学模型的仿真或是系统工作原理的仿真。,一般,VHDL,程序的结构,库、程序包,实体(,ENTITY,),结构体,(,ARCHITECTURE,),配置,(,CONFIGURATION,),设计实体,库声明:实现库的调用,具体调用的是程序包中的内容,实体:描述电路的外部特性,即电路的,输入,与,输出,;,结构:描述电路内部实现的,功能,;,VHDL,允许一个实体对应多种结构。,全加器(逻辑图),全加器(数据流式),-quanjia,library ieee,;,use ieee.std_logic_1164.all,;,entity,f_adder,is,port,(x,y,cin:,in,std_logic;,s,cout:,out,std_logic);,end,entity f_adder;,architecture,bhv,of,f_adder,is,begin,g0:s=x,xor,y,xor,cin;,g1:cout=(x,and,y),or,(x,and,cin),or,(y,and,cin);,end,architecture bhv;,四位串行加法器(逻辑图),四位串行加法器(结构体式),-adder4,library ieee;,use ieee.std_logic_1164.all;,entity,adder4,is,port,(x,y:,in,std_logic_vector(3 downto 0);,c0:,in,std_logic;,s:,out,std_logic_vector(3 downto 0);,c4:,out,std_logic);,end,entity adder4;,architecture,structural,of,adder4,is,component,f_adder,port,(x,y,cin:,in,std_logic;,s,cout:,out,std_logic);,end,component f_adder;,signal,c:std_logic_vector(0 to 4);,begin,g0:,f_adder,port map,(x(0),y(0),c(0),s(0),c(1);,g1:,f_adder,port map,(x(1),y(1),c(1),s(1),c(2);,g2:,f_adder,port map,(x(2),y(2),c(2),s(2),c(3);,g3:,f_adder,port map,(x(3),y(3),c(3),s(3),c(4);,c(0)=c0;,c4=c(4);,end,structural;,四位全加器(行为描述式),library ieee;,use ieee.std_logic_1164.all;,use ieee.std_logic_unsigned.all;,entity bit_f_adder is,port(cin:in std_logic;,a,b:in std_logic_vector(3 downto 0);,s:out std_logic_vector(3 downto 0);,cout:out std_logic);,end bit_f_adder;,architecture bhv of bit_f_adder is,signal x,y,z:std_logic_vector(4 downto 0);,begin,x=0,y=0,z=x+y+cin;,s(3 downto 0)=z(3 downto 0);,cout=z(4);,end bhv;,谢谢观赏,并行加法器(逻辑图),library ieee;,use ieee.std_logic_1164.all;,use ieee.std_logic_unsigned.all;,entity bit_f_adder is,port(cin:in std_logic;,a,b:in std_logic_vector(3 downto 0);,s:out std_logic_vector(3 downto 0);,cout:out std_logic);,end bit_f_adder;,architecture bhv of bit_f_adder is,signal x,y,z:std_logic_vector(4 downto 0);,begin,x=0,y=0,z=x+y+cin;,s(3 downto 0)=z(3 downto 0);,cout=z(4);,end bhv;,并行加法器(行为描述),
展开阅读全文