1
の範囲は、私がSTD_LOGIC_VECTORのビットAA単一ビットまたは多数の別名を持っていると仮定しなさい:位置または別名
signal CR : std_logic_vector(7 downto 0);
alias CR_ARM : std_logic is CR(0);
alias CR_PS : std_logic_vector(3 downto 0) is CR(7 downto 4);
にはどうすればこのようなエイリアスの範囲や位置をアクセスすることができます:
singal tmp : std_logic_vector(7 downto 0); -- output bus vector
tmp(CR_ARM'range) <= CR_ARM; -- does not compile
'CR_ARM'はスカラー(' std_logic')=>範囲なしです。 –
私は、属性がCR CR_ARMのどのインデックスに戻ってくるのかを考えています。私はこれが可能だとは思わない。たとえば、ビットマッピングを示す一連の定数を使って、別のアプローチを試みます。 – JHBonarius
* 'CR_ARM'はスカラー(' std_logic')=>範囲なし*です。 std_logicはスカラー型の文字列挙型です。この区別は、配列された値の制約された範囲と、配列オブジェクトの要素を指定するインデックス制約との間の区別である。スカラ型のオブジェクトには、値の範囲はありますが、要素のインデックス範囲はありません。 '' range'は配列型の属性であり、型やオブジェクトの属性ではありません。 IEEE Std 1076-2008 5.タイプ、5.1一般、16.2.3配列の事前定義された属性。 – user1155120