Posted on:

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

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?
Posted on:

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.
Posted on:

> 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.
Posted on:

Thanks...I attached my program.once i ran in GHDL simulator it gave error "no function declarations for operator "/""
Posted on:

> "no function declarations for operator "/""
No corresponding line number?
Its VERY exhausting to worm every little facts out of you... :/
Posted on:

> 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
Posted on:

Sorry ..i attached my source code. error > "no function declarations for operator "/" error in line number > 52 and 54
Posted on:

How can this fit together:
type rational is array (natural range numer to denom) of integer;  one dimension variable max : rational; max(w/x,y/z) := w/x;  two dimensions? 
However: What happens, if you use additional variables like this
function maxi(a,b,c,d:integer) return rational is variable w,x,y,z:integer; variable t1,t2:integer; variable max : rational; begin t1:=w*z; t2:=x*y; t3:=w/x; t4:=y/z; if(t1 > t2)then max(t3,t4) := w/x; else max(t3,t4) := y/z; : : 
Posted on:

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
Posted on:

> 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"?
variable w,x,y,z: integer; variable t1,t2,t3,t4: rational; begin t1:=w*z;  how to convert from "integer" to "rational"? t2:=x*y; t3:=w/x; t4:=y/z; 
Posted on:

Thanks Lothar Miller..fron your suggestions my program working fine Thanks once again
Posted on:

Raghavendra B. wrote: > my program working fine Thats nice to hear. > Thanks once again De nada... ;)
Posted on:

Hello Raghavendra B. i have the same problem like you can you post the last code how you solve it pls? Thanks...