VHDL std_logic_vector转换为带有numeric_std的signed和unsigned

时间:2013-01-21 12:22:14

标签: vhdl unsigned signed

我对使用std_logic_vectorsigned / unsigned的转化产生了疑问。我总是使用转化signed(...)unsigned(...),但当我尝试使用库numeric_stdto_signedto unsigned)中定义的转化时,它不会不行。有人可以向我解释为什么会这样吗?转化为unsigned()signed()的原因是什么?

2 个答案:

答案 0 :(得分:5)

由于std_logic_vectorsigned / unsigned类型密切相关,因此您可以使用类型转换方式进行转换。因此signed(a_std_logic_vector)unsigned(a_std_logic_vector)没问题。但是,要转换的函数也在标准中定义。

看看VHDL FAQ。 这是一个旧网站,从新闻组仍然很热的时候开始,但它仍然有很多关于VHDL的好信息。

答案 1 :(得分:1)

查看numeric_std的软件包规范。你会发现to_signed从整数转换为signed ...

正如“vermaete”所说,signed是与std_logic_vector密切相关的类型,所以你不需要那里的转换函数。