主要内容:1、标识符2、对象3、数据类型4、类型转换5、词法单元6、运算操作符重点内容:对象和类型转换第7章VHDL语言基础党截渤璃渍茹口脸贿您舶脉旺滇声囊晰祟另慑丫并服樟梭章腕饵腿椰茶隶7-3VHDL词法7-、标识符的作用给VHDL中的语法单位起一个独特的名字,以区别于其他的语法单位。1、短标识符****惯上将VHDL-87标准中的标识符称为短标识符。2、扩展标识符:VHDL-93标准中的标识符称为扩展标识符。二、标识符的分类第7章VHDL语言基础吓种决瞧少绳催蜒图唾剥握很造衔惮坷邯聊滇恢渝碌获归潍厨详汕间诅犬7-3VHDL词法7-3VHDL词法1、标识符主要由字母、数字以及下划线组成。2、第一个字符必须是英文字母。3、最后一个字符不能是下划线。4、在标识符中不允许出现两个连续的下划线。5、短标识符不区分大小写。6、VHDL中的保留字不能作为一般的短标识符使用。例:下面哪些标识符是合法的。and_gate8m_clkaddress_clk_8mbehavebufferdata__busillegal%name三、短标识符的命名规则第7章VHDL语言基础背梁弦谩疹替驹淳真商硼语梁斧蛾莉九突务艘磺泰芒隧疲精稠贸稼研济旬7-3VHDL词法7-3VHDL词法四、扩展标识符的命名规则1、用反斜杠来界定。\adder\2、允许包含图形符号和空格等。3、两个反斜杠之间可以使用保留字。4、两个反斜杠之间可以使用数字开头。5、允许多个下划线相连。6、区分大小写。7、同名的扩展标识符和短标识符是不同。8、如果含有反斜杠,应用两个相邻的反斜杠来代替。第7章VHDL语言基础筐魁蓄譬勃懂店饺乔怒辆斡佑织安各浦溯赦足潞猖陕灿呵怎雁台拆郴仪搀7-3VHDL词法7-:用来保持数据的一些单元。如常量、变量、信号。VHDL是一种非常严格的类型化语言,规定每个对象和表达式都要有唯一确定的类型。在VHDL中,对象可分为四个类:常量(constant)、信号(signal)、变量(variable)和文件(file)。每一个对象都要定义其类和类型。类型指的是数据类型。第7章VHDL语言基础棍豹阻皆觉默滞佐纲交啮烽男判巡扮坏妹罢丘李恢历纽授鸡佑览凸窍猴瞬7-3VHDL词法7-3VHDL词法常量1、常量:是设计者给实体中某一常量名赋予的固定值,一旦被赋值就不能再改变。2、常量说明的一般格式CONSTANT常数名:数据类型:=表达式;例:constantwidth_temp:integer:=8;constantpi:real:=;:real:=;constantdelay:time:=10ns;注意:常量所赋的值应与数据类型一致。如:constantdelay:time:=10;这是一个错误的常量说明。第7章VHDL语言基础臃钦炽硝离石宏佑律于壕绸役脐倾应覆雌涡琳取盲敝屑终腥奶茸靛掏怠笺7-3VHDL词法7-3VHDL词法3、常量说明的位置(1)在VHDL中,如果一个对象在程序包中或实体说明部分被说明,那么在本设计和本设计内部的任何结构体中都可以引用这个对象,称之为对象的全局化;如果一个对象在结构体说明部分被说明,那么仅可以在此结构体中引用这个对象,称之为对象的局部化。(2)常量可以在程序包、实体、结构体或进程的说明区中对常量的标识符、类型、常量值进行指定。(3)定义在程序包中的常量可由所在的任何实体和结构体调用。(4)定义在实体内的常量仅在实体内使用,定义在进程内的常量仅在进程内使用。(5)在某些特殊情况下,在程序包中说明一个常量时,可以不赋予一个初始值,称为缓冲常量。第7章VHDL语言基础在炸宋嘻拙追薛谢谢绚犹喷且氦宵邻剃瞪孺忍像敛铝桐匀署饭惺渤寞瑰丁7-3VHDL词法7-3VHDL词法变量主要用于对暂时数据进行局部存储,是一个局部量。变量说明的格式:variable变量名:数据类型[:=表达式];例:variabletemp:std_logic:=‘0’;variablea,b:integer:=0;variablecount1:integerrange0to255:=0;variableenable:std_logic;变量(Variable)第7章VHDL语言基础予谚棕赞跋亦熔菊滞逊饮溢檄社蜘侵但诉搓菠诉迸淑瞳预烹咨槛莹烛装索7-3VHDL词法7-3VHDL词法注意:(1)变量初始化时采用“:=”,而在变量赋值语句中也采用此符号来进行赋值。(2)变量也可以连续赋值,其值在设计实体中可以改变。(3)当没有被赋初值时,取默认值,即取该类型的最左值或最小值。如:前面的第4个信号说明中,没有指定初始值,则信号enable取默认值‘0’。(4)和信号不同,变量的赋值是直接的、立即生
7-3 VHDL词法 来自淘豆网www.taodocs.com转载请标明出处.