web-dev-qa-db-ja.com

STD_LOGIC_VECTORからSTD_LOGICに1ビットを割り当てます

私はこれを何度もやったように見えますが、何らかの理由で今日は働きたくないのです。

16ビットベクトルのMSBをシングルビット変数に割り当てたいのですが。

Din : in  STD_LOGIC_VECTOR (15 downto 0);

...

signal signBit : std_logic;

begin
    signBit <= Din(15 downto 15);

指定されたエラーは次のとおりです。

Type of signBit is incompatible with type of Din.

はい、わかりました。ベクトルはstd_logicでNiceを再生しませんが、これは1ビットであり、(15〜15)で明確に示されます

10
krb686
Din(15 downto 15);

std_logic_vector、1ビット長

Din(15);

std_logic_vectorの1つの要素、つまりstd_logic。

13
Brian Drummond