EDA教程PPT教学课件-第二章 语言语法基础

上传人:QQ15****706 文档编号:99247169 上传时间:2019-09-18 格式:PPT 页数:95 大小:395.50KB
返回 下载 相关 举报
EDA教程PPT教学课件-第二章 语言语法基础_第1页
第1页 / 共95页
EDA教程PPT教学课件-第二章 语言语法基础_第2页
第2页 / 共95页
EDA教程PPT教学课件-第二章 语言语法基础_第3页
第3页 / 共95页
EDA教程PPT教学课件-第二章 语言语法基础_第4页
第4页 / 共95页
EDA教程PPT教学课件-第二章 语言语法基础_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《EDA教程PPT教学课件-第二章 语言语法基础》由会员分享,可在线阅读,更多相关《EDA教程PPT教学课件-第二章 语言语法基础(95页珍藏版)》请在金锄头文库上搜索。

1、第二章 VHDL语言语法基础,VHDL入门,例: 2选1选择器设计,a b mux21 y s,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL ENTITY mux21 IS PORT(a,b:IN STD_LOGIC; s:IN STD_LOGIC; y:OUT STD_LOGIC); END mux21; ARCHITECTURE one OF mux21 IS BEGIN y=a WHEN s=0 ELSE b WHEN S=1; END one;,IEEE库使用说明,器件mux21的外部接口信号说明,PORT相当于器件的引脚,这一部分称为实体,器件m

2、ux21的内部工作逻辑描述,即为实体描述的器件功能结构,称为结构体,例: 锁存器设计,LATCH D Q ENA,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY Latch IS PORT(D:IN STD_LOGIC; ENA:IN STD_LOGIC; Q:OUT STD_LOGIC); END latch; ARCHITCTURE one OF latch IS SIGNAL sig_save:STD_LOGIC; BEGIN PROCESS(D,ENA) BEGIN IF ENA=1 THEN sig_save=D; END IF;

3、Q= sig_save; END PROCESS; END one;,锁存器的实体,定义了此器件的输入输出引脚及其信号属性,定义信号,进程语句结构,描述逻辑的时序方式,结构体,例: 全加器设计,1位半加器,1位全加器,H_ADDER a co b so,H_ADDER a co b so,H_ADDER a co b so,F_ADDER ain cout bin sum cin,ain,bin,ain,a c b,u1,u2,u3,sum,cout,d,e,f,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY or2 IS PORT(A,B:

4、IN STD_LOGIC; c: OUT STD_LOGIC); END or2; ARCHITECTURE ful OF or2 IS BEGIN c = a OR b; END fu1;,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT(a,b:IN STD_LOGIC; co,so:OUT STD_LOGIC); END h_adder; ARCHITECTURE fh1 OF h_adder IS BEGIN so= a AND (a NAND b); co=NOT( a NAND b ); END fh

5、1;,LIBRARY IEEE; USE IEEE.STD_LOGIC-1164.ALL; ENTITY f_adder IS PORT(ain,bin,cin:IN STD_LOGIC; cout,sum:OUT STD_LOGIC); END f_adder; ARCHITECTURE fd1 OF f_adder IS BEGIN COMPONENT h_adder PORT(a,b:IN STD_LOGIC; co,so:OUT STD_LOGIC); END COMPONENT; COMPONENT or2 PORT(a,b:IN STD_LOGIC; c:OUT STD_LOGIC

6、); END COMPONENT; SIGNAL d,e,f:STD_LOGIC; BEGIN u1:h_adder PORT MAP(ain,bin,d,e); u2:h_adder PORT MAP(e,b,f,sum); u3:or2 PORT MAP(d,f,cout); END fd1;,元件调用声明,元件连接,第2章 VHDL语言程序的基本结构,实 体 构造体 配 置 包集合 库,VHDL语言的基本结构,库及包集合 LIBRARY 库名; 使用说明 USE 库名.包集合名.项目名; ENTITY 实体名 IS 实体说明 类属参数说明 ; 端口说名 ; END实体名 ; ARCHIT

7、ECTURE 构造体名 OF 实体名 IS 定义语句 内部信号,常数,数据类型,函数等的定义; 构造体描述 BEGIN 并行处理语句 ; END构造体名;,VHDL语言程序的基本结构,2.1 VHDL语言设计的基本单元及其构成,基本单元 门 微处理器 系统 基本单元构成 实体说明:规定了设计单元的输入输出接口信号或引脚。 构造体:定义了设计单元的具体构造和操作(行为)。,多路选择器的VHDL描述,例 2选1多路选择器的VHDL描述,2选1输入/输出端口 (实体Entity),电路功能 实现 (结构体Architecture),?,例 2选1多路选择器的实体描述,多路选择器的VHDL描述,实体在

8、电路中主要是说明该电路的输入、输出关系,更具体地说就是用来定义实体与外部的连接关系以及需传送给实体的参数。,ENTITY mux21 IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21; ARCHITECTURE one OF mux21 IS BEGIN y = a WHEN s = 0 ELSE b ; END ARCHITECTURE one ;,例 2选1多路选择器的结构体描述1 (行为描述),说明:以关键字ARCHITECTURE引导,以END (ARCHITECTURE) xxx结尾的语句部分,称

9、为结构体。描述电路的内部逻辑功能或电路结构。,多路选择器的VHDL描述,例 2选1多路选择器的结构体描述2 (原理图描述),多路选择器的VHDL描述,例 2选1多路选择器的结构体描述3 (布尔方程描述),多路选择器的VHDL描述,说明:以上三种结构体描述都是并行语句,例 2选1多路选择器的结构体描述4 (进程描述),多路选择器的VHDL描述,2选1多路选择器功能时序波形,例 2选1多路选择器的EDA软件仿真结果,多路选择器的VHDL描述,2.1 实体表达(ENTITY),多路选择器的VHDL描述,例VHDL描述中出现的相关语句结构和语法说明,ENTITY 实体名 IS GENERIC (类属表

10、); PORT (端口表); END ENTITY 实体名;,实体在电路中主要是说明该电路的输入、输出关系,更具体地说就是用来定义实体与外部的连接关系以及需传送给实体的参数。,ENTITY 实体名 IS GENERIC (类属表); PORT (端口表); END ENTITY 实体名;,(1)类属表:用以将信息参数传递到实体。 (2)端口表:指明实体的输入、输出信号及其模式、数据类型。,PORT (端口名:端口模式 数据类型; 端口名:端口模式 数据类型 );,英文字母+数字,数据流动方向,主要有“位”和“位矢量”两类,设计者自己命名的名称(文件名),实体参数和端口说明,类属参数说明: 必须

11、放在端口说明之前, 用于指定参数。 GERERIC(常数名:数据类型:设定值); 如上例中的GENERIC(m:TIME=1 ns)。 该语句指定了构造体内m的值为1 ns。这样,语句 q=tmp AFTER m; 表示tmp经 1 ns延迟才送到q。在这个例子中, GENERIC利用类属参数为q建立一个延迟值。,注意 简单地说 In 不可以出现在= 或 : = 的左边 out不可以出现在= 或 : = 的右边 buffer可以出现在= 或 : = 的两边,In 信号只能被引用,不能被赋值 out 信号只能被赋值,不能被引用 buffer 信号可以被引用,也可以被赋值,例:,VHDL中任何一种

12、数据对象(信号、变量、常数)必须严格限定其取值范围。 VHDL 中一个对象只能有一种类型,施加于该对象的操作必须与该类型相匹配。 常用数据类型有:BIT,BIT_VECTOR,STD_LOGIC,STD_LOGIC_VECTOR,INTEGER,BOOLEAN等,“std_logic”型数据可以具有如下9种不同的值: U-初始值; X-不定; 0 -0; 1 -1; 注意:当使用这两种数据类型 Z -高阻; 时,在程序中必须写出库 W-弱信号不定; 和包集合的说明语句。 L -弱信号0; H -弱信号1; -不可能情况。,std_logic,std_logic_vector,实体描述,实体描述

13、从“ENTITY 实体名 IS”开始, 至“END 实体名”结束。 实际上,对VHDL语言而言,大写和小写都一视同仁,不加区分。这里这样规定仅仅是为了增加程序的可读性而已。 建议将VHDL的标识符或基本语句关键词以大写方式表示,而由设计者添加的内容可以以小写方式来表示。,2.2 结构体表达(ARCHITECTURE),结构体表达,ARCHITECTURE 结构体名 OF 实体名 IS 定义语句 内部信号,常数,数据类型,函数等定义; BEGIN 功能描述语句; END ARCHITECTURE 结构体名;,构造体说明,构造体命名: 英文字母、数字、 构造体的名称可以由设计者自由命名。但是在大多

14、数的文献和资料中, 通常把构造体的名称命名为behavioral(行为),dataflow(数据流)、rtl(寄存器传输)或者structural(结构 ) 当一个实体具有多个结构体时,结构体的取名不可相重。,2.1.2 构造体说明,定义语句 位置在ARCHITECTURE和BEGIN之间。 对用于构造体内部所使用的信号、 常数、 数据类型和函数等进行定义 例: SIGNAL cont:STDLOGICVECTOR(3 DOWNTO 0); SIGNAL co_1:STDLOGIC; CONSTANT m:TIME:=2ns; TYPE STATE IS (INIT,DAD,ADC,SRF,F

15、RF);,2.1.2 构造体说明,并行处理语句 位置:处于语句BEGIN和END之间 所有的并行处理语句都可以写在这里面。并行处理语言在仿真时是并发工作的,和前后次序无关,从而描述了构造体内部逻辑电路的并发功能。 有5种语句结构 块语句(BLOCK) 进程语句(PROCESS) 信号赋值语句 子程序调用语句 元件例化语句,都是并行语句 内部可能包含顺序语句,2.1.2 构造体说明,构造体结束 END 构造体名;,结构体名称的命令:它是该结构体的唯一名称。“OF”后面紧跟的实体名表明了该实体所对应的是哪一个实体。用 “IS”来结束结构体的命名。,ARCHITECTURE 结构体名 OF 实体名 IS 定义语句 内部信号,常数,数据类型,函数等的定义; BEGIN 功能描述语句; END ARCHITECTURE 结构体名;,定义语句:位于“ARCHITECTURE”和“BEGIN”之间。用于对结构体内部所使用的信号常数、数据类型和函数等进行定义。如:,ARCHITECTURE 结构体名 OF 实体名 IS 定义语句 内部信号,常数,数据类型,函数等的定义; BEGIN 功能描述语句; END ARCHITECTURE 结

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

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