第4章 VHDL语言程序基本结构
第4章 VHDL语言程序基本结构
EDA技术讲义 什么是WHDL? Very high speed integrated Hardware Description Language (VHDl) 是IEE、工业标准硬件描述语 用语言的方式而非图形等方式描述硬件电路 容易修改 容易保存 特别适合于设计的电路有: 复杂组合逻辑电路,如 译码器、编码器、加减法器、多路选择器、地址译码器.. 状态机 等等
EDA技术讲义 什么是VHDL? Very high speed integrated Hardware Description Language (VHDL) 是IEEE、工业标准硬件描述语言 用语言的方式而非图形等方式描述硬件电路 容易修改 容易保存 特别适合于设计的电路有: 复杂组合逻辑电路,如: • 译码器、编码器、加减法器、多路选择器、地址译码器…... 状态机 等等……
EDA技术讲义 VHDL的功能和标准 VHDL描述 输入端口 输出端口 电路的行为和功能 VHDL有过两个标准: IEEE Std 1076-1987(called VHDL 1987) IEEE Std 1076-1993(called VHDL 1993)
EDA技术讲义 VHDL的功能和标准 VHDL 描述 输入端口 输出端口 电路的行为和功能 VHDL有过两个标准: IEEE Std 1076-1987 (called VHDL 1987) IEEE Std 1076-1993 (called VHDL 1993)
EDA技术讲义 ⅤHDL程序组成 般来说,一个完整的ⅤHDL程序通常包括5个部分: 实体说明( Entity Declaration);(基本组成部分) 结构体( Architecture Body);(基本组成部分) 库( Library); 程序包( Package); 配置( Congiguration)
EDA技术讲义 一般来说,一个完整的VHDL程序通常包括5个部分: 实体说明(Entity Declaration);(基本组成部分) 结构体(Architecture Body); (基本组成部分) 库(Library); 程序包(Package); 配置(Congiguration)。 VHDL程序组成
EDA技术讲义 相关约定 1.对于ⅤHDL的编译器和综合器来说,程序文字的大小 写不加区分。 2.为了使程序结构清晰,易于阅读和调试,书写和输入 程序时,使用层次缩进格式,同一层次的语句对齐, 底层次的语句较高层次的语句缩进两个字符 3.程序中的注释使用双横线“-”。在ⅤHDL程序的任 何一行中,双横线“-”后的文字都不参加编译和综
EDA技术讲义 1. 对于VHDL的编译器和综合器来说,程序文字的大小 写不加区分。 2. 为了使程序结构清晰,易于阅读和调试,书写和输入 程序时,使用层次缩进格式,同一层次的语句对齐, 底层次的语句较高层次的语句缩进两个字符。 3. 程序中的注释使用双横线“--”。在VHDL程序的任 何一行中,双横线“--”后的文字都不参加编译和综 合。 相关约定
EDA技术讲义 41设计实体 设计实体总由实体说明和结构体两部分构成 【例4-1】 ENTITY mux2la Is mux21a PORT a, b: IN BIT b s S: IN BIT 实体说明 y: OUT BIT) END ENTITY mux2la mux21a实体 图4-1mux21a实体 ARChitECtURE one of mux2la Is BEGIN y<=a WHEN S=O' eLse 结构体 b END ARCHITECTURE one muw21a结构体 2选1多路选择器的ⅤHDL描述 图42mux21a结构体
EDA技术讲义 【例4-1】 ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ; END ENTITY mux21a ; ARCHITECTURE one OF mux21a IS BEGIN y <= a WHEN s = '0' ELSE b ; END ARCHITECTURE one ; 实体说明 结构体 4.1 设计实体 图4-1 mux21a实体 图4-2 mux21a结构体 设计实体总由实体说明和结构体两部分构成 2选1多路选择器的VHDL描述
EDA技术讲义 41设计实体 41.1实体说明 实体说明主要描述的是一个设计的外貌,即对外 的输入输出接口以及一些用于结构体的参数的定义。 【例4-1】 ENTITY mux2la Is mux 21a PORTC a, b: IN BIT S: IN BIT 实体说明 y: OUT BIT) END ENTITY mux2la muwx2la实体 图41mux21a实体 任何一个基本设计单元的实体说明都具有如下结构: ENTITY实体名IS 类属参数说明]; 端口说明}; END[ ENTITYI实体名
EDA技术讲义 【例4-1】 ENTITY mux21a IS PORT( a, b : IN BIT; s : IN BIT; y : OUT BIT ) ; END ENTITY mux21a ; 实体说明 4.1 设计实体 图4-1 mux21a实体 4.1.1 实体说明 任何一个基本设计单元的实体说明都具有如下结构: ENTITY 实体名 IS [类属参数说明] ; [端口说明]; END [ENTITY] 实体名; 实体说明主要描述的是一个设计的外貌,即对外 的输入输出接口以及一些用于结构体的参数的定义
EDA技术讲义 41设计实体 41实体说明 类属参数说明: ENTITY实体名IS 类属参数说明主要用来为设计实体指定参数。[类属参数说明] 如用来定义端口的宽度、器件的延迟时间等。[端口说明] 必须放在端口说明之前。 END ENTITY]实体名 例如 GENERIC (m: time: =1 ns) 该语句指定了结构体内的m值为1ns
EDA技术讲义 4.1 设计实体 4.1.1 实体说明 ENTITY 实体名 IS [类属参数说明] ; [端口说明] ; END [ENTITY] 实体名; 类属参数说明: 类属参数说明主要用来为设计实体指定参数。 如用来定义端口的宽度、器件的延迟时间等。 必须放在端口说明之前。 例如: GENERIC(m:time:=1 ns) 该语句指定了结构体内的m值为1 ns
EDA技术讲义 41设计实体 41实体说明 端口说明: 端口说明是对基本设计实体(单元)与外部 ENTITY实体名IS 接口的描述,也可以说是对外部引脚信号的[类属参数说明]; 名称、数据类型和输入、输出方向的描述。[端口说明]; 般书写格式如下 END[ ENTITY]实体名 PORT(端口名{,端口名}:方向数据类型名; 端口名{,端口名}:方向数据类型名) 例如:PORT(a,b:INBI S:N BIT y: OUT BIT);
EDA技术讲义 4.1 设计实体 4.1.1 实体说明 ENTITY 实体名 IS [类属参数说明] ; [端口说明] ; END [ENTITY] 实体名; 端口说明: 端口说明是对基本设计实体(单元)与外部 接口的描述,也可以说是对外部引脚信号的 名称、数据类型和输入、输出方向的描述。 一般书写格式如下: PORT(端口名{,端口名}:方向 数据类型名; …… 端口名{,端口名}:方向 数据类型名); 例如:PORT( a, b : IN BIT; s : IN BIT; y : OUT BIT ) ;
EDA技术讲义 41设计实体 41实体说明 端口说明: PORT(端口名{,端口名}:方向数据类型名 端口名{,端口名}:方向数据类型名) 端口名: 端口名是赋予每个外部引脚的名称,可以自由定义,但不 能和VHDL语言中的关键字重名。一行里可以定义多个相 同数据类型的不同端口,它们之间用逗号隔开。通常用 个或几个英文字母,或者用英文字母加数字命名
EDA技术讲义 4.1 设计实体 4.1.1 实体说明 端口名: PORT(端口名{,端口名}:方向 数据类型名; …… 端口名{,端口名}:方向 数据类型名); 端口说明: 端口名是赋予每个外部引脚的名称,可以自由定义,但不 能和VHDL语言中的关键字重名。一行里可以定义多个相 同数据类型的不同端口,它们之间用逗号隔开。通常用一 个或几个英文字母,或者用英文字母加数字命名