超大规模集成电路VHDL2.ppt
文本预览下载声明
第2章 VHDL词法基础 2.1 标识符 2.2 数据对象 2.3 数据类型 2.4 类型转换 2.5 词法单元 2.6 运算符与操作符 2.7 属性 2.1 标识符 标识符规则是VHDL语言中符号书写的一般规则。不仅对电子系统设计工程师是一个约束,同时也为各种各样的EDA工具提供了标准的书写规范,使之在综合仿真过程中不生产生歧义,易于仿真。 VHDL语言有两个标准版:VHDL’87版和VHDL’93版。VHDL’87版的标识符语法规则经过扩展后,形成了VHDL’93版的标识符语法规则。前一部分称为短标识符,扩展部分称为扩展标识符。VHDL’93版含有短标识符和扩展标识符两部分。 2.2.4 文件 文件(files)是传输大量数据的客体,包含一些专门数据类型的数值。在仿真测试时,测试的输入激励数据和仿真结果的输出都要用文件来进行。 在IEEE1076标准中,TEXTIO程序包中定义了文件I/O传输的方法。它们是对过程的定义,调用这些过程就能完成数据的传递。 procedure Readline (F:in Text;L:out Line); procedure Writeline(F:out Text;L:in Line); Procedure Read(L:inout Line;Value:out std_logic; Good:out boolean); procedure Read(L:inout Line;Value:out std_logic); procedure Read(L:inout Line;Value:out std_logic_vector; Good:out boolean); 时间单位的描述规范说明如下: TYPE_TIME IS RANGE -2147483647 to 2147483847 UNITS FS; PS = 1000fs; Ns = 1000ps; Us = 1000Ns; Ms = 1000us; Sec = 1000ms; Min = 60 sec; Hr = 60 min; End units; 十进制数表示法 十进制数书写的规范格式为: 十进制文字: := 整数[整数][指数] 整数: := 数字或下划线连接的数字 指数: := E[+]整数或E[-]整数 整数举例:089,0,456-78,2e8,5e3。 实数举例:12.0,0.0,3.14159,1.2E-3,2.4e+5。 基表示法 用“基”表示数字的规范书定格式为: 被表示的数: := 基#基于基的整数[.基于基的整数]#指数 基为2~16之间的十进制正整数。#号为定界符,基为10时可省略定界符和基。 基于基的整数: := 扩展数字{[下划线]扩展数字} 扩展数字: := 数字/字母 因为十六进制数中,大于9以上的数字用A,B,C,D,E,F表示,此处数字不再是0~9共10个符号,而是扩展到0~F共16个符号表示数字,后者相对于前者称为扩展数字。 指数: := E[+]整数或E[-]整数 整数举例:十进制值为255的数,用基表示法,写为: 2 -- 二进制表示法 8#377# -- 八进制表示法 16#FF# -- 十六进制表示法 实数0.5的表示: 2#0.100# 8#0.4# 16#0.8# 2#1#E-1 8#4#E-1 16#8#E-1 字符为单引号括起来的ASCII字符,其规范书写格式为: 字符文字: := ‘图形字符’ 例如‘1’,‘A’,‘F’…。 字符串为双引号括起来的图形字符序列。规范书写格式为: 字符串文字: := “{图形字符}” 例如:“PCI BUS interface”, “This string constain an information”。 位串是被双引号括起来的数字序列,其前冠以基数说明符;如,B“0110_1111”,O“117”,X“FFE0”; 注意:相邻数字之间插入下划线只为增加可读性,对数值无影响 关键字、标识符:不区分大小写; 注释:‘--’,且只在该文本行有效; 分隔:‘;’为行分隔,VHDL的语句行可写在不同文本行中 ; 空格:除关键字、标识符自身中间不能插入空格外,其他地方可插入任意数目的空格 ; (4)时间(TIME)类型(物理类型)。表示时间的数据类型, 在仿真时是必不可少的。 时间类型定义的一般格式为: TYPE 数据类型名 IS 范围; UNITS
显示全部