在VHDL中矢量类型数据与整型数据怎么运算?

如题所述

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个回答  2010-07-17
我不太清楚你的意思,但对于VHDL语言来说它是一种强类型语言,不允许不同数据类型直接进行运算,必须转为同种数据类型才可以运算。转换方法有函数转换法;类型标记转换法,常数转换法。
把矢量类型转为整型后就可以运算了!也可以把整型转为矢量类型。以下以矢量类型转为整型为例;
A:STD_LOGIC_VECTOR
B:INTEGER
B<=CONV_INTEGER(A)--把标准逻辑位矢量转成整型。
这之后就可以进行运算了,其他类型的转换你查一下表就可以了。我插不上函数表的图片你自己查一下。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网