並び順が互いに逆のベクタからベクタへ値を代入するとき

pp.267-268

ascendingであろうとdescendingであろうと、とにかく左端は左端へ、右端は右端へ配線される。要するにインデックスとは無関係に位置だけで決まる。
f:id:ti-nspire:20220125103456p:plain

library ieee;
use ieee.std_logic_1164.all;

entity sute is
    port(
        source : in  std_logic_vector(0     to 3);
        target : out std_logic_vector(3 downto 0)
    );
end entity;

architecture rtl of sute is
begin
    target <= source;
    
    /*--要するに↓と同じである。
   target(3) <= source(0);
   target(2) <= source(1);
   target(1) <= source(2);
   target(0) <= source(3);
   */
    
   --あるいは↓のようなaggregateで表現したのと同じことである。
   --(target(3),target(2),target(1),target(0)) <= std_logic_vector'(source(0),source(1),source(2),source(3));

end architecture;