电子自动化第三章 3.3 VHDL的语言语法.ppt

上传人:bao****ty 文档编号:135758975 上传时间:2020-06-18 格式:PPT 页数:20 大小:170.50KB
返回 下载 相关 举报
电子自动化第三章 3.3 VHDL的语言语法.ppt_第1页
第1页 / 共20页
电子自动化第三章 3.3 VHDL的语言语法.ppt_第2页
第2页 / 共20页
电子自动化第三章 3.3 VHDL的语言语法.ppt_第3页
第3页 / 共20页
电子自动化第三章 3.3 VHDL的语言语法.ppt_第4页
第4页 / 共20页
电子自动化第三章 3.3 VHDL的语言语法.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《电子自动化第三章 3.3 VHDL的语言语法.ppt》由会员分享,可在线阅读,更多相关《电子自动化第三章 3.3 VHDL的语言语法.ppt(20页珍藏版)》请在金锄头文库上搜索。

1、3 3VHDL的语言要素 文字规则数据对象数据类型运算符与操作符属性 3 3 1VHDL文字规则 识记 1 数字型文字 1 整数文字 自然计数 科学计数法 1212E30123 456 789 2 实数文字 自然计数 科学计数法 188 9988 670 5231 00 04 9E 2 3 以数制基数表示的文字 基数 表达的文字 指数 10 142 16 E E22 0111 1110 4 物理量文字 VHDL综合器不能接收 60s100m177A 字符 用单引号引起来的ASCII字符 可以是数值 也可以是符号或字母 a Z 字符串 用双引号引起来的一维字符数组 分为文字字符串 数位字符串 a

2、bc a abc B 1 1101 1110 X AD0 识记 2 字符串型文字 3 下表名及下表段名 数组类型信号名或变量名 表达式1 TO DOWNTO表达式2 标识符规则 标识符规则是在书写VHDL程序时的一般文字规则 基本标识符由字母 数字以及下划线字符组成 且具有以下特征要求 第一个字符必须是字母 最后一个字符不能是下划线 不允许连续两个下划线 在标识符中大 小写字母是等效的 VHDL中的注释文字一律为2个连续的连接线 可以出现在任一语句后面 也可以出现在独立行 VHDL的保留字 关键字 不能用于标识符 4 标识符 识记 3 3 2 数据对象 常用的数据对象为常量 变量和信号 在使用

3、前必须给予说明 常量 CONSTANT 常量是指在设计描述中不会变化的值 常量说明语句的一般格式为 CONSTANT常量名 常量名 数据类型 取值 例如 CONSTANTwidth integer 8 常量所赋值和定义的数据类型应一致 常量一旦赋值就不能再改变 常量的作用域通常为定义在哪里作用域为哪里 识记 变量 VARIABLE 变量是暂存数据的量 变量说明语句的格式是 VARIABLE变量名 变量名 数据类型 初始值 变量是一个局部量 只用于进程和子程序 变量必须在进程或子程序的说明区域中加以说明 变量的赋值立即生效 不存在延时行为 变量常用在实现某种运算的赋值语句中 识记 信号 SIGN

4、AL 信号是电子电路内部硬件实体相互连接的抽象表示 信号能够代表连线 也可内连元件 端口也是信号 信号说明语句的格式为 SIGNAL信号名 信号名 数据类型 初始值 信号包括I O引脚信号以及IC内部缓冲信号 有硬件电路与之对应 故信号之间的传递有实际的附加延时 信号通常在构造体 包集合和实体中说明 信号不能在进程中说明 但可以在进程中使用 识记 信号和变量的主要区别 1 变量是一个局部量 只能用于进程或子程序中 信号是一个全局量 它可以用来进行进程之间的通信 2 变量赋值立即生效 不存在延时行为 信号赋值具有非立即性 信号之间的传递具有延时性 4 信号赋值可以出现在进程中 也可以直接出现在结

5、构体中 但它们的运行含义不同 前者属顺序信号赋值 此时的赋值操作要视进程是否已被启动 后者属并行信号赋值 其赋值操作是各自独立并行发生的 3 变量用作进程中暂存数据的单元 信号用作电路中的信号连线 理解 3 3 3 数据类型 VHDL是一种类型型很强的语言 要求设计实体中每一个常数 信号 变量 函数等各种参量必须具有确定的数据类型 对象的数据类型定义了该对象可以具有的值和对该对象可以进行的运算的限制 VHDL提供了多种标准的数据类型 在VHDL描述中 每个信号 常量 变量都要指定它的数据类型 以确定它能保持那一类数据 VHDL不允许不同类型的数值相互赋值或使用类型不允许的运算符进行运算 识记

6、VHDL预定义数据类型 识记 IEEE库STD LOGIC 1164程序包中定义的STD LOGIC类型和STD LOGIC VECTOR类型 STD LOGIC类型的数据可以具有九种取值 其含义如下 U 初始值 X 不定态 0 强制0 1 强制1 Z 高阻态 W 弱信号不定态 L 弱信号0 H 弱信号1 不可能情况 可忽略值 其中 X 方便了系统仿真 Z 方便了双向总线的描述 IEEE预定义标准逻辑位与矢量 了解 用户自定义数据类型VHDL允许用户自己定义 常用的用户自定义数据类型主要有 1 枚举 Enumerated 类型 通过列举某类变量所有可能的取值来加以定义 自定义数据类型说明语句的

7、一般格式是 TYPE数据类型名 数据类型名 IS 数据类型定义 枚举类型定义的格式为 TYPE数据类型名IS 元素1 元素2 了解 2 数组 ARRAY 类型 又称为向量 是多个相同类型的数据集合 它可以是二维的和多维的 数组类型定义的格式为 TYPE数据类型名ISARRAY 范围 OF元素类型名 3 纪录 RECORD 类型 是多个不同类型的数据集合 纪录类型定义的格式为 TYPE数据类型名ISRECORD元素名 数据类型名 元素名 数据类型名 ENDRECORD 4 时间 TIME 类型 物理类型 表示时间的数据类型 在仿真时是必不可少的 时间类型定义的一般格式为 TYPE数据类型名IS范

8、围 UNITS基本单位 单位 ENDUNITS 5 子类型 SYBTYPE 子类型是一个具有限制条件的类型 通常用来定义具有一定限制条件的基本类型的数据对象 了解 数据类型的转换 类型函数法 VHDL程序包中提供了多种转换函数 使得某些类型的数据之间可以相互转换 以实现正确的赋值操作 常用的类型转换函数有 CONV INTEGER 将STD LOGIC VECTOR类型转换成INTEGER类型 CONV STD LOGIC VECTOR 将INTEGER类型 UNSIGNED类型或SIGNED类型转换成STD LOGIC VECTOR类型 TO BIT 将STD LOGIC类型转换成BIT类型

9、 TO BIT VECTOR 将STD LOGIC VECTOR类型转换BIT VECTOR类型 TO STD LOGIC 将BIT类型转换成STD LOGIC类型 TO STD LOGIC VECTOR 将BIT VECTOR类型转换成STD LOGIC VECTOR类型 注意 引用时必须首先打开库和相应的程序包 该函数由STD LOGIC UNSIGNED程序包定义 该函数由STD LOGIC ARITH程序包定义 以下函数由STD LOGIC 1164程序包定义 理解 3 3 4 运算符与操作符 VHDL中共有四类运算符 1 算术运算符 正号 负号 ABS 求绝对值 MOD 求模 REM

10、 求余 2 关系运算符 3 逻辑运算符 NOT AND OR NAND NOR XOR 4 并置运算符 识记 上述四种运算符的优先级顺序为 NOT ABS REM MOD 负 正 减 加 XOR NOR NAND OR AND VHDL中的操作符 赋值符 用于将数据传给信号 赋值符 用于将数据传给变量 该赋值符也用于为信号 变量 常量等指定初值 符号 在WHEN语句中出现 其含义是 THEN 则 识记 属性 Attributes VHDL有多种能反映和影响硬件行为的属性 VHDL的属性分为数值类 函数类 信号类 类型类和范围类等属性 属性的一般格式为 Object Attributes 了解

11、数值类属性数值类属性用于返回数组或一般数据的有关值 如边界 数组长度等 对一般数据属性 返回函数的边界值 其格式为Object LEFT Object RIGHT Object HIGH Object LOW 对于数组的数值属性 返回数组的长度值 其格式为Object LENGTH 了解 信号的属性函数 利用信号属性可得到信号的行为和功能信息 其格式为Object EVENT 反映信号的值是否变化 是 则返回为 真 Object ACTIVE 反映信号是否活跃 是 则返回为 真 需要注意的是 信号的事件 Event 和活跃 Active 是两个不同的概念 必须严格区分 信号的活跃定义为信号值的任何变化 信号值由1变为0是一个活跃 而从1变为1也是一个活跃 唯一的准则是发生了事情 这种情况被称为一个事项处理 Transaction 然而 信号的事件则要求信号值发生变化 信号值从1变为0是一个事件 但从1变为1虽是一个活跃却不是一个事件 所有的事件都是活跃 但并非所有的活跃都是事件

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

当前位置:首页 > 高等教育 > 大学课件

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