VHDL语言的基本结构课件

上传人:我*** 文档编号:145623811 上传时间:2020-09-22 格式:PPT 页数:25 大小:282KB
返回 下载 相关 举报
VHDL语言的基本结构课件_第1页
第1页 / 共25页
VHDL语言的基本结构课件_第2页
第2页 / 共25页
VHDL语言的基本结构课件_第3页
第3页 / 共25页
VHDL语言的基本结构课件_第4页
第4页 / 共25页
VHDL语言的基本结构课件_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《VHDL语言的基本结构课件》由会员分享,可在线阅读,更多相关《VHDL语言的基本结构课件(25页珍藏版)》请在金锄头文库上搜索。

1、硬件描述语言与数字系统设计,第三讲 VHDL语言的基本结构,知识点1 什么是VHDL语言?,它是20世纪80年代初,由美国国防部为其超高速集成电路VHSIC计划提出的硬件描述语言,它支持硬件的设计、综合、验证和测试。 IEEE于1987年公布了VHDL的标准版本(IEEE STD 1076/1987),1993年重新公布了新的标准(IEEE STD 10761993)。,V HSIC (Very High Speed Integrated Circuit) Hardware Description Language,知识点2 VHDL的优点,功能强化大,设计灵活:VHDL描述方式多样,(数据流

2、、行为流、结构流)比其它硬件描述语言更强,用于设计复杂的、多层次的数字系统。支持设计库和设计的重复使用; 独立性强:设计者可以不管硬件结构及最终设计实现的目标器件; 支持广泛:目前大多数EDA软件都支持VHDL语言; 移植性强:更方便地向ASIC过渡;,如何描述一个硬件,输入输出端口有那学; 实现何种逻辑功能; 采用何种标准(TTL逻辑? CMOS逻辑?);,例: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 S

3、TD_LOGIC); END ex2; ARCHITECTURE ex2_a OF ex2 IS-结构体 SIGNAL sel:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN sel=b,知识点3 VHDL程序的基本结构,五 个 部 分,实体声明(Entity),结构体的声明(Architecture) (可选),配置(Configuration)(可选),结构体定义(Package),库的引用(Library) )(可选),LIBRARY 库名;库 USE 库名.程序包名.;程序包 ENTITY 实体名 IS实体 PORT(); END 实体名; ARCHITECTU

4、RE 结构体名 OF 实体名结构体 () END 结构体名;,知识点3 VHDL程序的基本结构 2,知识点4 实体声明,格式: ENTITY 实体名 IS GENERIC ( 类属表 ); PORT ( 端口表 ); END 实体名;,说明所设计的逻辑电路的输入输出信号及其特性(输入、输出、双向),ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ; END mux21a ;,实体,2选1多路选择器的VHDL实体描述,知识点5 PORT(端口)说明,PORT ( 端口名 : 端口模式 数据类型 ; 端口名 : 端口

5、模式 数据类型 ) ;,端口名是设计者为实体的每一个对外通道所取的名字 端口模式是指这些通道上的数据流动方式 数据类型是指端口上流动的数据的表达格式或取值类型,VHDL要求只有相同数据类型的端口信号和操作数才能相互作用。,PORT说明语句是对一个设计实体界面的说明及对设计实体与外部电路的接口通道的说明,其中包括对每一接口的输入输出模式和数据类型的定义。其格式如下:,IN 输入,信号只能自端口到实体 OUT 输出,信号只能自实体到端口 INOUT 双向,信号既可输入又可输出 BUFFER 缓冲,信号自实体输出,又有 内部反馈 (Data that goes out of the entity a

6、nd is also feed-back internally),端口模式:,VHDL中的端口:In Out Inout Buffer,端口模式:,Out与Buffer的区别,Entity test1 is port(a: in std_logic; b,c: out std_logic ); end test1; architecture a of test1 is begin b = not(a); c = b;- Error end a;,Entity test2 is port(a: in std_logic; b : buffer std_logic; c: out std_logi

7、c ); end test2; architecture a of test2 is begin b = not(a); c = b; end a;,例如:,例1 有类属说明的2输入与非门的实体描述。 ENTITY nand2 IS GENERIC ( t_rise : TIME := 2ns ; t_fall : TIME := 1ns ) 信息通道 PORT( a: IN BIT; b : IN BIT; s : OUT BIT); END ENTITY nand2; 例2 n输入与非门的实体描述: ENTITY nand_n IS GENERIC ( n : INTEGER ) ; PO

8、RT( a : IN STD_LOGIC_VECTOR(n-1 DOWNTO 0); s : OUT STD_LOGIC ); END ENTITY nand_n;,知识点6 结构体格式,功能: 对数据类型、常数、信号、子程序和元件等元素的说明 描述实体逻辑行为。,格式: ARCHITECTURE 结构体名 OF 实体名 IS 说明语句 BEGIN 功能描述语句 END 结构体名;,ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b ; END one ;,结构体,2选1多路选择器的VHDL结构体描述,3.1.1 组合电路描述

9、,【例3-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 ;,结构体描述方式(行为描述),3.1.1 组合电路描述,【例3-2】 ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE

10、one OF mux21a IS SIGNAL d,e : BIT; BEGIN d = a AND (NOT S) ; e = b AND s ; y = d OR e ; END ARCHITECTURE one ;,结构体描述方式(数据流描述描述),【例3-3】 ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS BEGIN PROCESS (a,b,s) BEGIN IF s = 0 THEN y = a ; ELSE y = b

11、 ; END IF; END PROCESS; END ARCHITECTURE one ;,3.1.1 组合电路描述,结构体描述方式(实用if-else的行为描述),知识点7 VHDL库,库(Library)是用于存放预先编译好的程序包(Package),程序包中定义了数据集合体、逻辑操作和元件等。主要是声明在设计或实体中将用到的常数,数据类型,元件及子程序等。 库可以使设计者共享已经编译好的设计结果。,IEEE库:IEEE标准库 使用需声明 STD库:VHDL标准库 使用无需声明 ASIC库:EDA厂商提供库 使用需声明 WORK库:现行作业库,当前工作目录的所有设计 使用无需声明 USE

12、R库:用户自定义库 使用需声明,STD_LOGIC_1164 程序包 STD_LOGIC_ARITH 程序包 STD_LOGIC_UNSIGNED 程序包,VHDL库的种类,库的用法,USE语句的使用有两种常用格式: USE 库名.程序包名.项目名 ; USE 库名.程序包名.ALL ;,例: LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.STD_ULOGIC ; USE IEEE.STD_LOGIC_1164.RISING_EDGE ; USE IEEE.STD_LOGIC_1164.ALL;,格式:LIBRARY 库名;,USE 库名. 程序包名. All;

13、,库说明的作用范围,从一个实体说明开始到其所属的结构体、配置为止,当一个源程序中出现两个以上的实体时,必须重复说明。,例: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY example1 IS () END LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY example2 IS () END,请说明各语句的含义,Library IEEE USE IEEE.STD_LOGIC_1164.ALL;,ENTITY example IS PORT(a,b,c,d: IN STD_LOGIC; e

14、: out STD_LOGIC); End example;,ACHITECTURE abc OF example IS Signal tmp : std_logic; Begin e=(a and b ) or tmp; Tmp=c xor d; End abc;,程序包声明,IEEE库声明,接口信号: 应声明 端口模式 数据类型,内部信号: 应声明 数据类型,library IEEE; use IEEE.std_logic_1164.all; entity ADDER1 is port ( X0: in STD_LOGIC; Y0: in STD_LOGIC; C0: in STD_LOGIC; S0: out STD_LOGIC; C1: out STD_LOGIC ); end ADDER1; architecture ADDER1_arch of ADDER1 is begin S0 = X0 xor Y0 xor C0; C1 = (X0 and C0) or (X0 and Y0) or (C0 and Y0); end ADDER1_arch;,练习1:画出下列程序对应的实体,仿真其功能,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号