硬件描述语言及器件5(侯伯亨版).ppt

上传人:牧羊曲112 文档编号:6595140 上传时间:2023-11-16 格式:PPT 页数:29 大小:209.16KB
返回 下载 相关 举报
硬件描述语言及器件5(侯伯亨版).ppt_第1页
第1页 / 共29页
硬件描述语言及器件5(侯伯亨版).ppt_第2页
第2页 / 共29页
硬件描述语言及器件5(侯伯亨版).ppt_第3页
第3页 / 共29页
硬件描述语言及器件5(侯伯亨版).ppt_第4页
第4页 / 共29页
硬件描述语言及器件5(侯伯亨版).ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《硬件描述语言及器件5(侯伯亨版).ppt》由会员分享,可在线阅读,更多相关《硬件描述语言及器件5(侯伯亨版).ppt(29页珍藏版)》请在三一办公上搜索。

1、适合班级:07060441 07060442 教学东区11210H,第五课VHDL语言构造体的描述方式,行为描述方式(behaveioral)寄存器传输(RTL)描述方式(dataflow)结构描述方式(structural),三种描述方式,所谓构造体的行为描述(Behavioral Descriptions),就是对整个系统的数学模型的描述。行为描述在EDA工程中称为高层次描述或高级描述。在行为描述方式的程序中大量采用算术运算、关系运算、惯性延时、传输延时等难于进行逻辑综合和不能进行逻辑综合的VHDL语句。采用行为描述方式的VHDL语言程序,在一般情况下只能用于行为层次的仿真,而不能进行逻辑

2、综合。,行为描述方式,代入语句延时语句多驱动器描述语句GENERIC语句,在VHDL语言中一些专门用于 描述系统行为的语句:,代入语句是VHDL语言中进行行为描述的最基本的语句。代入语句最普遍的格式为:信号量=敏感信号量表达式;,代入语句,例如:(1)a=b;该语句的功能是a得到b的值,b为敏感量,b值发生变化时,该语句执行;(2)z=a NOR(b NAND c);3个敏感量a,b,c,无论哪一个的值发生变化时,该代入语句被执行;(3)a=b AFTER 5ns;当b发生变化5ns以后才代入到信号a。,例4-1LIBRARY IEEE;-库USE IEEE.STD_LOGIC_1164.AL

3、L;-程序包ENTITY and2 IS-实体 PORT(a,b:IN STD_LOGIC;y:OUT STD_LOGIC);END and2;ARCHITECTURE and2_behaviour OF and2 IS-构造体BEGIN y=a AND b AFTER 5 ns;END and2_behaviour;,在VHDL语言中,存在两种延时类型:惯性延时和传输延时。这两种延时常用于VHDL语言的行为描述方式。,延时语句,在惯性模型中,系统或器件输出信号要发生变化必须有一段时间的延时,这段延时时间常被称为系统或器件的惯性或称惯性延时。在VHDL语言中,语句中如果不作特别说明,产生的延时

4、一定是惯性延时。特点:当一个系统或器件的输入信号变化周期小于它的惯性延时时,其输出保持不变。几乎所有器件都存在惯性延时,因此,硬件电路的设计人员为了逼真地仿真硬件电路的实际工作情况,在代入语句中总要加上惯性延时时间的说明。例如:a=b AFTER 5ns;惯性延时说明只在行为仿真时有意义,逻辑综合时将被忽略,或者在逻辑综合前必须去掉延时说明。,惯性延时,传输延时常用于描述总线延时、连接线的延时及ASIC芯片中的路径延时。传输延时不是缺省的,必须在语句中明确说明。举例:,传输延时,在VHDL语言中,创建一个驱动器可以由一条信号代入语句来实现。当有多个信号并行输出时,在构造体内部必须利用代入语句,

5、对每个信号创建一个驱动器。多个驱动器的输出连接到同一条信号线时,由判决函数决定输出哪一个值。多驱动器的构造体应按如下方式描述:ARCHITECTURE sample OF sample IS BEGIN a=b AFTER 5ns;a=d AFTER 5ns;-争议?多个赋值源 END sample;,多驱动器描述语句,寄存器传输描述方式,对于用行为描述方式的VHDL语言程序只有改写为寄存器传输描述方式才能进行逻辑综合。寄存器传输描述方式也称为数据流描述方式。在RTL描述方式中有两种不同的方法:(1)寄存器之间的功能描述方式;(2)寄存器硬件一一对应的直接描述方式。下面举一个二选一电路的例子,

6、用两种不同的方法来描述该电路。,功能描述的RTL描述方式,entity mux2 isport(input:in std_logic _vector(1 downto 0);sel:in std_logic;y:out std_logic);end mux2;architecture mux2_dataflow of mux2 isbegin y=input(0)when sel=1 else input(1);end mux2_dataflow;此方法只需知道外部特性和功能就可以进行正确的描述。,硬件一一对应的RTL描述方式,entity mux2 isport(in0,in1,sel:in

7、 std_logic;y:out std_logic);end mux2;architecture mux2_dataflow of mux2 isSignal tmp1,tmp2,tmp3:std_logic;begin tmp1=in0 AND sel;tmp2=in1 AND(NOT sel);tmp3=tmp1 OR tmp2;y=tmp3;end mux2_dataflow;此方法需要了解电路内部采用了哪些门电路等细节,才能用VHDL语言进行正确的描述。所以一般采用功能描述的RTL描述方式。,使用RTL描述方式应注意的几个问题:(1)“X”状态的传递 所谓“X”状态的传递实质上是不确

8、定信号状态的传递,它将使逻辑电路产生不确定的结果,不确定“状态”在RTL仿真时是允许出现的,但是在逻辑综合后的门级电路仿真中是不允许出现。p58 例4-9和例4-10,PROCESS(sel)BEGIN IF(sel=1)THENy=1;ELSEy=0;END IF;END PROCESS;,PROCESS(sel)BEGIN IF(sel=0)THENy=1;ELSEy=0;END IF;END PROCESS;,当sel=X时,输出的y值将变为0,这是不合理的。,PROCESS(sel)BEGIN IF(sel=1)THENy=1;ELSIF(sel=0)THENy=0;ELSEy=X;E

9、ND IF;END PROCESS;,将程序进行修改,使RTL仿真结果和逻辑综合的仿真结果一致,PROCESS(sel)BEGIN IF(sel=0)THENy=1;ELSIF(sel=1)THENy=0;ELSEy=X;END IF;END PROCESS;,(2)寄存器RTL描述的限制:禁止在一个进程中存在两个寄存器描述;禁止使用IF语句中的ELSE项;在一个进程中,不能同时对时钟上升沿和下降沿敏感,在判断时钟上升沿或下降沿的IF语句中不能出现ELSE项。寄存器RTL描述中必须代入信号值。p59 例4-11、例4-12和例4-13,(3)关联性强的信号应放在一个进程中 在许多较复杂的电路中

10、,它有多个输入和输出,有些信号互相的关联度很高,而有些信号相互的关联度很低,在这种情况下,为了在逻辑综合后,使电路的面积和速度指标更高,通常将关联度高的信号放在一个进程中,将电路分成几个进程来描述。p60-61,例4-14和例4-15,所谓结构描述方式,就是在多层次的设计中,高层次的设计模块调用低层次的设计模块,或者直接用门电路设计单元来构成一个复杂的逻辑电路的描述方式。它比行为描述更具体,特别是在描述与硬件的对应关系上,结构描述要比行为描述更为明显、直观。结构描述的优点是可以利用层级方式,将大型硬件电路分解为小电路或模块来设计、仿真和验证。,结构描述方式,例如:2-4译码器,其中图(a)是逻

11、辑符号,图(b)是逻辑图。,结构描述的基本柜架,(a)2-4译码器逻辑符号,(b)2-4译码器逻辑图,思路:(1)先选择元器件,然后使用元器件搭建逻辑。(2)元器件:非门(反相器)2个、三输入与门4个(3)首先分别使用VHDL语言建立两个工程,分别实现反相器和三输入与门的逻辑,作为备用元件。(4)其次建立译码器工程,采用component语句声明上述两个备用元件,在结构体中采用port map 语句完成上图中各元件的连接。(5)诀窍:把连线编号,按编号定义使用的信号。注意:(1)凡从外部引入或输出的信号,定义到entity中;(2)元件之间的连接信号,需要定义到结构体中。(3)所有连在一起的连

12、线,只能定义一次。,entity v2to4dec isport(i0,i1,en:in std_logic;y0,y1,y2,y3:out std_logic);end v2to4dec;architecture v2to4dec_structure of v2to4dec iscomponent inv port(i:in std_logic;o:out std_logic);end component;component and3x port(i0,i1,i2:in std_logic;o:out std_logic);end component;signal i0_not,i1_not

13、:std_logic;,beginu1:inv port map(i0,i0_not);u2:inv port map(i1,i1_not);u3:and3x port map(i0_not,i1_not,en,y0);u4:and3x port map(i0,i1_not,en,y1);u5:and3x port map(i0_not,i1,en,y2);u6:and3x port map(i0,i1,en,y3);end v2to4dec_structure;,精读P62-P65 例4-16-例4-19,结构描述方式能较方便的进行多层次的结构设计。,异或门的三种描述风格,表达式:y=a(!

14、b)+(!a)b,异或门寄存器(dataflow)描述风格,architecture yihuo3_dataflow of yihuo3 isbeginy=a xor b;end yihuo3_dataflow;,异或门的行为(behavior)描述风格,architecture yihuo1_behavior of yihuo1 isbeginprocess(a,b)beginif a=b theny=0;elsey=1;end if;end process;end yihuo1_behavior;,异或门结构(structure)描述风格,Architecture a of yihuo2

15、iscomponent not2port(a:in std_logic;c:out std_logic);end component;component and2port(a,b:in std_logic;c:out std_logic);end component;component or2 port(a,b:in std_logic;c:out std_logic);end component;,signal tmp00,tmp01,tmp1,tmp2:std_logic;beginu0:not2 port map(a1,tmp00);u1:not2 port map(b1,tmp01);u2:and2 port map(a1,tmp01,tmp1);u3:and2 port map(tmp00,b1,tmp2);u4:or2 port map(tmp1,tmp2,y1);end a;,三种描述方式的比较,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号