Altera_Forum
Honored Contributor
8 years agoHow to suppress Fatal Modelsim error vsim-3807
Is there a way to suppress a Fatal error in Modelsim? I'm guessing not, but it would be useful at times. Fore example, I've created a multiplier where one input is signed, the other unsigned, and the result of course signed. Quartus can't seem to infer this, so I generate core. Quartus generates a component template:
component dds_mult is
port (
result : out std_logic_vector(24 downto 0);
dataa_0 : in std_logic_vector(11 downto 0);
datab_0 : in std_logic_vector(12 downto 0);
clock0 : in std_logic
);
end component dds_mult;
To avoid type conversions, I always modify this in my code to be:
component dds_mult is
port (
result : out signed(24 downto 0);
dataa_0 : in unsigned(11 downto 0);
datab_0 : in signed(12 downto 0);
clock0 : in std_logic
);
end component dds_mult;
This synthesizes fine and works correctly and even SignalTap is happy. However, Modelsim yells at me giving an error: # ** Fatal: (vsim-3807) Types do not match between component and entity for port "result". It's of course, correct and I can of course add the necessary type conversions to get rid of it. But it's alot of pointless code and I'd prefer to just suppress the error. I'm guessing suppressing fatal errors is not supported (I tried "-suppress 3807") but since I use this alot if would be helpful.