05 第五讲 VHDL语言的文法.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
05 第五讲 VHDL语言的文法

第五讲 VHDL语言的文法 基本语言要素 1. 注释 VHDL中的注释由两个连续的短线(--)开始,直到行尾。 2. 标识符 VHDL中的标识符可以是常数、变量、信号、端口、子程序或参数的名字。 基本语言要素 使用标识符要遵守如下法则: 标识符由字母(A…Z;a…z)、数字和下划线字符组成。 任何标识符必须以英文字母开头。 末字符不能为下划线。 不允许出现两个连续下划线。 标识符中不区分大小写字母。 VHDL定义的保留子或称关键字,不能用作标识符。 基本语言要素 3. 数据对象 数据对象有三种:信号,变量和常量。信号表示电路接线上的逻辑信号,变量表示数据值,用于行为模型中的计算,常数是一个固定的值,主要是为了使设计实体中的常数更容易阅读和修改。常数一被赋值就不能在改变。 基本语言要素 4. 数据类型 1) 位(Bit)和位矢量(Bit_Vector) 位的取值是’0’或’1’, 位矢量是用双引号括起来的一组位数据,使用位矢量必须注明位宽。 2) 标准逻辑位(STD_LOGIC)和标准逻辑矢量(STD_LOGIC_VECTOR) 在IEEE库的程序包STD_LOGIC1164中,定义了两个重要的数据类型,即标准逻辑位STD_LOGIC和标准逻辑矢量STD_LOGIC_VECTOR, 基本语言要素 该数据类型可以更精确地表示实际电路信号值,STD_LOGIC数据可以包含如下9种不同取值: “0”—正常0 “1”—正常1 “Z”—高阻 “_”—不可能情况 “L”—弱信号0 “H”—弱信号1 “U”—未初始化值 “X ”—未知值 “W”—弱未知信号值 基本语言要素 3) 整数(INTEGER) 整数类型的数代表正整数、负整数和零,表示的范围-(231-1)~(231-1),它与算术整数相似,可进行“+”,“-”,“*”,“/”等算术运算,不能用于逻辑运算。 4) 布尔量(BOOLEAN) 一个布尔量具有两个状态:“真”或“假”。布尔量不属于数值,因此不能用于运算,它只能通过关系运算符获得。 基本语言要素 5) 枚举类型 用户通过枚举类型可以定义数据对象所有可能的取值。文法表示是: TYPE identifier IS (value1, value2, … ); 6) 阵列类型 用户通过阵列类型可以将同一类型的单个数据对象组织成为一维或多维的阵列。文法表示是: TYPE identifier IS ARRAY (range) OF type; 基本语言要素 7) 子类型 子类型是某一个类型的子集。文法表示是: SUBTYPE identifier IS type RANGE range; 5. 数据对象操作运算操作符 在VHDL语言中共用4类操作符,可以分别进行逻辑运算(Logic)、关系运算(Relational)、算术运算(Arithmetic)和并置运算(Concatenation)。被操作符所操作的对象是操作数,且操作数的类型应该和操作符所要求的类型相一致。 基本语言要素 1) 逻辑运算符 NOT(非) OR(或) AND(与) NOR(或非) NAND(与非) XOR(异或) 2) 算术运算符 +(加) -(减) * (乘) / (除) MOD(求模)REM(取余) ABS(取绝对值) ** (乘方) (并置) 基本语言要素 3) 关系运算符 = (等于) /=(不等) (小于) =(小于等于) (大于) = (大于等于) 4) 移位运算符 SLL(逻辑左移) SRL(逻辑右移) SLA(算术左移) SRA(算术右移) ROL(循环右移) ROR(循环右移) 基本语言要素 6. 实体(ENTITY) 实体(ENTITY)定义电路模块的名字和接口,其中接口部分包含了该电路模块的输入和输出信号。文法表示是: ENTITY 实体名 IS PORT ( 端口名和类型 ); END 实体名; 基本语言要素 7. 结构体(ARCHITECTURE) 结构体(ARCHITECTURE)描述电路模块的具体实现。结构体的文法因设计者所采用的电路模块描述方法的不同而不同,通常可以采用数据流(dataflow)模型,行为(behavioral)模型和结构(structural)模型描述法。 基本语言要素 1) 针对数据流模型的结构体文法表示 ARCHITECT

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档