VHDL将std_logic_vector写为文件中的有符号整数

时间:2013-12-13 13:55:53

标签: type-conversion vhdl

我想知道如何在VHDL测试平台中将std_logic_vector写为有符号整数?

2 个答案:

答案 0 :(得分:2)

使用numeric_std:

signal test_in  : std_logic_vector(2 downto 0);
signal test_out : integer range -4 to 3;

test_out <= to_integer(signed(test_in));

答案 1 :(得分:0)

您需要转换为整数(使用use ieee.numeric_std.all;,这意味着您需要知道std_logic_vector是代表签名号还是无符号号。Ideally, you'd use the relevant type rather than the bag-of-bits that std-logic_vector is.

转换为整数与:

一样简单
int_variable := to_integer(some_vector);

如果你必须坚持std_logic_vector,你必须告诉编译器它是无符号的还是像这样签名:

int_variable := to_integer(unsigned(some_vector));

或者这个:

int_variable := to_integer(signed(some_vector));

然后你可以像往常一样将整数写入文件。