我对VHDL中遇到的问题感到困惑。
我做了一个VGA_display_ characters
,所以我想通过无符号to_integer
将一些std_logic_vectors
转换为整数,然后我想恢复, 这样我就不能同时使用这些库了。
ieee.std_logic_arith.all
和ieee.numeric_std.all
夸特给出的误差:
错误 (10621(:接口处的 VHDL 使用子句错误(34(:多个使用子句导入简单名称为"无符号"的声明 - 没有一个声明是直接可见的 错误 (10784(:syn_arit.vhd 处的 HDL 错误 (26(:请参阅对象"无符号"的声明 下面我的代码:
to_integer
conv_std_logic_vector
我的建议是:不要使用ieee.std_logic_arith
。它是专有的(不是VHDL的正式组成部分(,导致的问题远远多于它解决的问题。
仅使用numeric_std
,您可以执行所需的一切:
to_integer(unsigned(X))
和to_integer(signed(X))
,其中X
是std_logic_vector
。
要转换回另一个方向:
std_logic_vector(to_unsigned(K, N))
和std_logic_vector(to_signed(K, N))
其中K
是要转换的整数,N
是位数。