/第3章仍24编程基础 3.说明及分析 (1)整个设计包括三个设计实体,分别为OR2、 H ADDER 和 F ADDER,其中实体 F ADDER为顶层实体。三个设计实 体均包括三个组成部分:库、程序包使用说明,实体说明和结 构体说明。这三个设计实体既可以作为一个整体进行编译、综 合与存档,也可以各自进行独立编译、独立综合与存档,或被 其他的电路系统所调用
第3章 VHDL编程基础 3. 说明及分析 (1) 整个设计包括三个设计实体,分别为OR2、H_ADDER 和F_ADDER,其中实体F_ADDER为顶层实体。三个设计实 体均包括三个组成部分:库、程序包使用说明,实体说明和结 构体说明。这三个设计实体既可以作为一个整体进行编译、综 合与存档,也可以各自进行独立编译、独立综合与存档,或被 其他的电路系统所调用
/第3章仍24编程基础 (2)实体OR2定义了或门OR2的引脚信号A、B(输入)和C(输 出),其对应的结构体ART1描述了输入与输出信号间的逻辑关 系,即将输入信号A、B相或后传给输出信号端C,由此实体和 结构体描述一个完整的或门元件。 (3)实体 H ADDER及对应的结构体ART2描述了一个如图 3.1所示的半加器。由其结构体的描述可以看到,它是由一个与 非门、一个非门、一个或门和一个与门连接而成的,其逻辑关 系来自于半加器真值表。在ⅤHDL中,逻辑算符NAND、NOT、 OR和AND分别代表“与非”、“非”、“或”和“与”4种逻 辑运算关系
第3章 VHDL编程基础 (2) 实体 OR2定义了或门OR2的引脚信号A、B(输入)和C(输 出),其对应的结构体ART1描述了输入与输出信号间的逻辑关 系,即将输入信号A、B相或后传给输出信号端C,由此实体和 结构体描述一个完整的或门元件。 (3) 实体H_ADDER及对应的结构体ART2描述了一个如图 3.1所示的半加器。由其结构体的描述可以看到,它是由一个与 非门、一个非门、一个或门和一个与门连接而成的,其逻辑关 系来自于半加器真值表。在VHDL中,逻辑算符NAND、NOT、 OR和AND分别代表“与非”、“非”、“或”和“与”4种逻 辑运算关系
第3章24编程基础 (4)在全加器接口逻辑ⅤHDL描述中,根据图3.2右侧的1位 二进制全加器 F ADDER的原理图,实体 F ADDER定义了引脚 的端口信号属性和数据类型。其中,AIN和BN分别为两个输入 的相加位,CIN为低位进位输入,COUT为进位输出,SUM为1 位和输出。其对应的结构体ART3的功能是利用 COMPONENT 声明语句和 COMPONENT例化语句将上面由两个实体OR2和 H ADDER描述的独立器件,按照图3.2全加器内部逻辑原理图 中的接线方式连接起来
第3章 VHDL编程基础 (4) 在全加器接口逻辑VHDL描述中,根据图3.2右侧的1位 二进制全加器F_ADDER的原理图,实体F_ADDER定义了引脚 的端口信号属性和数据类型。其中,AIN和BIN分别为两个输入 的相加位,CIN为低位进位输入,COUT 为进位输出,SUM为1 位和输出。其对应的结构体ART3的功能是利用COMPONENT 声明语句和COMPONENT例化语句将上面由两个实体OR2和 H_ADDER描述的独立器件,按照图3.2全加器内部逻辑原理图 中的接线方式连接起来
/第3章仍24编程基础 (5)在结构体ART3中, COMPONENT→ END COMPONENT 语句结构对所要调用的或门和半加器两元件作了声明 ( COMPONENT DECLARATION),并由 SIGNAL语句定义了三个 信号D、E和F,作为中间信号转存点,以利于几个器件间的信号 连接。接下去的“ PORT MAP()”语句称为元件例化语句 ( COMPONENT INSTANTIATION)。所谓例化,在电路板上,相 当于往上装配元器件;在逻辑原理图上,相当于从元件库中取了 个元件符号放在电路原理图上,并对此符号的各引脚进行连线。 例化也可理解为元件映射或元件连接,MAP是映射的意思。例如, 语句“U2: H ADDER PORT MAP(A→>E,B=>CN,CO→>F, SO→>SUM)”表示将实体 H ADDER描述的元件U2的引脚信号A、 B、CO和SO分别连向外部信号E、CⅠN、F和SUM。符号“=>”表 示信号连接
第3章 VHDL编程基础 (5) 在结构体ART3中,COMPONENT→END COMPONENT 语句结构对所要调用的或门和半加器两元件作了声明 (COMPONENT DECLARATION),并由SIGNAL语句定义了三个 信号D、E和F,作为中间信号转存点,以利于几个器件间的信号 连接。接下去的“PORT MAP( )”语句称为元件例化语句 (COMPONENT INSTANTIATION)。所谓例化,在电路板上,相 当于往上装配元器件;在逻辑原理图上,相当于从元件库中取了 一个元件符号放在电路原理图上,并对此符号的各引脚进行连线。 例化也可理解为元件映射或元件连接,MAP是映射的意思。例如, 语句“U2:H_ADDER PORT MAP(A=>E,B=>CIN,CO=>F, SO=>SUM)”表示将实体H_ADDER描述的元件U2的引脚信号A、 B、CO和SO分别连向外部信号E、CIN、F和SUM。符号“=>”表 示信号连接
第3章24编程基础 (6)实体 F ADDER引导的逻辑描述也是由三个主要部分构成 的,即库、实体和结构体。从表面上看来,库的部分仅包含 个EE标准库和打开的 EEESTD LOGIC1164ALL程序包。但 实际上,从结构体的描述中可以看出,其对外部的逻辑有调用 的操作,这类似于对库或程序包中的内容作了调用。因此,库 结构部分还应将上面的或门和半加器的ⅤHDL描述包括进去,作 为工作库中的两个待调用的元件。由此可见,库结构也是VHDL 程序的重要组成部分
第3章 VHDL编程基础 (6) 实体F_ADDER引导的逻辑描述也是由三个主要部分构成 的,即库、实体和结构体。从表面上看来,库的部分仅包含一 个IEEE标准库和打开的IEEE.STD_LOGIC_1164.ALL程序包。但 实际上,从结构体的描述中可以看出,其对外部的逻辑有调用 的操作,这类似于对库或程序包中的内容作了调用。因此,库 结构部分还应将上面的或门和半加器的VHDL描述包括进去,作 为工作库中的两个待调用的元件。由此可见,库结构也是VHDL 程序的重要组成部分