ISim>
# isim force add {/multiplier/a} 01111111111111111111111111111111 -radix bin
/multiplier/a: Could not convert given string value 01111111111111111111111111111111 to an appropriate value.
I am trying to make 32 bit multiplier using predefined operator (*) but there is some error occurs when I try to provide the 32 bit input to both A and B.
Note: I have attached a copy of my code here below with few screenshots ...
Code :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.std_logic_unsigned.all;
use IEEE.NUMERIC_STD.ALL;
entity Multiplier is
generic (N : Natural:= 32 );
Port ( A : in STD_LOGIC_VECTOR (N-1 DOWNTO 0);
B : in STD_LOGIC_VECTOR (N-1 DOWNTO 0);
OUTPUT : OUT STD_LOGIC_VECTOR (2*N-1 DOWNTO 0)
);
end Multiplier;
architecture Behavioral of Multiplier is
signal mul : std_logic_vector (2*N-1 DOWNTO 0) ;
begin
P1: process (A,B)
BEGIN
mul <= std_logic_vector (unsigned (A) * unsigned (B));
end process P1;
OUTPUT <= mul;
end Behavioral;
Screenshot of error:
