4

std_logic_vector我对使用从到signed/的转换有一些疑问unsigned。我总是使用转换signed(...), unsigned(...),但是当我尝试使用库中定义的转换numeric_std( to_signed, to unsigned) 时,它不起作用。有人可以向我解释为什么会这样吗?为什么转换unsigned()signed()工作?

4

2 回答 2

7

因为std_logic_vectorsigned/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 回答