首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用numeric_std将VHDL语言std_logic_vector转换为有符号和无符号

用numeric_std将VHDL语言std_logic_vector转换为有符号和无符号
EN

Stack Overflow用户
提问于 2013-01-21 20:22:14
回答 2查看 53K关注 0票数 4

我对从std_logic_vectorsigned/unsigned的转换的使用有一些疑问。我总是使用转换signed(...) unsigned(...),但是当我尝试使用库numeric_std (to_signedto unsigned)中定义的转换时,它不起作用。有人能给我解释一下为什么会这样吗?为什么转换unsigned()signed()会起作用?

EN

回答 2

Stack Overflow用户

发布于 2013-01-21 20:43:37

因为std_logic_vectorsigned/unsigned类型密切相关,所以可以使用类型转换方法进行转换。所以signed(a_std_logic_vector)unsigned(a_std_logic_vector)都没问题。但是,标准中也定义了要转换的函数。

看一看VHDL FAQ。这是一个旧网站,来自新闻组仍然很热门的日子,但它仍然有大量关于VHDL的好信息。

票数 7
EN

Stack Overflow用户

发布于 2013-01-21 21:05:41

看看numeric_std的包规格。您会发现to_signed会转换为签名...来自integer。

正如"vermaete“所说,signed是一种与std_logic_vector密切相关的类型,因此您不需要在那里使用转换函数。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14438516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档