首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >+运算符与+函数的区别是vhdl?

+运算符与+函数的区别是vhdl?
EN

Stack Overflow用户
提问于 2016-08-21 07:18:59
回答 1查看 324关注 0票数 0

在vhdl中有+操作符到加法操作中,那么为什么我们需要添加ieee.std_logic_unsigned,而在这个库中有函数for +,那么如果我们已经在vhdl中定义了+运算符,为什么定义这个函数呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-21 07:30:16

+操作符和所有的VHDL运算符一样,也有一个函数表示法。a+b"+"(a,b)完全一样。这样做的好处是,您可以重载VHDL操作符,以便对它们默认未定义的类型进行操作。只需定义一个"+"函数,它接受您自己类型为my_type和voilà的两个参数。现在可以使用a+b,其中ab属于my_type类型。

默认情况下,+运算符不会在std_ulogic_vectorstd_logic_vector类型上定义。这是一个事实。您可以不同意这一点,但这是VHDL标准。因此,如果您想将它与这些类型一起使用,您需要以某种方式定义它。

ieee.std_logic_unsigned包重载它们上的算术运算符。它是,而不是,是一个标准包,在标准化的ieee库中没有可以做的事情。做而不是使用它。使用标准的ieee.numeric_std,它声明unsignedsigned类型,并重载它们上的算术运算符。

注意,正如user1155120所提到的,VHDL 2008引入了几个新的合成包。其中之一是ieee.numeric_std_unsigned,它确实重载了std_ulogic_vector类型上的算术运算符,它被认为是无符号的自然整数。

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

https://stackoverflow.com/questions/39061800

复制
相关文章

相似问题

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