EmbDev.net

Forum: FPGA, VHDL & Verilog / operand can not have such operands in this context


von dhootha a. (Company: Student) (gollum)


Rate this post
useful
not useful
I am using the following libraries
1
library IEEE;
2
use IEEE.STD_LOGIC_1164.all;
3
use ieee.numeric_std.all;
4
library ieee_proposed;
5
use ieee_proposed.fixed_float_types.all;
6
use ieee_proposed.fixed_pkg.all;
I get this error"/ cannot have such operands in this context" at line 
where variable c is assigned in the following code when i checked the 
syntax
I have got this error at all places where the / operator is used in 
fixed point operations.
1
type comp is 
2
  record
3
    Rel :sfixed(7 downto -6);
4
    Img :sfixed(7 downto -6);
5
  end record;
6
7
function complexdiv(seven :comp; h :sfixed(7 downto -6)) return comp is
8
variable result5 :comp;
9
variable a,b,c,d :sfixed(14 downto -13) ;
10
begin
11
  c :=seven.Rel / h;
12
   
13
  --result5.Rel := resize(d,result5.Rel) ;
14
  --result5.Img := resize(seven.Img/h,result5.Img) ;
15
return result5;
16
end complexdiv;

What might be the problem??

von Lothar M. (Company: Titel) (lkmiller) (Moderator)


Rate this post
useful
not useful
dhootha adhi wrote:
> I get this error "/ cannot have such operands in this context"
From who: simulator or synthesizer? Which one?

von dhootha a. (Company: Student) (gollum)


Rate this post
useful
not useful
synthesizer

von Lothar M. (Company: Titel) (lkmiller) (Moderator)


Rate this post
useful
not useful
Division is not synthesizable!

Ok, it is synthesizable if the divisor is a constant and a power of 2.
Your h is none of them...

von dhootha a. (Company: Student) (gollum)


Rate this post
useful
not useful
okay.Thanks a lot

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.