VHDL数据类型(vhdl语法).ppt
《VHDL数据类型(vhdl语法).ppt》由会员分享,可在线阅读,更多相关《VHDL数据类型(vhdl语法).ppt(41页珍藏版)》请在三一办公上搜索。
1、VHDL数据类型,FPGA应用技术,二、VHDL数据类型与数据对象,在VHDL程序中,我们经常会遇到这样的语句:Signal A:std_logic;Variable B:std_logic_vector(7 downto 0);Constant C:integer;,数据对象类型,数据类型,数据对象名,VHDL语言中的基本数据类型,逻辑类型,数值类型,布尔代数(Boolean),位(Bit),标准逻辑(Std_Logic),整数(Integer),实数(Real),二、VHDL数据类型与数据对象,逻辑数据类型,(1)布尔代数(Boolean)型;(2)位(Bit);(3)标准逻辑(Std_l
2、ogic);,type BIT is(0,1);,type BOOLEAN is(FALSE,TRUE);,二、VHDL数据类型与数据对象,标准逻辑类型Type Std_Logic Is(U,-Undefined(未初始化)X,-Forcing Unknown(强未知)0,-Forcing 0(强0)1,-Forcing 1(强1)Z,-Hign Impedance(高阻)W,-Weak Unknown(弱未知)L,-Weak 0(弱0)H,-Weak 1(弱1)-,-Dont Care(忽略)),二、VHDL数据类型与数据对象,标准逻辑类型对数字逻辑电路的逻辑特性描述更加完整,真实,因此在V
3、HDL程序中,对逻辑信号的定义通常采用标准逻辑类型,逻辑序列,位序列(Bit_Vector),标准逻辑序列(Std_Logic_Vector),二、VHDL数据类型与数据对象,Signal data:Std_Logic_Vector(7 downto 0);Signal addr:Bit_Vector(0 to 3);,序列的范围大小声明方式:To,Downto,序列的使用,二、VHDL数据类型与数据对象,序列的分解与合成Signal A:Std_Logic_Vector(3 downto 0);Signal B:Std_Logic_Vector(0 to 3);Signal C:Std_Lo
4、gic_Vector(0 to 1);Signal D:Std_Logic_Vector(1 downto 0);C=A(2 downto 1);B=A(3),二、VHDL数据类型与数据对象,数值类型(1)整数 Type Integer Is Range-231 231-1限定整数取值范围的方法:Signal A:Integer;Signal B:Integer Range 0 to 7;Signal C:Integer Range-1 to 1;,二、VHDL数据类型与数据对象,无符号数 Unsigned与标准逻辑序列相似,声明时必须指明其位数。Signal A:Unsigned(3 dow
5、nto 0);Signal B:Unsigned(7 downto 0);注意:必须使用downto形式。,二、VHDL数据类型与数据对象,(2)实数 Type Real Is Range-1.7E38 to 1.7E38;实数类型的表示可用科学计数形式或者带小数点的形式。,二、VHDL数据类型与数据对象,VHDL中的运算符,二、VHDL数据类型与数据对象,算术运算符:+加-减*乘/除*乘方mod求模 rem求余 abs求绝对值,逻辑运算:and 逻辑与or逻辑或nand与非nor 或非xor 异或xnor同或not 逻辑非,关系运算符:=等于/=不等于大于=大于或等于注:其中=操作符也用于表
6、示信号的赋值操作。,&连接符,将两个数据对象或矢量连接成维数更大的矢量,它可给代码书写带来方便。例如:vabc=a&b&c;如果a=1,b=0,c=1,则 vabc=“101”。,二、VHDL数据类型与数据对象,用户自定义数据类型:(1)列举数据类型Type 列举名称 is(元素1,元素2,)例子:Type state is(S0,S1,S2,S3);Signal A:state;,二、VHDL数据类型与数据对象,(2)数组类型Type 数组名称 is Array(范围)of 数据类型;例子:Type Byte is Array(7 downto 0)of Bit;Signal sdo:Byt
7、e;,二、VHDL数据类型与数据对象,数据类型的转换 在VHDL语言里,不同类型的数据信号之间不能互相赋值。当需要不同类型数据之间传递信息时,就需要类型转换函数将其中的一种类型数据转换为另一中数据类型后,再进行信号的传递。,二、VHDL数据类型与数据对象,例如:Signal Y:Std_logic_vector(7 downto 0);Signal X:Integer range 0 to 255;Y=CONV_STD_LOGIC_VECTOR(X,8);,二、VHDL数据类型与数据对象,CONV_INTEGER 将数据类型 UNSIGNED,SIGNED转换为INTEGER 类型.CONV_
8、UNSIGNED 将数据类型INTEGER,SIGNED转换为UNSIGNED 类型.CONV_SIGNED 将数据类型INTEGER,UNSIGNED转换为SIGNED类型.CONV_STD_LOGIC_VECTOR 将数据类型INTEGER,UNSIGNED,SIGNED,STD_LOGIC转换为STD_LOGIC_VECTOR 类型.,二、VHDL数据类型与数据对象,数据对象,常 量,信 号,变 量,(Data Objects),二、VHDL数据类型与数据对象,(1)常量定义格式:Constant 常量名称:数据类型:=给定值;常量通常来来定义延迟和功耗等参数。注意!常数定义的同时进行赋
9、初值。常数可以在实体说明、结构体描述中使用。,二、VHDL数据类型与数据对象,library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;-必需定义+entity exam1 is port(ip:in std_logic_vector(3 downto 0);op:out std_logic_vector(3 downto 0);end exam1;architecture m1 of exam1 isconstant num:integer:=6;beginop=ip+num;end m1;,二、VHDL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 数据类型 语法
链接地址:https://www.31ppt.com/p-5452188.html