It seems like I have done this plenty of times, but for some reason today it just doesn't want to work.
I would like to assign the MSB of a 16-bit vector to a single-bit variable.
Din : in STD_LOGIC_VECTOR (15 downto 0);
...
signal signBit : std_logic;
begin
signBit <= Din(15 downto 15);
The error given is:
Type of signBit is incompatible with type of Din.
Yes I get it, vectors don't play nice with std_logic, but this is 1-bit, clearly denoted by (15 downto 15)
Din(15). Even though your slice is only 1 bit, the fact that you're accessing it withdowntomakes it an array, not the scalar you expect.