如题所述
VHDL中参与运算的操作数的数据类型要一致,你可以利用类型转换函数进行相应的数据类型转换。
1.std_logic_1164程序包中提供了以下转换函数:
to_std logicvector(操作数):把bit_vector转换为std_logic_vector
to_bitvector(操作数):把std_logic_vector转换为bit_vector
to_stdlogic(操作数):把bit转换为std_logic
to_bit(操作数):把std_logic转换为bit
2.std_logic_arith程序包中提供了以下转换函数:
conv_std_logic_vector(操作数,位长):把integer、singed、unsigned转换为std_logic_vector
conv_integer(操作数):把signed、unsigned转换为integer
3.std_logic_unsigned程序包中提供了以下转换函数
conv_integer(操作数):把std_logic_vector转换为integer
如果你对VHDL有一定的了解,相信你能看懂。
希望我能帮助到你。
——Medied.Lee
1.std_logic_1164程序包中提供了以下转换函数:
to_std logicvector(操作数):把bit_vector转换为std_logic_vector
to_bitvector(操作数):把std_logic_vector转换为bit_vector
to_stdlogic(操作数):把bit转换为std_logic
to_bit(操作数):把std_logic转换为bit
2.std_logic_arith程序包中提供了以下转换函数:
conv_std_logic_vector(操作数,位长):把integer、singed、unsigned转换为std_logic_vector
conv_integer(操作数):把signed、unsigned转换为integer
3.std_logic_unsigned程序包中提供了以下转换函数
conv_integer(操作数):把std_logic_vector转换为integer
如果你对VHDL有一定的了解,相信你能看懂。
希望我能帮助到你。
——Medied.Lee
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-07-17
我不太清楚你的意思,但对于VHDL语言来说它是一种强类型语言,不允许不同数据类型直接进行运算,必须转为同种数据类型才可以运算。转换方法有函数转换法;类型标记转换法,常数转换法。
把矢量类型转为整型后就可以运算了!也可以把整型转为矢量类型。以下以矢量类型转为整型为例;
A:STD_LOGIC_VECTOR
B:INTEGER
B<=CONV_INTEGER(A)--把标准逻辑位矢量转成整型。
这之后就可以进行运算了,其他类型的转换你查一下表就可以了。我插不上函数表的图片你自己查一下。
把矢量类型转为整型后就可以运算了!也可以把整型转为矢量类型。以下以矢量类型转为整型为例;
A:STD_LOGIC_VECTOR
B:INTEGER
B<=CONV_INTEGER(A)--把标准逻辑位矢量转成整型。
这之后就可以进行运算了,其他类型的转换你查一下表就可以了。我插不上函数表的图片你自己查一下。