我遇到了以下问题 -
我需要编写一个VHDL函数,将5位向量转换为整数,其中二进制数a4a3a2a1a0的整数值可以计算为(((0 + a4)* + a3)* + a2)* + a1)* + a0 。 这不是任何功课。但我正在为考试做准备。
谢谢!
答案 0 :(得分:0)
如果二进制数a4a3a2a1a0是std_logic_vector,则可以使用标准转换函数:
use IEEE.NUMERIC_STD.ALL;
integer_result <= to_integer(unsigned(input_vector));
必须使用NUMERIC_STD库才能实现此目的。
在许多情况下,可以使用'unsigned'作为输入向量的类型,删除一个转换阶段。