EmbDev.net

Forum: FPGA, VHDL & Verilog c:= a/b Initialization in VHDL


von Raghavendra B. (raghavendra_b98)


Rate this post
useful
not useful
Hi all

How to initialize and use c:=a/b statment in VHDL.
Regards
Raghavendra

von Fetz (Guest)


Rate this post
useful
not useful
with "VARIABLE".

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


Rate this post
useful
not useful
There is not enough information for a answer!
Pls. post ALL necessary information. Not only "why isn't it working?"

What is your actual problem?
What do you want to do?
What have you tried?
What does not work?
What warnings or errrors do you get?

von Raghavendra B. (raghavendra_b98)


Rate this post
useful
not useful
Thanks for your replies..
Hi Lothar Miller,
I try to do comparing 2 rationals numbers and display the number is max 
or min, for example a/b and c/d are 2 rational numbers i want to display
max :=a/b or c/d.

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


Rate this post
useful
not useful
>  comparing 2 rationals numbers
Just for simulation? Or in real hardware?

> the number
What types are a...d?

> try to do comparing 2 rationals numbers and display the number is max
And how far did you get until now?
Show your first steps, report the problems you got, and then lets 
discuss ways to solve them.

von Raghavendra B. (raghavendra_b98)


Attached files:

Rate this post
useful
not useful
Thanks...I attached my program.once i ran in GHDL simulator it gave 
error
"no function declarations for operator "/""

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


Rate this post
useful
not useful
> "no function declarations for operator "/""
No corresponding line number?
Its VERY exhausting to worm every little facts out of you...  :-/

von Raghavendra B. (raghavendra_b98)


Rate this post
useful
not useful
Thanks for your intrest.

line number 67 and 69.

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


Rate this post
useful
not useful
> line number 67 and 69.
Would it cost you much effort to post the complete lines of code.
This just because the code you posted has only 62 lines...   :-o

von Raghavendra B. (raghavendra_b98)


Attached files:

Rate this post
useful
not useful
Sorry ..i attached my source code.
error -->  "no function declarations for operator "/"
error in line number --> 52 and 54

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


Rate this post
useful
not useful
How can this fit together:
1
  type rational is array (natural range numer to denom) of integer; -- one dimension
2
3
  variable max : rational;
4
5
  max(w/x,y/z) := w/x; -- two dimensions?

However:
What happens, if you use additional variables like this
1
  function maxi(a,b,c,d:integer) return rational is
2
    variable w,x,y,z:integer;
3
    variable t1,t2:integer;
4
    variable max : rational;
5
  begin
6
    t1:=w*z;
7
    t2:=x*y;
8
    t3:=w/x;
9
    t4:=y/z;
10
    if(t1 > t2)then
11
      max(t3,t4) := w/x;  
12
    else
13
      max(t3,t4) := y/z;
14
15
   :
16
   :

von Raghavendra B. (raghavendra_b98)


Rate this post
useful
not useful
Thanks ..i will try ..

von Raghavendra B. (raghavendra_b98)


Attached files:

Rate this post
useful
not useful
Hi..Lothar Miller
I changed in my program below,but its not working fine gave 
error.attached my program.
 t3:=w/x;
 t4:=y/z;
    if(t1 > t2)then
      max(t3,t4) := t3;
    else
      max(t3,t4) := t4;

ERRORS :-
50:8: no function declarations for operator "*"
51:8: no function declarations for operator "*"
52:8: no function declarations for operator "/"
53:8: no function declarations for operator "/"
55:6: number of indexes mismatches array dimension
57:6: number of indexes mismatches array dimension
ghdl: compilation error

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


Rate this post
useful
not useful
> 55:6: number of indexes mismatches array dimension
> 57:6: number of indexes mismatches array dimension
What did i write about one and two dimensions?

> 50:8: no function declarations for operator "*"
> 51:8: no function declarations for operator "*"
> 52:8: no function declarations for operator "/"
> 53:8: no function declarations for operator "/"
You did not implement a function for the operations * and /
Additionally: in which way must a integer be converted to a "rational"?
1
  variable w,x,y,z:      integer;
2
  variable t1,t2,t3,t4:  rational;
3
  begin
4
    t1:=w*z;   -- how to convert from "integer" to "rational"?
5
    t2:=x*y;
6
    t3:=w/x;
7
    t4:=y/z;

von Raghavendra B. (raghavendra_b98)


Rate this post
useful
not useful
Thanks Lothar Miller..fron your suggestions my program working fine

Thanks once again

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


Rate this post
useful
not useful
Raghavendra B. wrote:
>  my program working fine
Thats nice to hear.
> Thanks once again
De nada... ;-)

von Hanna G. (Guest)


Rate this post
useful
not useful
Hello Raghavendra B.

i have the same problem like you can you post the last code how you 
solve it pls?

Thanks...

von Raghavendra B. (raghavendra_b98)


Attached files:

Rate this post
useful
not useful
Hi..Hanna G. I attached my source code.

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.