DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP 02/05/2016 Prof. Alexandre - ELP1DLP1 / DEE 1 DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Comando Sequenciais empregando PROCESS -IF ELSE - CASE WHEN Design Unit: Configuration Descrição Comportamental Visualização do circuito sintetizado através do Quartus II RTL e Technology Viewers Introdução à Atributos -Definidos pelo usuário Exemplos por implementação de elementos básicos de sistemas digitais - Mux -Latch - Flip-Flops 02/05/2016 Prof. Alexandre - ELP1DLP1 / DEE 2 DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Recapitulando... Lógica utilizando Descrição COMPORTAMENTAL O comando process é um comando CONCORRENTE, cujo formato é o seguinte: Process ( lista de sensibilidade ) begin descrição lógica end process; A lista de sensibilidade corresponde aos sinais que devem alterar a saída do circuito, e é composta de todos os sinais de entrada para os circuitos combinatórios. Para os registradores assíncronos, a lista seria composta do clock e do reset; e para os registradores síncronos, do clock. 02/05/2016 Prof. Alexandre - ELP1DLP1 / DEE 3 DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Comando IF ELSE O comando IF segue o seguinte formato: if condition then sequence_of_statements { elsif condition then sequence_of_statements } [ else sequence_of_statements ] end if ; 02/05/2016 Prof. Alexandre - ELP1DLP1 / DEE 4 DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP MUX 2x1 • Implementar o seletor (ou multiplexador) utilizando o comando process e if else A 0 C B 1 sel 02/05/2016 Prof. Alexandre - ELP1DLP1 / DEE 5 DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP MUX 2x1 • Implementar o seletor (ou multiplexador) utilizando o comando process e if else A 0 C B 1 sel Solução: Process (A,B,SEL) begin If SEL = ‘0’ then C <= A; else C <= B; end if; end process; 02/05/2016 Prof. Alexandre - ELP1DLP1 / DEE 6 DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Comando CASE É utilizado basicamente para decodificação. case element_colour is when red => statements for red; when green | blue => statements for green or blue; when orange to turquoise => statements for these colours; end case; 02/05/2016 Prof. Alexandre - ELP1DLP1 / DEE 7 DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP MUX 2x1 • Implementar o seletor (ou multiplexador) utilizando o comando process e CASE A 0 C B 1 sel 02/05/2016 Prof. Alexandre - ELP1DLP1 / DEE 8 DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP MUX 2x1 • Implementar o seletor (ou multiplexador) utilizando o comando process e CASE A 0 C B Solução: 1 sel Process (A,B,SEL) begin Case SEL is when ‘0’ => C <= A; when ‘1’ => C <= B; when others => C <= ‘X’ ; end case; end process; 02/05/2016 Prof. Alexandre - ELP1DLP1 / DEE 9 DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Latch RS Síncrono (com “enable”) Clk R S Q 0 X X Latch 1 0 0 Ñ muda 1 0 1 1 1 1 0 0 1 1 1 1 Técnica para interferir na Síntese - Atributo definido pelo usuário Uso do RTL e Technology Viewer 02/05/2016 Prof. Alexandre - ELP1DLP1 / DEE Fonte: Altera 10 DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Latch D Síncrono (com “enable”) 1. 2. Criar o latch D a partir latch RS. Adicionar e remover atributo keep e observar Elementos Lógicos Technology Viewer. do o os no Flip-Flop D 3. 4. Criar o flip-flop D através de duas instâncias do latch D Observar Technology Viewer Fonte: Altera 02/05/2016 Prof. Alexandre - ELP1DLP1 / DEE 11