第5章 VHDL语言的对象和数据类 型及运算操作符
第5章 VHDL语言的对象和数据类 型及运算操作符
EDA技术讲义 5VHDL文字规则 511数字 整数:整数都是十进制的数,如: 5,678,0,156E2(=15600),45234287(=45234287) 实数:实数也都是十进制的数,但必须带有小数点 1.35,88670551.453909(88670551453909),1.0,44.99E-2(=0.4499 以数制基数表示的文字:用这种方式表示的数由五个部分组成。 SIGNAL dId2. d3. d4. d5: INTEGER RANGE TO 255 d1<=10#170# (十进制表示,等于十进制170 d2<=16#FE#; (十六进制表示,等于十进制254) d3<=2#11111110# (二进制表示,等于十进制254) d4<=8#376# (八进制表示,等于十进制254 d5<=16#E#E1; (十六进制表示,等于十进制224) 物理量文字(VHDL综合器不接受此类文字)。如 60s(60秒),100m(100米),kg(千欧姆),177A(177安培)
EDA技术讲义 5.1 VHDL文字规则 5.1.1 数字 整数:整数都是十进制的数,如: 5, 678, 0, 156E2(=15600), 45_234_287 (=45234287) 实数:实数也都是十进制的数,但必须带有小数点,如: 1.335,88_670_551.453_909(=88670551.453909),1.0,44.99E-2(=0.4499) 以数制基数表示的文字:用这种方式表示的数由五个部分组成。 SIGNAL d1,d2,d3,d4,d5 : INTEGER RANGE 0 TO 255; d1 <= 10#170# ; -- (十进制表示,等于十进制170) d2 <= 16#FE# ; -- (十六进制表示,等于十进制 254) d3 <= 2#1111_1110#; -- (二进制表示,等于十进制254) d4 <= 8#376# ; -- (八进制表示,等于十进制254) d5 <= 16#E#E1 ; -- (十六进制表示,等于十进制224) 物理量文字(VHDL综合器不接受此类文字)。如: 60s (60秒), 100m(100米), kΩ (千欧姆), 177A(177安培)
EDA技术讲义 51VHDL文字规贝 512字符串 (1)字符用单引号括起来的ASCⅡ字符,如:R,a',1, (2)文字字符串"ERQR"," Both s and q equal to","x","BsCc" (3)数位字符串 B:二进制基数符号,表示二进制位0或1,在字符串中的每位表示一个Bit O:八进制基数符号,在字符串中的每一个数代表一个八进制数,即代表一个3 位(B的二进制数。 X:十六进制基数符号(0~F),代表一个十六进制数,即一个4位的二进制数。 data1<=B"l11011110 二进制数数组,位矢数组长度是9 data2<=0"15 八进制数数组,位矢数组长度是6 data3<=XADO 十六进制数数组,位矢数组长度是12 data4<=B"101010101010”二进制数数组,位矢数组长度是12 data5<="101010101010”-表达错误,缺B。 data6<= OADO'I 表达错误,缺X
EDA技术讲义 5.1 VHDL文字规则 5.1.2 字符串 (2)文字字符串 (3)数位字符串 用单引号括起来的ASCII字符,如:‘R’,’a’,’1’, ’-’ B:二进制基数符号,表示二进制位0或1,在字符串中的每位表示一个Bit。 O:八进制基数符号,在字符串中的每一个数代表一个八进制数,即代表一个3 位(BIT)的二进制数。 X:十六进制基数符号(0~F),代表一个十六进制数,即一个4位的二进制数。 data1 <= B"1_1101_1110" -- 二进制数数组,位矢数组长度是9 data2 <= O"15" -- 八进制数数组,位矢数组长度是6 data3 <= X"AD0" -- 十六进制数数组,位矢数组长度是12 data4 <= B"101_010_101_010" -- 二进制数数组,位矢数组长度是12 data5 <= "101_010_101_010" --表达错误,缺B。 data6 <= "0AD0" --表达错误,缺X。 (1)字符 "ERROR" , "Both S and Q equal to 1" , "X" , "BB$CC
EDA技术讲义 51VHDL文字规贝 513标识符 标识符是最常用的操作符,可以是常数、变量、信号、端口、子程序 或参数的名字。ⅤHDL基本标识符的书写需遵循如下规则: ●有效的字符:包括26个大小写英文字母,数字包括0~9以及下划线“” ●任何标识符必须以英文字母开头。 ●必须是单一下划线“”,且其前后都必须有英文字母或数字 标识符中的英语字母不分大小写。 允许包含图形符号(如回车符、换行符等),也允许包含空格符 法的标识符 A fft, and 4, max2uc 非法的标识符: 21A. fft, and 4, max#2uc, a-b, return
EDA技术讲义 5.1 VHDL文字规则 5.1.3 标识符 标识符是最常用的操作符,可以是常数、变量、信号、端口、子程序 或参数的名字。VHDL基本标识符的书写需遵循如下规则: l有效的字符:包括26个大小写英文字母,数字包括0~9 以及下划线“_” 。 l任何标识符必须以英文字母开头。 l必须是单一下划线“_”,且其前后都必须有英文字母或数字。 l标识符中的英语字母不分大小写。 l允许包含图形符号(如回车符、换行符等),也允许包含空格符。 合法的标识符: A, fft,and_4,max2uc 非法的标识符: 21A, _fft,and_ _4, max#2uc,a-b,return
EDA技术讲义 51VHDL文字规贝 514下标名 下标名用于指示数组型变量或信号的某一元素。 格式:标识符(表达式 标识符必须是数组型的变量或信号的名字,表达式所代表的值必须是数 组下标范围中的一个值,这个值将对应数组中的一个元素。如果这个表达 式是一个可计算的值,则此操作数可很容易地进行综合。如果是不可计算 的,则只能在特定的情况下综合。 下例的两个下标名中一个是m,属不可计算,另一个是3,属可计算的 SIGNAL a, b: BIT VECTOR(OTO 3): SIGNAL M INTEGER RANGE 0TO 3 SIGNAL y, z: BIT; y<=a(m); 不可计算型下标表示 z<=b(3); -可计算型下标表示
EDA技术讲义 5.1 VHDL文字规则 5.1.4 下标名 下标名用于指示数组型变量或信号的某一元素。 格式:标识符(表达式) 标识符必须是数组型的变量或信号的名字,表达式所代表的值必须是数 组下标范围中的一个值,这个值将对应数组中的一个元素。如果这个表达 式是一个可计算的值,则此操作数可很容易地进行综合。如果是不可计算 的,则只能在特定的情况下综合。 下例的两个下标名中一个是m,属不可计算,另一个是3,属可计算的。 SIGNAL a,b : BIT_VECTOR (0 TO 3) ; SIGNAL m : INTEGER RANGE 0 TO 3 ; SIGNAL y,z : BIT ; y <= a(m) ; -- 不可计算型下标表示 z <= b(3) ; -- 可计算型下标表示