need help regarding multiplication * operator in VHDL

Status
Not open for further replies.

revooridinesh

Member level 1
Joined
May 31, 2010
Messages
41
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
Canada
Activity points
1,553
my code is like


Code VHDL - [expand]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;  
 
entity xx ....end xx;
 
architecture Behavioral of xx is
....
signal inst : real;
begin
process(clk)
variable mn : real
begin
if(rising_edge(clk)) then
inst<= some value
if ((inst<0.10 and inst>=0.00 ) or (inst>-0.10 and inst<=0.00) ) then
         mn:= abs(inst*100);
------
---




then I am getting a error as--- found '0' definitions of operator "*", cannot determine exact overloaded matching definition for "*". What does that mean ? I have included libraries which are required . Where did I do mistake ?

Thank You
 
Last edited by a moderator:


A rather annoying feature of the language is that the multiply operator is not defined for multiplying a 'real' and an 'integer'. Change the 100 to 100.0 in your code and you should be good to go.

Kevin Jennings
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…