11-28-2019 03:46 AM
Im confused. I think this is explictly clear that this is a signed expression:
constant c : signed(15 downto 0) := to_signed(-12345, 16);
I think the clue is the fact that it is a signed type and uses the to_signed conversion function (which can take any integer value)
function TO_SIGNED ( ARG: INTEGER; SIZE: NATURAL) return SIGNED; -- Result subtype: SIGNED (SIZE-1 downto 0) -- Result: Converts an INTEGER to a SIGNED vector of the specified SIZE.
But during synthesis you get the following warning for anything that uses a negative literal:
WARNING: [Synth 8-5825] expecting unsigned expression [D:/playarea/signed_warning/signed_warning.vhd:12]
What is Vivado so confused about?
11-28-2019 04:17 AM
11-28-2019 05:31 AM