结构描述概念
对一个硬件结构进行描述,就是要描述该硬件由那些子元件组成及各个子元件之间的互连关系.
结构描述的特点
结构描述比行为描述更加具体化,行为描述的基本单元是进程语句,而结构描述的基本单元则是“调用元件语句”。
实体
实体主要描述元件、端口与信号。
元件是硬件的描述,即门、芯片或者电路板;
端口是元件与外界的连接点,数据通过端口进入或流出元件;
信号是作为硬件连线的一种抽象描述,它既能保持变化的数据,又可以连接各个子元件,信号可看作两个元件之间数据传输的通路,信号在端口处将元件连接起来。
结构描述的几个重要问题
实体说明中的端口
从外部看一个元件,看到的是它和外界的连接点,这些连接点是IC的引脚。
在VHDL中这些连接点被视作设计实体的端口,在关键字PORT后面加以说明,每个端口说明包括端口名、数据流向以及数据类型。
VHDL为设计者提供的端口流向有IN、OUT、INOUT和BUFFER,分别表示数据的流入,流出,双向和缓冲。
VHDL规定:只有端口的流向为IN、INOUT和BUFFER时,才能往端口写入数据;
只有端口的流向为OUT、INOUT和BUFFER时,才能从该端口读出数据。
结构体的元件说明
元件说明语句的一般形式如下:
COMPONENT < 元件名>
PORT(< 端口1> ...< ,端口n> :< 端口类型> ;
< 端口1> ...< ,端口n> :< 端口类型> ) ;
END COMPONENT;
COMPONENT”开头和以“END COMPONENT;”结尾,COMPONENT后是调用的元件名,后面是被调用元件的端口信息。元件调用语句作用是调用子元件,子元件是设计者事先设计好的存档模块。元件调用语句
元件调用语句的一般形式是:
< 标号标识符> :< 元件符号> PORT MAP(< 关联表> ) ;
标号标识符是对被调用元件重起的元件名。而元件符号就是被调用的元件模块名,即和元件说明语句中的语句说明的元件名相对应。
结构描述的设计实例
学习指导:
本知识点主要结合实例学习如何用VHDL语言对一个硬件结构进行描述.
例26:用VHDL结构描述设计一全减器,全减器可由两个半减器和一个或门组成。
设计全减器时需要调用半减器和或门,因此,应首先用VHDL的行为描述设计半减器和或门:
半减器: |
描述或门的VHDL程序如下: ENTITY orgate IS |
然后设计全减器,
以一些中间信号temp_T,temp_c1和temp_c2, 将两个半减器,一个或门的端口连接起来形成对全减器的结构描述。图10-5(b)所示虚线框有各元件之间的连线命名。下面是全减器的VHDL程序描述。
ENTITY fullsub IS
PORT(I1,I2,C_IN:IN BIT;
FT,C_OUT:OUT BIT);
END fullsub;
ARCHITECTURE fullsub_arc OF fullsub IS
SIGNAL temp_T,temp_c1,temp_c2:BIT;
COMPONENT halfsub
PORT(A,B:IN BIT; T,C:OUT BIT);
END COMPONENT;
COMPONENT orgate
PORT(A1,B1:IN BIT; O1:OUT BIT);
END COMPONENT;
BEGIN
U0:halfsub PORT MAP(I1,I2,temp_T,temp_c1);
U1:halfsub PORT MAP(temp_T,C_IN,FT,temp_c2);
U2:orgate PORT MAP(temp_c1,temp_c2,C_OUT);
END fullsub_arc;