赛灵思
直播中

李凤津

8年用户 1063经验值
私信 关注
[问答]

错误:HDLCompiler:1731找到运算符“*”的'0'定义,无法确定“*”的精确重载匹配函数

亲爱的大家,
我想在vhdl中执行以下语句。
addres = add_a + add_b * B.
其中addres,add_a和add_b是std_logic_vectors,B是整数。
当我执行它时,它给主题错误。

错误:HDLCompiler:1731  - 找到运算符“*”的'0'定义,无法确定“*”的精确重载匹配函数
请给出一些解决方案

以上来自于谷歌翻译


以下为原文

Dear all,
I want to execute the following statement in vhdl.
addres = add_a + add_b*B
where addres, add_a, and add_b are std_logic_vectors and B is an integer.
when I execute this it gives the subject errror. i.e
ERROR:HDLCompiler:1731 - found '0' definitions of operator "*", cannot determin exact overloaded matching function for "*"
Please give some solutions

回帖(4)

吕钢格

2018-10-30 11:24:21
嗨@ D2D,
您必须将所有信号转换为std_logic_vector或整数才能进行乘法运算。
因为错误告诉我们在这种情况下没有“*”的定义。
谢谢,Arpan
谢谢,Arpan -----------------------------------------------
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - -请注意-
如果提供的信息有用,请将答案标记为“接受为解决方案”。给予您认为有用且回复的帖子。感谢Kudos .--------------------
--------------------------------------------------
------------------------
在原帖中查看解决方案

以上来自于谷歌翻译


以下为原文

Hi @d2d,
 
Either you have to convert all the signals to either std_logic_vector or integer to do multiplication.
Because the error is telling there are no definations of "*" in this scenario.
 
Thanks,
Arpan 
Thanks,
Arpan
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------View solution in original post
举报

赵雪培

2018-10-30 11:29:48
@ D2D,
您是否使用以下标准VHDL包启动VHDL代码:
库IEEE;使用IEEE.STD_LOGIC_1164.all;使用IEEE.STD_LOGIC_ARITH.all;使用IEEE.STD_LOGIC_SIGNED.all;
--Syed
--------------------------------------------------
-------------------------------------------请注意 - 请标记答案
如果提供的信息有用,请“接受为解决方案”。给予您认为有用并回复导向的帖子。感谢Kudos .------------------------
--------------------------------------------------
-------------------

以上来自于谷歌翻译


以下为原文

@d2d,
 
Did you start your VHDL code with the following standard VHDL packages:
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_ARITH.all;
use IEEE.STD_LOGIC_SIGNED.all;
 
--Syed
---------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
---------------------------------------------------------------------------------------------
举报

吕钢格

2018-10-30 11:37:54
嗨@ D2D,
您必须将所有信号转换为std_logic_vector或整数才能进行乘法运算。
因为错误告诉我们在这种情况下没有“*”的定义。
谢谢,Arpan
谢谢,Arpan -----------------------------------------------
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - -请注意-
如果提供的信息有用,请将答案标记为“接受为解决方案”。给予您认为有用且回复的帖子。感谢Kudos .--------------------
--------------------------------------------------
------------------------

以上来自于谷歌翻译


以下为原文

Hi @d2d,
 
Either you have to convert all the signals to either std_logic_vector or integer to do multiplication.
Because the error is telling there are no definations of "*" in this scenario.
 
Thanks,
Arpan 
Thanks,
Arpan
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
举报

孔喆

2018-10-30 11:57:14
谢谢

以上来自于谷歌翻译


以下为原文

Thanks
举报

更多回帖

发帖
×
20
完善资料,
赚取积分