元件例化

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

元件例化语句

元件例化就是引入一种连接关系,将预先设计好的设计实体定义为一个元件,然后利用

特定的语句将此元件与当前的设计实体中的指定端口相连接,从而为当前设计实体引入一个

新的低一级的设计层次。在这里,当前设计实体相当于一个较大的电路系统,所定义的例化

元件相当于一个要插在这个电路系统板上的芯片,而当前设计实体中指定的端口则相当于这

块电路板上准备接受此芯片的一个插座。元件例化是使VHDL 设计实体构成自上而下层次化

设计的一种重要途径。

在一个结构体中调用子程序,包括并行过程的调用非常类似于元件例化,因为通过调用,

为当前系统增加了一个类似于元件的功能模块。但这种调用是在同一层次内进行的,并没有

因此而增加新的电路层次,这类似于在原电路系统增加了一个电容或一个电阻。元件例化是可以多层次的,在一个设计实体中被调用安插的元件本身也可以是一个低层

次的当前设计实体,因而可以调用其它的元件,以便构成更低层次的电路模块。因此,元件

例化就意味着在当前结构体内定义了一个新的设计层次,这个设计层次的总称叫元件,但它

可以以不同的形式出现。如上所说,这个元件可以是已设计好的一个VHDL 设计实体,可以

是来自FPGA 元件库中的元件,它们可能是以别的硬件描述语言,如Verylog 设计的实体。

元件还可以是软的IP 核,或者是FPGA 中的嵌入式硬IP 核。

元件例化语句由两部分组成,前一部分是对一个现成的设计实体定义为一个元件,第二

部分则是此元件与当前设计实体中的连接说明,它们的语句格式如下:

(1)元件定义语语句

COMPONENT 元件名

GENERIC (类属表);

PORT (端口名表);

END COMPONENT 文件名;

(2)元件例化语句

例化名:元件名 PORT MAP( [端口名 =>] 连接端口名,...) ;

以上两部分语句在元件例化中都是必须存在的。第一部分语句是元件定义语句,

相当于

对一个现成的设计实体进行封装,使其只留出对外的接口界面。就像一个集成芯片只留几个

引脚在外一样,它的类属表可列出端口的数据类型和参数,端口名表可列出对外通信的各端

口名。元件例化的第二部分语句即为元件例化语句,其中的例化名是必须存在的,它类似于

标在当前系统(电路板)中的一个插座名,而元件名则是准备在此插座上插入的、已定义好的

元件名。PORT MAP 是端口映射的意思,其中的端口名是在元件定义语句中的端口名表中已

定义好的元件端口的名字,连接端口名则是当前系统与准备接入的元件对应端口相连的通信

端口,相当于插座上各插针的引脚名。

元件例化语句中所定义的元件的端口名与当前系统的连接端口名的接口表达有两种方

式,一种是名字关联方式。在这种关联方式下,例化元件的端口名和关联(连接)符号“=>”

两者都是必须存在的。这时,端口名与连接端口名的对应形式在PORT MAP 句中的位置可以

是任意的。

另一种是位置关联方式。若使用这种方式,端口名和关联连接符号都可省去,在PORT MAP

子句中,只要列出当前系统中的连接端口名就行了,但要求连接端口名的排列方式与所需例

化的元件端口定义中的端口名一一对应。

例子:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY ND2 IS

PORT(A,B:IN STD_LOGIC;

C:OUT STD_LOGIC);

END ENTITY ND2;

ARCHITECTURE ARTND2 OF ND2 IS

BEGIN

C<=A NAND B;

END ARCHITECTURE ARTND2;

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY ORD41 IS

PORT(A1,B1,C1,D1:IN STD_LOGIC;

Z1:OUT STD_LOGIC);

END ENTITY ORD41;

ARCHITECTURE ARTORD41 OF ORD41 IS

COMPONENT ND2 IS

PORT(A,B:IN STD_LOGIC;

C:OUT STD_LOGIC);

END COMPONENT ND2;

SIGNAL S1,S2:STD_LOGIC;

BEGIN

U1:ND2 PORT MAP (A1,B1,

S1); --位置关联方式

U2:ND2 PORT MAP (A=>C1,C=>S2,B=>D1); --名字关联方式

U3:ND2 PORT MAP (S1,S2,

C=>Z1); --混合关联方式

END ARCHITECTURE ARTORD41;

相关文档
最新文档