std_logic_vector
我对使用从到signed
/的转换有一些疑问unsigned
。我总是使用转换signed(...)
, unsigned(...)
,但是当我尝试使用库中定义的转换numeric_std
( to_signed
, to unsigned
) 时,它不起作用。有人可以向我解释为什么会这样吗?为什么转换unsigned()
和signed()
工作?
问问题
53840 次
2 回答
7
因为std_logic_vector
和signed
/unsigned
类型密切相关,可以使用typecast的方式进行转换。所以signed(a_std_logic_vector)
,unsigned(a_std_logic_vector)
没关系。但是,标准中也定义了要转换的函数。
查看VHDL 常见问题解答。这是一个旧网站,在新闻组还很热门的时候,它仍然有很多关于 VHDL 的好信息。
于 2013-01-21T12:43:37.337 回答
2
查看 numeric_std 的包规范。您会发现 to_signed 从整数转换为有符号 ...。
正如“vermaete”所说,signed 是与 std_logic_vector 密切相关的类型,因此您不需要转换函数。
于 2013-01-21T13:05:40.553 回答