我对从std_logic_vector到signed/unsigned的转换的使用有一些疑问。我总是使用转换signed(...) unsigned(...),但是当我尝试使用库numeric_std (to_signed,to unsigned)中定义的转换时,它不起作用。有人能给我解释一下为什么会这样吗?为什么转换unsigned()和signed()会起作用?
发布于 2013-01-21 20:43:37
因为std_logic_vector和signed/unsigned类型密切相关,所以可以使用类型转换方法进行转换。所以signed(a_std_logic_vector)和unsigned(a_std_logic_vector)都没问题。但是,标准中也定义了要转换的函数。
看一看VHDL FAQ。这是一个旧网站,来自新闻组仍然很热门的日子,但它仍然有大量关于VHDL的好信息。
发布于 2013-01-21 21:05:41
看看numeric_std的包规格。您会发现to_signed会转换为签名...来自integer。
正如"vermaete“所说,signed是一种与std_logic_vector密切相关的类型,因此您不需要在那里使用转换函数。
https://stackoverflow.com/questions/14438516
复制相似问题