将STD_LOGIC_VECTOR中的单个位分配给STD_LOGIC

krb*_*686 10 vhdl

好像我已经做了很多次,但由于某种原因,今天它只是不想工作.

我想将16位向量的MSB分配给单位变量.

Din : in  STD_LOGIC_VECTOR (15 downto 0);

...

signal signBit : std_logic;

begin
    signBit <= Din(15 downto 15);
Run Code Online (Sandbox Code Playgroud)

给出的错误是:

Type of signBit is incompatible with type of Din.
Run Code Online (Sandbox Code Playgroud)

是的,我得到它,向量与std_logic不一致,但这是1位,清楚地表示为(15 downto 15)

Bri*_*ond 13

Din(15 downto 15);
Run Code Online (Sandbox Code Playgroud)

是一个std_logic_vector,长1位

Din(15);
Run Code Online (Sandbox Code Playgroud)

是std_logic_vector的一个元素,即std_logic.