esTc 设计中 电子设计自动化技术 教师:李平教授(博导) Email: pliQuestc. edu.cn Te:83201794 2004年5月
设计中心 电子设计自动化技术 教师:李平教授(博导) Email: pli@uestc.edu.cn Tel: 83201794 2004年5月
esTc 设计中 电子设计自动化技术 第四章 VHDL中的语言要素
设计中心 电子设计自动化技术 第四章 VHDL中的语言要素
esTc 设计中 本章要点 Ⅶ与其他软件编程语言一样,对标志 待和数据格式等具有详细的规定。 在编写Ⅷ程序时必须完全守这些规 定。 对于初学者不可能在短时间内完全记住 每一条规定,可以在编译时,由围A工具 指出错误后,如以更欧。 本章的学习应特别注重“理解”,而不要 死记硬背
设计中心 本章要点 • VHDL与其他软件编程语言一样,对标志 符和数据格式等具有详细的规定。 • 在编写VHDL程序时必须完全遵守这些规 定。 • 对于初学者不可能在短时间内完全记住 每一条规定,可以在编译时,由EDA工具 指出错误后,加以更改。 • 本章的学习应特别注重“理解”,而不要 死记硬背
esTc 设计中 VHDL中的语言要素 标识符 操作符 数据类型 数据对象 对象的申明
设计中心 VHDL中的语言要素 • 标识符 • 操作符 • 数据类型 • 数据对象 • 对象的申明
esTc 设计中 基本标识符的书写规则 ·有效的字符是小写字母(a.),大写字母 (A..Z),数字(0.9)以及划线“-”。 标识符必须以英文字母开头,最后一个字不能是下 划线。 不区分大小写。 两个划线不能连续出现。若出现则成了注释语句 举例: drive-bus const32-59 r2d2 ram address
设计中心 基本标识符的书写规则 • 有效的字符是小写字母(a…z), 大 写 字 母 (A…Z),数字(0…9)以及划线“-”。 • 标识符必须以英文字母开头,最后一个字不能是下 划线。 • 不区分大小写。 • 两个划线不能连续出现。若出现则成了注释语句。 举例: drive-bus const32-59 r2d2 ram_address
esTc 设计中 操作符 ·逻辑运算符:逻辑运算( Logical) ·算术运算符:算术运算( Arithmetic) 关系运算符:关系运算( Relational) 并置运算符:并置运算( Concatenation) 需要注意 A.被操作符所操作的对象是操作数,且操作数 的类型应该和操作符所要求的类型相致。 B.运算操作符是有优先级的,例如逻辑运算符 N0T,在所有操作符中其优先级最高。表4-1 示出了所有操作符的优先次序
设计中心 操作符 • 逻辑运算符 :逻辑运算(Logical) • 算术运算符 :算术运算(Arithmetic) • 关系运算符 :关系运算(Relational) • 并置运算符 :并置运算(Concatenation) 需要注意 A. 被操作符所操作的对象是操作数,且操作数 的类型应该和操作符所要求的类型相一致。 B. 运算操作符是有优先级的,例如逻辑运算符 NOT,在所有操作符中其优先级最高。表4-1 示出了所有操作符的优先次序
表4-1操作符的优先级 优先级顺序运算操作符类型可操作符功能 低4 AND+ 逻罗辑与 OR+ 逻辑或φ 逻辑运算符 NAND+ 逻辑与非φ XOP+ 逻辑异或φ 等 不等号 < 关系运算符4 小于 大于 <=4 小于等大于 =4 大于等于φ 4 力 加、减、并置运算 符 减中 & 并置 4 正、负运算符← 正 负 乘4 乘法运算符 除 MODe 求模 REM+ 取余4 指效 鸟BS 取绝对值 取反
设计中心
esTc 设计中 逻辑运算符 在WDL中舞运算符共有6种,它们分别是: ·NOT取反 AND—一与; OR—或; NAND与非 NOR——或非 XOR—异或
设计中心 逻辑运算符 在VHDL中逻辑运算符共有6种,它们分别是: • NOT——取反; • AND——与; • OR——或; • NAND——与非; • NOR——或非; • XOR——异或
esTc 设计中 逻辑运算符 ·必须注意,运算符的左边和右边,以及代入的 信号的数据类型必须是相同的。 当一个语句中存在两个以上的逻辑表达式时, 在ⅥIDL中,左右没有优先级差别。 K(aAMb)OR( NOT c ANd d);一必须要括号 如果逻辑表达式中只有“AND",“OR”,“XOR"运算 ,那么改变运算顺序不会导致逻辑变化。」 a=b andc and d aNd e a=b or c xor d xor e
设计中心 逻辑运算符 • 必须注意,运算符的左边和右边,以及代入的 信号的数据类型必须是相同的。 • 当一个语句中存在两个以上的逻辑表达式时, 在VHDL中,左右没有优先级差别。 X<=(a AND b)OR (NOT c AND d);--必须要括号 • 如果逻辑表达式中只有“AND”,“OR”,“XOR”运算 符,那么改变运算顺序不会导致逻辑变化。 a<=b AND c AND d AND e ; a<=b XOR c XOR d XOR e ;
esTc 设计中 算术运算符 VD有10种算术运算符,它们分别是 加减 剩除 MOD—一求模; REM—取余; +—一正;(一元运算) 负(一元运算) 指数 ABS—取绝对值
设计中心 算术运算符 VHDL有10种算术运算符,它们分别是: • + ——加; • -——减; • *——乘; • / ——除; • MOD——求模; • REM——取余; • + ——正;(一元运算) • -——负(一元运算) • ** ——指数; • ABS——取绝对值