系统可编程技不 第9讲 VHDL语言的基本结构
在系统可编程技术 第9讲 VHDL语言的基本结构
什么是WHDL语言? y HSIC (Very High Speed Integrated Circuit) Hardware Description Language 它是20世纪80年代初,由美国国防部为其超 高速集成电路ⅥHS计划提出的硬件描述语言, 它支持硬件的设计、综合、验证和测试。 IEEE于1987年公布了WHDL的标准版本(IEEE sTD1076/1987),193年重新公布了新的标准 ( IEEE STD1076-1993)
什么是VHDL语言? 它是20世纪80年代初,由美国国防部为其超 高速集成电路VHSIC计划提出的硬件描述语言, 它支持硬件的设计、综合、验证和测试。 IEEE于1987年公布了VHDL的标准版本(IEEE STD 1076/1987),1993年重新公布了新的标准 (IEEE STD 1076-1993)。 V HSIC (Very High Speed Integrated Circuit) Hardware Description Language
VHDL的优点 VHDL描述能力比其它硬件描述语言更强,用于 设计复杂的、多层次的数字系统。支持设计库 和设计的重复使用; ◆具有相对独立性,设计者可以不管硬件结构及 最终设计实现的目标器件; ◆支持广泛,目前大多数EDA软件都支持ⅦHDL语 ◆更方便地向AS|过渡; ◆ⅥHDL有良好的可读性,容易理解
VHDL的优点 ◆ VHDL描述能力比其它硬件描述语言更强,用于 设计复杂的、多层次的数字系统。支持设计库 和设计的重复使用; ◆ 具有相对独立性,设计者可以不管硬件结构及 最终设计实现的目标器件; ◆ 支持广泛,目前大多数EDA软件都支持VHDL语 言; ◆ 更方便地向ASIC过渡; ◆ VHDL有良好的可读性,容易理解
VHDL源文件基本格式 实体( Entity) 五个部分 结构体( Architecture) 配置( Configuration) 程序包( Package) 可 选 库 Library)
VHDL源文件基本格式 五 个 部 分 实体(Entity) 结构体(Architecture) 配置(Configuration) 程序包(Package) 库(Library) 可 选
VHDL源文件基本格式 LI BRARY库名; 库 USE库名.程序包名 程序包 ENTITY实体名|S 实体 PORT (... END实体名; ARCH| TECTURE结构体名0F实体名 结构体 END结构体名
LIBRARY 库名; --库 USE 库名.程序包名.; --程序包 ENTITY 实体名 IS --实体 PORT(……); END 实体名; ARCHITECTURE 结构体名 OF 实体名 --结构体 (………) END 结构体名; VHDL源文件基本格式
例:4选1数据选择器 工工 BRARY工EEE; 库 USE IEEE STD LOGIC 1164.ALL 程序包 ENTITY ex2 IS 实体 PORT(i0,,12,i3, a,b: IN STD LOGIC; g: OUT STD LOGIC)i END ex2i ARCHITECTURE ex2 a oF ex2 IS 结构体 SIGNAL sel: STD LOGIC VECTOR (1 DOWNTO 0)i BEG工N sel<=bsa q<=立0 WHEN se1=N00″ELSE i1 When sel=o1 ElSE i2 WHEN sE1=110〃ELsE i3 WHEN sel=11〃ELsE x′; END ex2 ai
例:4选1数据选择器 LIBRARY IEEE; --库 USE IEEE.STD_LOGIC_1164.ALL; --程序包 ENTITY ex2 IS --实体 PORT(i0,i1,i2,i3,a,b:IN STD_LOGIC; q:OUT STD_LOGIC); END ex2; ARCHITECTURE ex2_a OF ex2 IS --结构体 SIGNAL sel:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN sel<=b&a; q<= i0 WHEN sel=“00” ELSE i1 WHEN sel=“01” ELSE i2 WHEN sel=“10” ELSE i3 WHEN sel=“11” ELSE ‘x’; END ex2_a;
1、实体 格式: ENTITY实体名1S GENERIC(类属表); [PORT(端口表);] END实体名; 说明所设计的逻辑电路的输入输出信号及其特性 (输入、输出、双向)
1、实 体 格式: ENTITY 实体名 IS [GENERIC ( 类属表 );] [PORT ( 端口表 );] END 实体名; 说明所设计的逻辑电路的输入输出信号及其特性 (输入、输出、双向)
2选1多路选择器的DL实体描述 ENTITY mux2la s PORT( a, b: IN BIT IN BIT 实体 y: OUT BIT END mux21 a 21a mux2la实体
ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ; END mux21a ; 实体 2选1多路选择器的VHDL实体描述
PORT(端口)说明 PORT说明语句是对一个设计实体界面的说明及对设计实 体与外部电路的接口通道的说明,其中包括对每一接口的输 入输出模式和数据类型的定义。其格式如下: PORT(端口名:端口模式数据类型; [端口名:端口模式数据类型}); 端口名是设计者为实体的每一个对外通道所取的名字 端口模式是指这些通道上的数据流动方式 数据类型是指端口上流动的数据的表达格式或取值类型, VHDL要求只有相同数据类型的端口信号和操作数才能相互作 用
PORT(端口)说明 PORT ( 端口名 : 端口模式 数据类型 ; { 端口名 : 端口模式 数据类型} ) ; ➢ 端口名是设计者为实体的每一个对外通道所取的名字 ➢ 端口模式是指这些通道上的数据流动方式 ➢ 数据类型是指端口上流动的数据的表达格式或取值类型, VHDL要求只有相同数据类型的端口信号和操作数才能相互作 用。 PORT说明语句是对一个设计实体界面的说明及对设计实 体与外部电路的接口通道的说明,其中包括对每一接口的输 入输出模式和数据类型的定义。其格式如下:
端口模式: Entit 输入,信号只能自端口到实体 0UT输出,信号只能自实体到端口 ◆ INOUT双向,信号既可输入又可输出 BUFFER缓冲,信号自实体输出,又有 内部反馈 (Data that goes out of the entity and is also fed-back internal ly)
◆ IN 输入,信号只能自端口到实体 ◆ OUT 输出,信号只能自实体到端口 ◆ INOUT 双向,信号既可输入又可输出 ◆ BUFFER 缓冲,信号自实体输出,又有 内部反馈 (Data that goes out of the entity and is also fed-back internally) Entity 端口模式: