TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Decodificador VHDL

Artigos Científicos: Decodificador VHDL. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  17/3/2014  •  500 Palavras (2 Páginas)  •  312 Visualizações

Página 1 de 2

2.2.1 WITH...SELECT

Semelhante a aplicação no multiplexador, o With select faz um trabalho concorrente com as entradas e saídas, porém nesse caso, para cada entrada eu tenho uma sápida diferente, que seria a “mensagem decodificada”.

Exemplo do begin no with select:

begin

with x select

s <= "00000001" when "000",

"00000010" when "001",

"00000100" when "010",

"00001000" when "011",

"00010000" when "100",

"00100000" when "101",

"01000000" when "110",

"10000000" when "111",

"ZZZZZZZZ" when others; //zzz….zz equivale a dizer, qualquer outra coiza retorne outros

end arch_dec3x8;

2.2.2. IF...THEN...ELSE

O if segue o mesmo padrão de implementação, onde a partir de um condicional tem uma solução, e caso nenhum dos condicionais sejam satisfeitos o comando else retornaria a solução para esse.

Exemplo do begin no if then else:

begin

if (x = "000") then s <= "00000001";

elsif (x = "001") then s <= "00000010";

elsif (x = "010") then s <= "00000100";

elsif (x = "011") then s <= "00001000";

elsif (x = "100") then s <= "00010000";

elsif (x = "101") then s <= "00100000";

elsif (x = "110") then s <= "01000000";

elsif (x = "111") then s <= "10000000";

else s <= "ZZZZZZZZ";

end if;

end process;

end arch_dec3x8

2.2.3. CASE

Semelhante ao if, o case usa seu conjunto de palavras reservadas para descrever o mesmo problema. O others seria equivalente a else.

Exemplo do begin no case:

case x is

when "000" => s <= "00000001";

when "001" => s <= "00000010";

when "010"

...

Baixar como (para membros premium)  txt (2.4 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com