欢迎来到天天文库
浏览记录
ID:50354748
大小:389.50 KB
页数:55页
时间:2020-03-08
《EDA技术及应用 教学课件 作者 吴延海 第1-5章第4章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章 描述语言4.1VHDL标识符4.2VHDL数据对象4.3VHDL数据类型4.4VHDL运算符4.1VHDL标识符1.短标识符VHDL87版中的短标识符遵循以下命名规则: ①有效字符包括英文字母(a~z,A~Z)、数字(0~9)和下划线(_); ②必须以英文字母打头; ③下划线的前后都必须有英文字母或数字; ④EDA工具综合、仿真时,短标识符不区分大小写。2.扩展标识符VHDL93版中的扩展标识符遵循以下命名规则:①用反斜杠来界定,如abc等; ②允许包含图形符号、空格符、多个下划线相连,可以用数字打头,可以用保留字,如AB#CD、x*y、2M_N_P
2、、END等;③扩展标识符区分大小写,如abc与ABC不同; ④同名的扩展标识符与短标识符不表示同一名称,如adder与adder不同。 扩展标识符命名规则使得VHDL中的标识符的定义更加灵活。4.2VHDL数据对象4.2.1常量常量的语句格式为CONSTANT常数名{,常数名}:数据类型:=表达式; 例如:CONSTANTDELAY:REAL:=10.0;CONSTANTFBUS:BIT_VECTOR:=“0101”;常量的特点如下: ①常量一旦被赋值,在仿真和综合过程中就不能再改变; ②常量所赋的值应和定义的数据类型一致; ③常量的作用范围取决于
3、它被定义的位置。4.2.2变量变量的语句格式为VARIABLE变量名{,变量名}:数据类型约束条件[:=表达式]; 例如:VARIABLEcounter:INTEGERRANGE0TO255:=100;VARIABLEa,b,c:INTEGER;变量的特点如下: ①变量是一个局部量,只能在进程和子程序中使用; ②变量的赋值是一种理想化的数据传输,是立即发生的,不存在任何时延。4.2.3信号信号的语句格式为SIGNAL信号名:数据类型约束条件[:=表达式]; 例如:SIGNALdbus:STD_LOGIC_VECTOR(15DOWNTO0);SIGNALsys_clk:BIT:
4、=’0’;信号的特点如下: ①信号是描述硬件系统的基本数据对象,类似于内部硬件连线; ②信号是一个全局量,可以用于进程之间的通信; ③信号可以看成是实体内部的端口(但没有方向说明); ④信号作为一种数值容器,不但可以容纳当前值,也可以保持历史值(与触发器的记忆功能有很好的对应关系)。4.2.4三种数据对象的比较从硬件电路系统来看,常量相当于电路中的恒电平(VCC或GND),变量和信号相当于组合电路系统中门与门间的连线及其连线上的信号值。变量与信号之间,从综合以后对应的硬件结构看,在许多情况下并没有多少区别,它们都具有能够接受赋值这一重要共性(而VHDL综合器不理会延时)。变量
5、与信号之间的主要区别(从VHDL语句功能和行为仿真上看)包括:信号可以设置延时量,而变量则不能;信号可以作为模块间的信息载体,而变量只能作为局部的信息载体。4.3VHDL数据类型VHDL语言的数据类型一般可分为标准的数据类型和用户定义的数据类型。4.3.1标准的数据类型VHDL定义了10种标准的数据类型,如表4-1所示。1.整数(Interger)VHDL语言中的整数与数学中的整数的定义相同,其表示范围为-(231-1)~+(231-1),即-2147483647~2147483647。例如:+473,-86。 在电子系统的开发过程中,整数也可以作为对信号总线状态的一种抽象手段,用来准
6、确地表示总线的某一种状态。2.实数(Real)实数的定义范围为 -1.0E38~+1.0E38,实数有正负号,书写时一定要有小数点。例如:+3.1415,-1.0,-1.0E38。在电子系统的开发过程中,实数主要用于硬件方案的研究和实验。3.位(Bit)位用来表示一个信号的状态,它有两种取值‘0’和‘1’。例如:BIT(‘1’)。 在数字系统中,位数据可以用来描述总线的值。4.位矢量(Bit_Vector)位矢量是用双引号括起来的一组位数据,每位有两种取值‘0’和‘1’。在其前面可加数值标记,如:X(十六进制)、O(八进制)、B(二进制)等。例如:“11001”,X“07AB”。5.
7、布尔量(Boolean)布尔量是二值枚举量,它有两种状态:“TRUE”或者“FALSE”。 在数字系统中,常用布尔量表示信号的状态或者总线上的情况。6.字符(Character)字符是用单引号括起来的一个字母、数字、空格或一些特殊字符。字符区分大、小写。例如:‘A’,CHARACTER(‘1’)。7.字符串(String)字符串是用双引号括起来的一个字符序列。字符串区分大小写,常用于程序的提示和结果的说明
此文档下载收益归作者所有