guarana5,
Thanks for the reply. Here is another simpler example which should be straight forward. In this example I tried using the multipication function with first converting them to unsigned and then multiplying them. It should work but once again it doesn't. I'm going crazy
library ieee;
use ieee.numeric_std.all;
use ieee.std_logic_1164.all;
entity testmultun is
port (
q : out std_logic_vector(63 downto 0);
d1 : in std_logic_vector(31 downto 0);
d2 : in std_logic_vector(15 downto 0));
end entity testmultun;
architecture rtl of testmultun is
signal d1_32un : unsigned(31 downto 0);
signal d2_16un : unsigned(15 downto 0);
Signal d3_test : unsigned (15 downto 0);
signal mult_63un : unsigned(47 downto 0);
begin -- architecture rtl
d1_32un <= unsigned(d1);
d2_16un <= unsigned(d2);
d3_test <= unsigned (d1(3)* d2); -------->>> Error: No feasible entries for infix operator "*"
mult_63un <= d1_32un * d2_16un * d3_test;
q <= std_logic_vector(mult_63un);
end architecture rtl;