Estoy usando declaraciones de casos para verificar los bits de una palabra. ¿Hay alguna forma de escribir esto de forma más compacta, ya que usa mucho espacio (tengo otras señales en las que también quiero hacer esto)?
...
case a(1 downto 0) is
when "00" =>
r(3 downto 0) <= "0000";
when "01" =>
r(3 downto 0) <= "0001";
when "10" =>
r(3 downto 0) <= "1100";
when "11" =>
r(3 downto 0) <= "1101";
when others =>
null;
case a(3 downto 2) is
when "00" =>
r(7 downto 4) <= "0000";
when "01" =>
r(7 downto 4) <= "0001";
when "10" =>
r(7 downto 4) <= "1100";
when "11" =>
r(7 downto 4) <= "1101";
when others =>
null;
case a(5 downto 4) is
when "00" =>
r(11 downto 8) <= "0000";
when "01" =>
r(11 downto 8) <= "0001";
when "10" =>
r(11 downto 8) <= "1100";
when "11" =>
r(11 downto 8) <= "1101";
when others =>
null;
case a(7 downto 6) is
when "00" =>
r(15 downto 12) <= "0000";
when "01" =>
r(15 downto 12) <= "0001";
when "10" =>
r(15 downto 12) <= "1100";
when "11" =>
r(15 downto 12) <= "1101";
when others =>
null;
...