- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]硬件描述语言-基本结构
VHDL的 标识符 标识符是最常用的操作符,标识符规则是VHDL语言中符号书写的一般规则,为EDA工具提供了标准的书写规范。VHDL’93对VHDL’87版本的标识符语法规则进行了扩展,通常称VHDL’87版本标识符为短标识符,VHDL’93版标识符为扩展标识符。 短标识符 VHDL短标识符需遵守以下规则: (1)英文字母、数字(0~9)和下划线都是有效的字符; (2)必须以英文字母开头; (3)下划线(_)的前后都必须有英文字母或数字。 (4)短标识符不区分大小写; (5) 标识符不能使用VHDL语言的关键字,也称作为保留字。 一般的,在书写程序时,应将VHDL的保留字大写或黑体,设计者自己定义的字符小写,以使得程序便于阅读和检查。尽管VHDL仿真综合时不区分大小写,但一个优秀的硬件程序设计师应该养成良好的习惯。 例: 一些合法的标识符: S_MACHINE,counter_adder,adder4 不合法的标识符: countert adder,3states,adder4_ , _first 2.扩展标识符的规则: (1)用反斜杠来界定扩展标识符,如 \control_machine\,\s_block\ 等都是合法的扩展标识符; (2)两个反斜杠之间的标识符可以用数字开头,如 \15BIT\,\5ns\是合法的; (3)扩展标识符允许包含图形符号和空格,如 \s33\,\legal$state\ 是合法的扩展标识符; (4)扩展标识符是区分大小写的,如 \a\ 与 \ A\ 是不同的标识符; (5)两个反斜杠之间的字可以和保留字相同,如 \SIGNAL\,\ENTITY\ 是合法的标识符,与SIGNAL、ENTITY是不同的; (6)扩展标识符允许多个下划线相邻,如 \our_ _entity\ 是合法的扩展标识符(不推荐这种方式); (7)扩展标识符的名字中如果含有一个反斜杠,则用相邻的两个反斜杠来代表它,如 \te\\xe\ 表示该扩展标识符的名字为 te\xe (共5个字符); 在VHDL程序中,通常包含实体(ENTITY)、结构体(ARCHITECTURE)、配置(CONFIGURATION)、包集合(PACKAGE)和库(LIBRARY)5个部分。其中实体和结构体这两个基本结构是必需的,他们可以构成最简单的VHDL程序。 VHDL的结构 库(LIBRARY) 库用于存储和放置可编译的设计单元的集合。 库方便了设计者共享已编译成功的设计成果。 库的描述语句总是放在设计实体的最前面。 库语句的格式为: LIBRARY 库名; USE 库名.程序包名.项目名; 常用库及其程序包 STD: VHDL的标准库 standard:定义了 bit, bit_vector, character, time, integer等数据类型 缺省说明: LIBRARY STD; USE STD.STANDARD.ALL; 常用库及其程序包 IEEE: IEEE认可的标准库 STD_LOGIC_1164:定义了 STD_LOGIC, STD_LOGIC_VECTOR, 等数据类型 USE语句指明库中的程序包。一旦说明了库和程序包,整个设计实体都可以进入访问或调用,但其作用范围仅限于所说明的设计实体。USE语句的使用将使所说明的程序包对本设计实体部分或全部开放。 USE语句有以下两种常用的格式: USE 库名.程序包名.项目名; USE 库名.程序包名.ALL; 库的使用 LIBRARY 库名; USE 库名.程序包名.项目名; 例如: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_1164.STD_LOGIC; 此例中,第一个USE语句表明打开IEEE库中的STD_LOGIC_1164程序包,并使程序包中的所有公共资源对本语句后面的VHDL设计实体程序全部开放,关键词ALL代表程序包中的所有资源。第二个USE语句开放了程序包STD_LOGIC_1164中的STD_LOGIC数据类型。 在使用STD_LOGIC 这个数据类型之前,必须打开该项目,使得设计实体中可以使用。 常用库: STD VHDL的标准库 IEEE IEEE认可的标准
有哪些信誉好的足球投注网站
文档评论(0)