第三讲 vhdl字符及数据类型

第三讲 vhdl字符及数据类型

ID:19559087

大小:690.50 KB

页数:41页

时间:2018-10-03

第三讲 vhdl字符及数据类型_第1页
第三讲 vhdl字符及数据类型_第2页
第三讲 vhdl字符及数据类型_第3页
第三讲 vhdl字符及数据类型_第4页
第三讲 vhdl字符及数据类型_第5页
资源描述:

《第三讲 vhdl字符及数据类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VHDL字符及数据类型1VHDL词法规则与标识符VHDL语言的数据类型VHDL的语言要素,作为硬件描述语言的基本结构元素,主要有:数据对象数据类型各类操作数及运算操作符VHDL词法规则与标识符而这些基本元素都是由VHDL文字组成,而VHDL文字主要包括词法构成(注释,数字,字符(串),下标)和标识符。词法规则注释为了提高VHDL源程序的可读性,在VHDL中可以写入注释。注释以--开头直到本行末尾的一段文字。在quartusⅡ中可以看见,敲入--之后,后面字体的颜色就发生改变。注释不是VHDL设计描述的一部分,编译后存入数据库

2、中的信息不包含注释。注释举例:Q:OUTSTD_LOGIC_VECTOR(0TO11);--A/D转换数据输出显示(行注释)--SRAM数据写入控制状态机(段注释)WRIT_STATE:PROCESS(clk,rst)--SRAM写入控制状态机时序电路进程数字型文字可以有多种表达方式:可以是十进制数,也可以表示为二进制、八进制或十六进制等为基的数,可以是整数,也可以是含有小数点的浮点数。数字十进制整数表示法:如:012578_456(=78456)2E6在相邻数字之间插入下划线,对十进制数值不产生影响,仅仅是为了提高文字的可

3、读性。允许在数字之前冠以若干个0,但不允许在数字之间存在空格。以基表示的数:用这种方式表示的数由五个部分组成。第一部分,用十进制数标明数值进位的基数;第二部分,数值隔离符号“#”;第三部分,表达的文字;第四部分,指数隔离符号“#”;第五部分,用十进制表示的指数部分,这一部分的数如果为0可以省去不写。SIGNALd1,d2,d3,d4,d5:INTEGERRANGE0TO255;d1<=10#170#;--(十进制表示,等于170)d2<=16#FE#;--(十六进制表示,等于254)d3<=2#1111_1110#;--(二

4、进制表示,等于254)d4<=8#376#;--(八进制表示,等于254)d5<=16#E#E1;--(十六进制表示,等于2#1110000#,等于224)实数:实数必须带有小数点。如:12.00.03.146_741_113.66652.6E-2物理量文字:综合器不支持物理量文字的综合。如:60s(秒)100m(米)10A(安培)字符和字符串字符用单引号引起来的ASCⅡ字符,可以是数值,也可以是符号或字母。如:‘E’,‘e’,‘$’,‘23’,‘A’…字符串一维的字符数组,需放在双引号中。有两种类型的字符串:文字字符串和位

5、矢量字符串。文字字符串是用双引号引起来的一串文字。如:“FALSE”,“X”,“THISISEND”位矢量字符串被双引号引起来的扩展的数字序列,数字序列前冠以基数说明符。基数符有“B”、“O”、“X”,他们的含义如下。B:二进制基数符号,表示二进制位0或1,在字符串中每一个位表示一个BIT。O:八进制基数符号,在字符串中每一个数代表一个八进制数,即代表一个3位(BIT)的二进制数。X:十六进制基数符号,代表一个十六进制数,即代表一个4位二进制数。例如:B“1011_1111”,O“152”,X“F821”下标名下标名用于指示

6、数组型变量或信号的某一元素。SIGNALa,b:BIT_VECTOR(0TO3);SIGNALs:INTEGERRANGE0TO2;SIGNALx,y:BIT;x<=a(s);y<=b(3);上例中,a(s)为一下标语句,s是不可计算的下标名,只能在特定情况下进行综合;b(3)的下标为3,可以进行综合。s,3均为下标!!标识符是最常用的操作符,可以是常数、变量、信号、端口、子程序或参数的名字。标识符规则是VHDL语言中符号书写的一般规则,为EDA工具提供了标准的书写规范。VHDL’87版本标识符为短标识符VHDL’93版标识

7、符为扩展标识符。标识符短标识符VHDL短标识符需遵守以下规则:必须以英文字母开头;英文字母、数字(0~9)和下划线都是有效的字符;短标识符不区分大小写;下划线(_)的前后都必须有英文字母或数字。一般的,在书写程序时,应将VHDL的保留字大写或黑体,设计者自己定义的字符小写,以使得程序便于阅读和检查。尽管VHDL仿真综合时不区分大小写,但一个优秀的硬件程序设计师应该养成良好的习惯。例:合法的标识符:S_MACHINE,present_state,sig3不合法的标识符:present-state,3states,cons_,_

8、now,entity,_sig为什么它们是不合法的?扩展标识符扩展标识符的识别和书写有下面的规则:用反斜杠来界定扩展标识符如control_machine,s_block等都是合法的扩展标识符扩展标识符允许包含图形符号和空格如s&33,legal$state是合法的扩展标识

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。