Multiplier
Is there a good algorithm (small) to multiply two 36 bit ?signed? numbers to get a 72 bit result.
Is it possible to divide the 36 bit numbers into 18 bit parts and multiply them separately and after some shifting add the results?
I would like to instantiate the MULT18X18 in the Spartan3 for this.
When I write it strait like this without any specific instantiation:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity test is
Port ( a : in std_logic_vector(35 downto 0);
b : in std_logic_vector(35 downto 0);
q : out std_logic_vector(71 downto 0));
end test;
architecture Behavioral of test is
begin
q