Me gustaría saber cómo reemplazar una declaración if
con una declaración case
.
La declaración if
es
architecture super_mux_v1 of mux_case is
begin
process (X,SEL) is
begin
if (SEL = "000") then
Y <= X(0);
elsif (SEL = "001") then
Y <= X(1);
elsif (SEL = "010") then
Y <= X(2);
elsif (SEL = "011") then
Y <= X(3);
elsif (SEL = "100") then
Y <= X(4);
elsif (SEL = "101") then
Y <= X(5);
elsif (SEL = "110") then
Y <= X(6);
else
Y <= X(7);
end if;
end process;
end super_mux_v1;
Mi solución se puede encontrar a continuación, pero recibo algunos errores (declaración del caso)
architecture super_mux_v1 of mux_case is
begin
process (X,SEL) is
begin
case SEL is
when "000" => Y <= X(0);
when "001" => Y <= X(1);
when "010" => Y <= X(2);
when "011" => Y <= X(3);
when "100" => Y <= X(4);
when "101" => Y <= X(5);
when "110" => Y <= X(6);
end case;
end process;
end super_mux_v1;
Cuando comienzo la compilación aparece un error que dice