欢迎来到天天文库
浏览记录
ID:11316907
大小:23.66 KB
页数:4页
时间:2018-07-11
《vhdl数据类型的转换》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VHDL数据类型的转换标签:VHDL:3.数据类型的转换在VHDL程序中,不同类型的对象不能代入,因此要进行类型转换.类型转换的方法有:(1)类型标记法.用类型名称来实现关系密切的标量类型之间的转换.例如:VARIABLEx:INTEGER;VARIABLEy:REAL;使用类型标记(即类型名)实现类型转换时,可采用赋值语句:x:=INTEGER(y);y:=REAL(x).(2)类型函数法.VHDL程序包中提供了多种转换函数,使得某些类型的数据之间可以相互转换,以实现正确的赋值操作.常用的类型转换函
2、数有:★CONV_INTEGER():将STD_LOGIC_VECTOR类型转换成INTEGER类型.★CONV_STD_LOGIC_VECTOR():将INTEGER类型,UNSIGNED类型或SIGNED类型转换成STD_LOGIC_VECTOR类型.★TO_BIT():将STD_LOGIC类型转换成BIT类型.★TO_BIT_VECTOR():将STD_LOGIC_VECTOR类型转换BIT_VECTOR类型.★TO_STD_LOGIC():将BIT类型转换成STD_LOGIC类型.★TO_ST
3、D_LOGIC_VECTOR():将BIT_VECTOR类型转换成STD_LOGIC_VECTOR类型.注意:引用时必须首先打开库和相应的程序包.该函数由STD_LOGIC_UNSIGNED程序包定义该函数由STD_LOGIC_ARITH程序包定义以下函数由STD_LOGIC_1164-0-----------------------------------------------类型转换类型变换函数由STD_LOGIC_VECTOR转换成INTEGERSTD_LOGIC_UNSIGNED包含集CON
4、V_INTEGER(A)由INTEGER,UNSDGNED,SIGNED转换成STD_LOGIC_VECTOR由UNSIGNED,SIGNED转换成INTEGERSTD_LOGIC_ARITH包集合CONV_STD_LOGIC_VECTOR(A,位长)CONV_INTEGER(A)由BIT_VECTOR转换为STD_LOGIC_VECTOR由STD_LOGIC_VECTO转换为BIT_VECTOR由BIT转换成STD_LOGIC由STD_LOGIC转换成BITSTD_LOGIC_1164包集合TO_S
5、TDLOGICVECTOR(A)TO_BITVECTOR(A)TO_STDLOGIC(A)TO_BIT(A)功能函数名由"STD_LOGIC_VECTOR"变换成"INTEGER"的实例LIBRARYIEEE;USEIEEESTD_LOGIC_1164.ALL;USEIEEESTD_LOGIC_UNSIGNED.ALL;ENTITYadd5ISPORT(num:INSTD_LOGIC_VECTOR(2DOWNTO0);┇);ENDadd5;ARCHITECTURErtlOFadd5ISSIGNALin
6、_num:INTEGERRANGE0TO5;┇BEGINin_num<=CONV_INTEGER(num);位矢量转换成整数变换式┇ENDrtl;^0^------------------------函 数 名 功 能STD_LOGIC_1164包集合 TO_STDLOGICVECTOR(A) 由BIT_VECTOR转换为STD_LOGIC_VECTORTO_BITVECTOR(A)
7、 由STD_LOGIC_VECTO转换为BIT_VECTORTO_STDLOGIC(A) 由BIT转换成STD_LOGICTO_BIT(A) 由STD_LOGIC转换成BITSTD_LOGIC_ARITH包集合CONV_STD_LOGIC_VECTOR(A,由INTEGER,UNSDGNED,SIGNED转换位长) STD_LOGIC_VECTOR
8、CONV_INTEGER(A) 由UNSIGNED,SIGNED转换成INTEGERSTD_LOGIC_UNSIGNED包含集 CONV_INTEGER(A) 由STD_LOGIC_VECTOR转换成INTEGER n LIBRARYIEEE;n USEIEEESTD_LOGIC_1164.ALL;n USEIEEESTD_LOGIC_UNSIGNED
此文档下载收益归作者所有