欢迎来到天天文库
浏览记录
ID:39963945
大小:986.50 KB
页数:82页
时间:2019-07-16
《eda第4章vhdl基础文字规则与操作符(4.3-4.4)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、4.3VHDL的数据及文字规则4.3.1VHDL文字规则VHDL文字(Literal)主要包括数值和标识符。数值型文字主要有数字型、字符串型和位串型等。1、数字型文字数字型文字的值有多种表达方式,现列举如下:(1)整数文字:都是十进制的整数,如:5,678,0,156E2(=15600),45_234_287(=45234287)(2)实数文字:实数文字也都是十进制的数,但必须带有小数点,如:188.993,88_670_551.453_909(=88670551.453909),1.0,44.99E-2(=0.4499),1.33
2、5,0.0(3)以数制基数表示的文字:用这种方式表示的数由五个部分组成。第一部分,用十进制数标明数制进位的基数;第二部分,数制隔离符号“#”;第三部分,表达的文字;第四部分,指数隔离符号“#”;第五部分,用十进制表示的指数部分,这一部分的数如果是0可以省去不写。现举例如下:10#170#--(十进制数表示,等于170)2#1111_1110#--(二进制数表示,等于254)16#FE#--(十六进制数表示,等于254)16#F.01#E+2--(十六进制数表示,等于3841.00)(4)物理量文字(VHDL综合器不接受此类文字)。如
3、:60s(60秒),100m(100米),kΩ(千欧姆),177A(177安培)2.字符串型文字字符是用单引号引起来的ASCII字符,可以是数值,也可以是符号或字母,如:‘R’,‘A’,‘*’,‘Z’。而字符串则是一维的字符数组,须放在双引号中。VHDL中有两种类型的字符串:文字字符串和数位字符串。(1)文字字符串:文字字符串是用双引号引起来的一串文字,如:“ERROR”,“BOTHSANDQEQUATOL”,“X”,“BB$CC”(2)数位字符串:数位字符串也称位矢量,是预定义的数据类型BIT的一维数组,它们所代表的是二进制、八进
4、制或十六进制的数组,其位矢量的长度即为等值的二进制数的位数。数位字符串的表示首先要有计算基数,然后将该基数表示的值放在双引号中,基数符以“B”、“O”和“X”表示,并放在字符串的前面。它们的含义分别是:B:二进制基数符号,表示二进制数位0或1,在字符串中每一个位表示一个BIT。O:八进制基数符号,在字符串中的每一个数代表一个八进制数,即代表一个3位(BIT)的二进制数。X:十六进制基数符号(0~F),字符串中的每一位代表一个十六进制数,即代表一个4位的二进制数。例如:B“1_1101_1110”--二进制数数组,位矢数组长度是9O“
5、15”--八进制数数组,位矢数组长度是6X“AD0”--十六进制数数组,位矢数组长度是123.标识符用来定义常数、变量、信号、端口、子程序或参数的名字。规则:有效的字符:包括26个大小写英文字母,数字包括0~9以及下划线“_”。任何标识符必须以英文字母开头。必须是单一下划线“_”,且其前后都必须有英文字母或数字。标识符中的英语字母不分大小写。VHDL的保留字不能用于作为标识符使用。标识符举例例:_DecoderF2fft,sig_#n,data__bus,returnFFT,sig_n,state0,return1VHDL‘93版支
6、持扩展标识符。4.下标名指示数组型变量或信号的某一元素。表达形式:语句格式:标识符(表达式)如:Signala,b:bit_vector(0to3);Signalm:integerrange0to3;Signalx,y:bity<=a(m);--不可计算型下标表示z<=b(3);--可计算型下标表示对应数组中某一段元素,是多个下标名的组合。表达形式:标识符(表达式方向表达式)方向-----To由低到高DOWNTO由高到低如:signala,z:bit_vector(0to7);--8位位矢量z(0to3)<=a(4to7);--以段
7、的方式进行赋值z(4to7)<=a(0to3);--以段的方式进行赋值5.段名4.3.2VHDL数据对象在VHDL中,数据对象(DataObjects)类似于一种容器,它接受不同数据类型的赋值。数据对象有四种,即常量(CONSTANT)、变量(VARIABLE)、信号(SIGNAL)和文件(FILE)。1.常量(CONSTANT)常量的定义和设置主要是为了使设计实体中的常数更容易阅读和修改。例如,将位矢的宽度定义为一个常量,只要修改这个常量就能很容易地改变宽度,从而改变硬件结构。在程序中,常量是一个恒定不变的值,一旦作了数据类型的赋
8、值定义后,在程序中不能再改变,因而具有全局意义。常量的定义形式如下:CONSTANT常量名:数据类型:=表达式;例如:CONSTANTFBUS﹕BIT_VECTOR:=“010110”;CONSTANTVCC﹕REAL:=5.0;CO
此文档下载收益归作者所有