I am trying to define a complex type (i.e. a type that consists of real and imaginary parts), and I am trying to find a way to make it general.
This my current static code:
type complex_vector is record
Re : signed(15 downto 0);
Im : signed(15 downto 0);
end record;
Now I wonder if there is a way to do this generic, in another word something like:
type complex_vector (Generic: Integer := WIDTH) is record
Re : signed(WIDTH downto 0);
Im : signed(WIDTH downto 0);
end record;
I tried google for the solution as well as through my books, but I can not find any solution. Really no? Without entries, you can snatch something like this:
type blaaa is array (NATURAL range <>) of STD_LOGIC;
Thanks for any input.
EDIT:
Or could I do something like the following?
type complex_primitives is (re, im);
type complex_vector is array (re to im) of signed(natural range <>);
The compiler complains though ..
source
share