数据类型数据对象.ppt
《数据类型数据对象.ppt》由会员分享,可在线阅读,更多相关《数据类型数据对象.ppt(30页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、4 VHDL4 VHDL语言的数据类型语言的数据类型及运算操作符及运算操作符数据对象数据对象数据对象数据对象数据类型数据类型数据类型数据类型运算操作符运算操作符运算操作符运算操作符常量常量常量常量变量变量变量变量信号信号信号信号标准数据类型标准数据类型标准数据类型标准数据类型自定义数据类型自定义数据类型自定义数据类型自定义数据类型算术算术算术算术逻辑逻辑逻辑逻辑关系关系关系关系并置并置并置并置4.1 4.1 4.1 4.1 数据对象数据对象数据对象数据对象(Data ObjectData ObjectData ObjectData Object)及其分类及其分类及其分类及其分类凡是可以赋予一个
2、值的对象称为数据对象凡是可以赋予一个值的对象称为数据对象凡是可以赋予一个值的对象称为数据对象凡是可以赋予一个值的对象称为数据对象。数据对象数据对象数据对象数据对象 类(类(类(类(CLASSCLASS):信号(:信号(:信号(:信号(signalsignal),变量(),变量(),变量(),变量(variablevariable),常量),常量),常量),常量(constantconstant)类型(类型(类型(类型(DATA TYPESDATA TYPES):位、位矢量、:位、位矢量、:位、位矢量、:位、位矢量、stdstd、整数、实数等整数、实数等整数、实数等整数、实数等例:例:例:例:类
3、类类类 对象对象对象对象 数据类型数据类型数据类型数据类型 signal asignal a:bit bit;类(类(类(类(CLASSCLASS)数据类型(数据类型(数据类型(数据类型(DATA TYPESDATA TYPES)、)、)、)、名字(名字(名字(名字(NAMENAME)。)。)。)。数据对象的分类:信号数据对象的分类:信号数据对象的分类:信号数据对象的分类:信号、变量变量变量变量、常数常数常数常数。常数:常数:常数:常数:表示物理设计中那些不变的量表示物理设计中那些不变的量表示物理设计中那些不变的量表示物理设计中那些不变的量信信信信号号号号:表表表表示示示示物物物物理理理理设设
4、设设计计计计中中中中的的的的某某某某一一一一条条条条硬硬硬硬件件件件连连连连接接接接线线线线,也也也也可可可可以以以以表示寄存器。表示寄存器。表示寄存器。表示寄存器。变量:变量:变量:变量:电路暂存某些值的载体电路暂存某些值的载体电路暂存某些值的载体电路暂存某些值的载体数据对象的特征:允许被赋值、具有一定的数据类型数据对象的特征:允许被赋值、具有一定的数据类型数据对象的特征:允许被赋值、具有一定的数据类型数据对象的特征:允许被赋值、具有一定的数据类型对象仅在其说明区域可见,区域外不可见对象仅在其说明区域可见,区域外不可见对象仅在其说明区域可见,区域外不可见对象仅在其说明区域可见,区域外不可见例
5、:作用域为整个构造体的客体的定义例:作用域为整个构造体的客体的定义例:作用域为整个构造体的客体的定义例:作用域为整个构造体的客体的定义 ARCHITECTURE rtl Of name ISARCHITECTURE rtl Of name IS SIGNAL a SIGNAL a:BITBIT;BEGINBEGIN .END rtl;END rtl;在构造体中的任何位置,都可以使用这个信号在构造体中的任何位置,都可以使用这个信号在构造体中的任何位置,都可以使用这个信号在构造体中的任何位置,都可以使用这个信号a a。4.1.1 4.1.1 4.1.1 4.1.1 常数常数常数常数:在设计描述之中
6、不会变化的值在设计描述之中不会变化的值在设计描述之中不会变化的值在设计描述之中不会变化的值CONSTANT CONSTANT 常数名:数据类型:常数名:数据类型:常数名:数据类型:常数名:数据类型:=表达式;表达式;表达式;表达式;常数所赋的值应和所定义的数据类型一致常数所赋的值应和所定义的数据类型一致常数所赋的值应和所定义的数据类型一致常数所赋的值应和所定义的数据类型一致例:例:例:例:CONSTANT VccCONSTANT Vcc:realreal:=“0101”=“0101”;错错错错误误误误,因因因因为为为为所所所所赋赋赋赋的的的的值值值值与与与与所所所所定定定定义义义义的的的的数数
7、数数据据据据类类类类型型型型不不不不一一一一致致致致,一个为实数,一个为位矢量。一个为实数,一个为位矢量。一个为实数,一个为位矢量。一个为实数,一个为位矢量。物理含义:可以代表数字电路中的电源、接地、计数物理含义:可以代表数字电路中的电源、接地、计数物理含义:可以代表数字电路中的电源、接地、计数物理含义:可以代表数字电路中的电源、接地、计数器模值等器模值等器模值等器模值等例:例:例:例:CONSTANT VccCONSTANT Vcc:realreal:=5.0=5.0;4.1.2 4.1.2 4.1.2 4.1.2 变量变量变量变量(variable(variable(variable(va
8、riable)变量仅仅用于进程和子程序,是一个局部量,作用范围变量仅仅用于进程和子程序,是一个局部量,作用范围变量仅仅用于进程和子程序,是一个局部量,作用范围变量仅仅用于进程和子程序,是一个局部量,作用范围仅限于定义该变量的模块。仅限于定义该变量的模块。仅限于定义该变量的模块。仅限于定义该变量的模块。说明格式如下:说明格式如下:说明格式如下:说明格式如下:VARIABLE VARIABLE 变量名变量名变量名变量名:数据类型数据类型数据类型数据类型:=:=表达式表达式表达式表达式;变量的赋值采用变量的赋值采用变量的赋值采用变量的赋值采用“:=:=”,赋值后立即生效。,赋值后立即生效。,赋值后立
9、即生效。,赋值后立即生效。例:变量在定义时赋值例:变量在定义时赋值例:变量在定义时赋值例:变量在定义时赋值 VARIABLE B:INTEGER:=1;VARIABLE B:INTEGER:=1;变量可以在定义时被赋初值;也可以在进程中被赋值变量可以在定义时被赋初值;也可以在进程中被赋值变量可以在定义时被赋初值;也可以在进程中被赋值变量可以在定义时被赋初值;也可以在进程中被赋值例:变量在进程中被赋值例:变量在进程中被赋值例:变量在进程中被赋值例:变量在进程中被赋值PROCESSPROCESS()variable A variable A:BIT_VECTOR;BIT_VECTOR;BEGINB
10、EGIN .A:=”01010”;A:=”01010”;.END PROCESS;END PROCESS;对对于于综综合合来来说说,变变量量通通常常用用于于计计算算的的目目的的,但但它它的的综综合合比比较较难难于于定定义义,或或者者综综合合后后占占用用大大量量的的资资源源。因因此此,在在设设计计中中尽尽量量避避免免采采用用变变量量。除除非非在在那那些我们有信心可预言结果的场合。些我们有信心可预言结果的场合。4.1.3 4.1.3 4.1.3 4.1.3 信号(信号(信号(信号(signalsignalsignalsignal)信号能够代表连线,是电子电路内硬件连接的抽象信号能够代表连线,是电子
11、电路内硬件连接的抽象信号能够代表连线,是电子电路内硬件连接的抽象信号能够代表连线,是电子电路内硬件连接的抽象声明内部信号声明内部信号声明内部信号声明内部信号没有数据流动方向没有数据流动方向没有数据流动方向没有数据流动方向SIGNAL SIGNAL 信号名信号名信号名信号名:数据类型数据类型数据类型数据类型:=:=表达式表达式表达式表达式;例例例例:SIGNAL COUNT:BIT:=0;SIGNAL COUNT:BIT:=0;信号在定义时赋初值,信号在定义时赋初值,信号在定义时赋初值,信号在定义时赋初值,用用用用“:“:=”代入符代入符代入符代入符在程序中,信号的赋值采用在程序中,信号的赋值采
12、用在程序中,信号的赋值采用在程序中,信号的赋值采用“=”“=”代入符代入符代入符代入符例:例:例:例:SIGNAL S1,S2:STD_LOGIC;SIGNAL S1,S2:STD_LOGIC;S2=1;S2=1;S1=S2;S1=S2;信号的代入可以附加延时信号的代入可以附加延时信号的代入可以附加延时信号的代入可以附加延时例如:例如:例如:例如:signal countsignal count:bitbit:=0 after 10ns;=0 after 10ns;信号可以在程序中被重新赋值信号可以在程序中被重新赋值信号可以在程序中被重新赋值信号可以在程序中被重新赋值4.4.4.4.2 2 2
13、 2 运算操作符运算操作符运算操作符运算操作符按优先级的顺序依次(低到高)为按优先级的顺序依次(低到高)为按优先级的顺序依次(低到高)为按优先级的顺序依次(低到高)为:逻辑运算符(逻辑运算符(逻辑运算符(逻辑运算符(LogicalLogical)关系运算符(关系运算符(关系运算符(关系运算符(RelationalRelational)并置运算符(并置运算符(并置运算符(并置运算符(ConcatenationConcatenation)算术运算符(算术运算符(算术运算符(算术运算符(ArithmeticArithmetic)。)。)。)。要求操作数的类型必须和操作符所要求的类型一致。要求操作数的
14、类型必须和操作符所要求的类型一致。要求操作数的类型必须和操作符所要求的类型一致。要求操作数的类型必须和操作符所要求的类型一致。4.4.4.4.2.1 2.1 2.1 2.1 逻辑运算符(逻辑运算符(逻辑运算符(逻辑运算符(LogicalLogicalLogicalLogical)1 1、逻辑运算符(、逻辑运算符(、逻辑运算符(、逻辑运算符(LogicalLogical)2 2、逻辑运算符的操作对象、逻辑运算符的操作对象、逻辑运算符的操作对象、逻辑运算符的操作对象“STD_LOGIC”STD_LOGIC”;“BIT”“BIT”;“STD_LOGIC_VECTOR”“STD_LOGIC_VECTO
15、R”;“布尔量布尔量布尔量布尔量”(BooleanBoolean)没有优先级差别,按自左至右的优先级顺序运算。没有优先级差别,按自左至右的优先级顺序运算。没有优先级差别,按自左至右的优先级顺序运算。没有优先级差别,按自左至右的优先级顺序运算。例:下式去掉括号就会产生错误:例:下式去掉括号就会产生错误:例:下式去掉括号就会产生错误:例:下式去掉括号就会产生错误:X=(A AND B)OR(NOT C AND D)X=(A AND B)OR(NOT C AND D);去掉括号:去掉括号:去掉括号:去掉括号:X=A AND B OR NOT C AND DX=A AND B OR NOT C AND
16、 D;以上两式的运算次序是完全不同的。以上两式的运算次序是完全不同的。以上两式的运算次序是完全不同的。以上两式的运算次序是完全不同的。逻辑运算符常用于书写逻辑表达式逻辑运算符常用于书写逻辑表达式逻辑运算符常用于书写逻辑表达式逻辑运算符常用于书写逻辑表达式例例例例:entity and2 isentity and2 is port(a,b,c,d:in bit;port(a,b,c,d:in bit;q:out bit);q:out bit);end and2;end and2;architecture rtl of and2 is architecture rtl of and2 is beg
17、in begin q=(a and b)or(c nand d);q=(a and b)or(c nand d);end rtl;end rtl;4.4.4.4.2.2 2.2 2.2 2.2 关系运算符(关系运算符(关系运算符(关系运算符(RelationalRelationalRelationalRelational)1 1、关系运算符(、关系运算符(、关系运算符(、关系运算符(RelationalRelational)2 2、操作对象、操作对象、操作对象、操作对象1 1)“=”“=”和和和和“/=”“/=”适适适适用用用用于于于于所所所所有有有有类类类类型型型型的的的的数数数数据。据。据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 数据 对象
限制150内