第3章24编程基础 2.类属( GENERIO说明语句 类属( GENERIO)参量是一种端口界面常数,常以一种说明的 形式放在实体或块结构体前的说明部分。类属为所说明的环境 提供了一种静态信息通道,类属的值可以由设计实体外部提供 因此,设计者可以从外面通过类属参量的重新设定而容易地改 变一个设计实体或一个元件的内部电路结构和规模
第3章 VHDL编程基础 2.类属(GENERIC)说明语句 类属(GENERIC)参量是一种端口界面常数,常以一种说明的 形式放在实体或块结构体前的说明部分。类属为所说明的环境 提供了一种静态信息通道,类属的值可以由设计实体外部提供。 因此,设计者可以从外面通过类属参量的重新设定而容易地改 变一个设计实体或一个元件的内部电路结构和规模
/第3章仍24编程基础 类属说明的一般书写格式如下: GENERIO([常数名;数据类型[:设定值 ;常数名:数据类型[:设定值]}); 类属参量以关键词 GENERIO引导一个类属参量表,在表中 提供时间参数或总线宽度等静态信息、。类属表说明用于确定设 计实体和其外部环境通信的参数,传递静态的信息。类属说明 在所定义的环境中的地位十分接近常数,但却能从环境(如设计 实体)外部动态地接受赋值,其行为又有点类似于端口PORT。因 此,常如以上的实体定义语句那样,将类属说明放在其中,且 放在端口说明语句的前面
第3章 VHDL编程基础 类属说明的一般书写格式如下: GENERIC([常数名;数据类型[:设定值] {;常数名:数据类型[:设定值 ]}); 类属参量以关键词GENERIC引导一个类属参量表,在表中 提供时间参数或总线宽度等静态信息。类属表说明用于确定设 计实体和其外部环境通信的参数,传递静态的信息。类属说明 在所定义的环境中的地位十分接近常数,但却能从环境(如设计 实体)外部动态地接受赋值,其行为又有点类似于端口PORT。因 此,常如以上的实体定义语句那样,将类属说明放在其中,且 放在端口说明语句的前面
/第3章仍24编程基础 在一个实体中定义的、可以通过 GENERIC参数类属的说明 为它创建多个行为不同的逻辑结构。比较常见的情况是选用类 属来动态规定一个实体端口的大小,或设计实体的物理特性, 或结构体中的总线宽度,或设计实体中、底层中同种元件的例 化数量等。一般在结构体中,类属的应用与常数是一样的。例 如,当用实体例化一个设计实体的器件时,可以用类属表中的 参数项定制这个器件,如可以将一个实体的传输延时、上升和 下降延时等参数加到类属参数表中,然后根据这些参数进行定 制,这对于系统仿真控制是十分方便的。类属中的常数名是由 设计者确定的类属常数名,数据类型通常取 INTEGER或TIME等 类型,设定值即为常数名所代表的数值。但需注意,综合器仅 支持数据类型为整数的类属值
第3章 VHDL编程基础 在一个实体中定义的、可以通过GENERIC参数类属的说明, 为它创建多个行为不同的逻辑结构。比较常见的情况是选用类 属来动态规定一个实体端口的大小,或设计实体的物理特性, 或结构体中的总线宽度,或设计实体中、底层中同种元件的例 化数量等。一般在结构体中,类属的应用与常数是一样的。例 如,当用实体例化一个设计实体的器件时,可以用类属表中的 参数项定制这个器件,如可以将一个实体的传输延时、上升和 下降延时等参数加到类属参数表中,然后根据这些参数进行定 制,这对于系统仿真控制是十分方便的。类属中的常数名是由 设计者确定的类属常数名,数据类型通常取INTEGER或TIME等 类型,设定值即为常数名所代表的数值。但需注意,综合器仅 支持数据类型为整数的类属值
/第3章仍24编程基础 例321】 ENTITY MCK IS GENERICOWIDTH: INTEGER: 16); PORT(ADD BUS: OUT STD LOGIC VECTORQWIDTH-I DOWNTO O)) 在这里, GENERIC语句对实体MCK的作为地址总线的端口 ADD BUS的数据类型和宽度作了定义,即定义 ADD BUS为 个16位的位矢量
第3章 VHDL编程基础 【例3.2.1】 ENTITY MCK IS GENERIC(WIDTH:INTEGER:=16); PORT(ADD_BUS:OUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0)) ; ... 在这里,GENERIC语句对实体MCK的作为地址总线的端口 ADD_BUS的数据类型和宽度作了定义,即定义ADD_BUS为一 个16位的位矢量
/第3章仍24编程基础 【例3.22】2输入与门的实体描述 ENTITY AND2 IS GENERIC(RISEW: TIME: =I ns; FALLW: TIME: -I ns) PORT(Al: IN STD LOGIC AO: IN STD LOGIC: ZO: OUT STD LOGIC); END ENTITY AND2 这是一个准备作为2输入与门的设计实体的实体描述,在类 属说明中定义参数 RISE为上沿宽度, FALLW为下沿宽度,它 们分别为1ns,这两个参数用于仿真模块的设计
第3章 VHDL编程基础 【例3.2.2】 2输入与门的实体描述。 ENTITY AND2 IS GENERIC(RISEW:TIME:=1 ns; FALLW:TIME:=1 ns); PORT( A1:IN STD_LOGIC; A0:IN STD_LOGIC; Z0:OUT STD_LOGIC); END ENTITY AND2; 这是一个准备作为2输入与门的设计实体的实体描述,在类 属说明中定义参数RISEW为上沿宽度,FALLW为下沿宽度,它 们分别为 1 ns,这两个参数用于仿真模块的设计