SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
Universidade Federal de Santa Catarina
         Centro Tecnológico – CTC
    Departamento de Engenharia Elétrica
                                            http://gse.ufsc.br




“EEL7020 – Sistemas Digitais”


     Prof. Eduardo Augusto Bezerra
           Eduardo.Bezerra@eel.ufsc.br




         Florianópolis, agosto de 2012.
Sistemas Digitais



Circuito multiplexador - Mux




        EEL7020 – Sistemas Digitais   2/13
Objetivos do laboratório

1. Entender o conceito de “multiplexador”.
2. Implementação de multiplexador em VHDL
   utilizando apenas funções booleanas (VHDL
   estrutural).
3. Implementação de multiplexador em VHDL
   utilizando when / else (VHDL comportamental).
4. Estudo de caso: uso de mux no projeto hierárquico
   do lab anterior.


                      EEL7020 – Sistemas Digitais   3/13
Projeto de multiplexador - MUX 2 x 1

 • No circuito, se s = 0, a saída m será igual a entrada x.
   Se s = 1, a saída m será igual a entrada y.


                                x                0
                                                       m
                                y                1


                                s


  VHDL estrutural:       m <= (NOT (s) AND x) OR (s AND y);

                         m <= x when s = ‘0’ else
  VHDL comportamental:
                              y;

                         EEL7020 – Sistemas Digitais          4/13
Projeto de multiplexador - MUX 4 x 1

                                                         w   00
  w                                                      x   01
                                                                            m
                                                         y   10
  x                                                      z   11

                                      m                           2 bits
  y                                                      s
  z
                                   VHDL comportamental:
                             m <= w when s = “00” else
 s1                               x when s = “01” else
 s0                               y when s = “10” else
                                  z;

           Definição do seletor na entity - s: in std_logic_vector(1 downto 0);

                           EEL7020 – Sistemas Digitais                     5/13
Tarefa a ser realizada na aula prática


PARTE I – Mux 4x1 em VHDL estrutural
PARTE II – Mux 4x1 em VHDL comportamental




                EEL7020 – Sistemas Digitais   6/13
Reutilizar os arquivos do lab anterior, e realizar as
alterações indicadas a seguir (Mux 4x1 no lugar de C4):

                      C1                                   topo
C   SW(2)
                                  F1
B   SW(1)

A   SW(0)                                            Mux 4x1             LEDR(7)
                                                                         LEDR(6)
                                                                         LEDR(5)
                      C2                                                 LEDR(4)
                                                                         LEDR(3)
                                                      00
                                  F2                  01
                                                                         LEDR(2)
                                                                         LEDR(1)
                                                                         LEDR(0)
                                                      10
                                               0      11
                                                                     F
                      C3                                    2 bits
                                  F3

Seleção
SW(17..16)



                       EEL7020 – Sistemas Digitais                       7/13
Descrição da tarefa: PARTE I – VHDL estrutural

• Utilizar os componentes C1, C2, C3 e topo do laboratório
anterior.

• Remover o componente C4 do projeto:
   • Remover C4 da lista de arquivos
   • Remover o Component C4 do topo.vhd
   • Remover o port map do C4 do topo.vhd

• Criar um novo arquivo VHDL, e implementar um mux 4x1
utilizando VHDL estrutural, conforme exemplo do slide 4.

• Editar o arquivo topo.vhd, e realizar a inclusão do novo
componente mux 4x1 no circuito, utilizando as construções do
VHDL component e port map.
                           EEL7020 – Sistemas Digitais       8/13
Interface com o usuário
                                              Saída F - LEDR(0)




     Seleção
   SW(17) SW(16)                 Entrada C Entrada B Entrada A
                                  SW(2)     SW(1)     SW(0)

       Seleção SW(17..16)                          Saída LEDR(0)
               00                                        F1
               01                                        F2
               10                                        F3
               11                                 0 (LED apagado)

                            EEL7020 – Sistemas Digitais             9/13
Descrição da tarefa: PARTE II – VHDL comportamental

• Criar um novo arquivo VHDL, e implementar um NOVO mux 4x1
utilizando VHDL comportamental, conforme exemplos dos slides
4 e 5 (uso de when / else).

• Não é necessário alterar o arquivo topo.vhd, pois o novo mux
4x1 deverá possuir exatamente a mesma interface do mux 4x1
implementado em VHDL estrutural da PARTE I (mesma entity).

• Se na entity da PARTE I (VHDL estrutural) não foi definido um
  seletor de dois bits, ou seja s: in std_logic_vector(1 downto 0),
  nesse caso será necessário realizar essa alteração na PARTE II.

• Realizar a síntese, simulação, e prototipação na placa DE2, e
verificar se o novo circuito funciona de acordo com o esperado.
                           EEL7020 – Sistemas Digitais        10/13
Resumo da tarefa – Atenção!! SÃO DOIS PROJETOS DIFERENTES!

 • PARTE I – Projetar e implementar o MUX em VHDL
                                                           w
    estrutural:                                            x
                                                           y                   m
                                                           z
 m <= (w and ((NOT (s1) AND (NOT(s0))) OR …
                                                           s1
                                                           s0

 • PARTE II – Projetar e implementar o MUX em VHDL
    comportamental:                                        w    00
 m <= w when s = “00” else                                 x    01
                                                                                   m
      x when s = “01” else                                 y    10
      y when s = “10” else                                 z    11
      z;                                                             2 bits

                                                           s
                             EEL7020 – Sistemas Digitais                      11/13
PARTE I – VHDL estrutural

             topo     C1
                                              w, x, y, z: in std_logic;

C   SW(2)
                                  F1                            m: out std_logic;
B   SW(1)
                                                                               LEDR(7)
A   SW(0)                                              Mux 4x1                 LEDR(6)
                                                                               LEDR(5)
                      C2                                                       LEDR(4)
                                                                               LEDR(3)
                                                    00
                                  F2                01
                                                                               LEDR(2)
                                                                               LEDR(1)
                                                    10                         LEDR(0)
                                                    11
                                                0                     F
                      C3
                                  F3                   2 bits




Seleção
SW(17..16)



                       EEL7020 – Sistemas Digitaisin
                                              s:       std_logic_vector(1 downto 0);
                                                                             12/13
PARTE II – VHDL comportamental

             topo     C1
                                              w, x, y, z: in std_logic;

C   SW(2)
                                  F1                               m: out std_logic;
B   SW(1)

A   SW(0)                                              Mux 4x1                    LEDR(7)
                                                                                  LEDR(6)
                                                                                  LEDR(5)
                      C2                                                          LEDR(4)
                                                                                  LEDR(3)
                                                         00
                                  F2                     01 when
                                                                                  LEDR(2)
                                                                                  LEDR(1)
                                                                                  LEDR(0)
                                                         10 else
                                               0         11
                                                                         F
                      C3
                                  F3                   2 bits




Seleção
SW(17..16)



                       EEL7020 – Sistemas Digitaisin
                                              s:       std_logic_vector(1 downto 0);
                                                                             13/13

Contenu connexe

Tendances

Apostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoApostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoClaudio Arkan
 
Aula 02 conhecendo o multímetro analógico(1)
Aula 02   conhecendo o multímetro analógico(1)Aula 02   conhecendo o multímetro analógico(1)
Aula 02 conhecendo o multímetro analógico(1)Roziane Rebouças
 
Principios de Eletronica
Principios de EletronicaPrincipios de Eletronica
Principios de EletronicaHelder da Rocha
 
inversor de frequencia
inversor de frequenciainversor de frequencia
inversor de frequenciaRenato Amorim
 
ELetromiografia como instrumento de avaliação e o Biofeedback como readequaçã...
ELetromiografia como instrumento de avaliação e o Biofeedback como readequaçã...ELetromiografia como instrumento de avaliação e o Biofeedback como readequaçã...
ELetromiografia como instrumento de avaliação e o Biofeedback como readequaçã...Fabio Mazzola
 
Transformadores para medição e proteção
Transformadores para medição e proteçãoTransformadores para medição e proteção
Transformadores para medição e proteçãoRodrigo Prado
 
Slides cursoweg 101023214304-motores
Slides cursoweg 101023214304-motoresSlides cursoweg 101023214304-motores
Slides cursoweg 101023214304-motoresJorge Antonio
 
Curso de eletrônica basíca
Curso de eletrônica basícaCurso de eletrônica basíca
Curso de eletrônica basícaantonio rodrigues
 
Aula 01 eletronica industrial
Aula 01   eletronica industrialAula 01   eletronica industrial
Aula 01 eletronica industrialAlex Ferreira
 
Instalações elétricas industriais_slides_parte_i
Instalações elétricas industriais_slides_parte_iInstalações elétricas industriais_slides_parte_i
Instalações elétricas industriais_slides_parte_iwagner26
 
Aula - CLP & Linguagem Ladder
Aula - CLP & Linguagem LadderAula - CLP & Linguagem Ladder
Aula - CLP & Linguagem LadderAnderson Pontes
 

Tendances (20)

Apostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoApostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançado
 
Aula 02 conhecendo o multímetro analógico(1)
Aula 02   conhecendo o multímetro analógico(1)Aula 02   conhecendo o multímetro analógico(1)
Aula 02 conhecendo o multímetro analógico(1)
 
Apostila de CLP / PLC
Apostila de CLP / PLCApostila de CLP / PLC
Apostila de CLP / PLC
 
Multimetros
MultimetrosMultimetros
Multimetros
 
Principios de Eletronica
Principios de EletronicaPrincipios de Eletronica
Principios de Eletronica
 
inversor de frequencia
inversor de frequenciainversor de frequencia
inversor de frequencia
 
ELetromiografia como instrumento de avaliação e o Biofeedback como readequaçã...
ELetromiografia como instrumento de avaliação e o Biofeedback como readequaçã...ELetromiografia como instrumento de avaliação e o Biofeedback como readequaçã...
ELetromiografia como instrumento de avaliação e o Biofeedback como readequaçã...
 
CLP-S7-1200 NÍVEL 1.pptx
CLP-S7-1200 NÍVEL 1.pptxCLP-S7-1200 NÍVEL 1.pptx
CLP-S7-1200 NÍVEL 1.pptx
 
Transformadores para medição e proteção
Transformadores para medição e proteçãoTransformadores para medição e proteção
Transformadores para medição e proteção
 
11 osciladores
11 osciladores11 osciladores
11 osciladores
 
Slides cursoweg 101023214304-motores
Slides cursoweg 101023214304-motoresSlides cursoweg 101023214304-motores
Slides cursoweg 101023214304-motores
 
Terrometro
TerrometroTerrometro
Terrometro
 
Curso de eletrônica basíca
Curso de eletrônica basícaCurso de eletrônica basíca
Curso de eletrônica basíca
 
Aula 01 eletronica industrial
Aula 01   eletronica industrialAula 01   eletronica industrial
Aula 01 eletronica industrial
 
Instalações elétricas industriais_slides_parte_i
Instalações elétricas industriais_slides_parte_iInstalações elétricas industriais_slides_parte_i
Instalações elétricas industriais_slides_parte_i
 
Eletrônica Básica
Eletrônica BásicaEletrônica Básica
Eletrônica Básica
 
Aula 2 lab_fisica_b_multimetro
Aula 2 lab_fisica_b_multimetroAula 2 lab_fisica_b_multimetro
Aula 2 lab_fisica_b_multimetro
 
Aula - CLP & Linguagem Ladder
Aula - CLP & Linguagem LadderAula - CLP & Linguagem Ladder
Aula - CLP & Linguagem Ladder
 
Clp basico
Clp basicoClp basico
Clp basico
 
Clp
ClpClp
Clp
 

Plus de Eduardo Bezerra

Plus de Eduardo Bezerra (9)

Lab9 processos
Lab9 processosLab9 processos
Lab9 processos
 
Lab8 controladores
Lab8 controladoresLab8 controladores
Lab8 controladores
 
Lab7 fsm
Lab7 fsmLab7 fsm
Lab7 fsm
 
Lab6 flipflop
Lab6 flipflopLab6 flipflop
Lab6 flipflop
 
Lab5 decod 7seg
Lab5 decod 7segLab5 decod 7seg
Lab5 decod 7seg
 
Lab3 componentes
Lab3 componentesLab3 componentes
Lab3 componentes
 
Lab2 vhdl fluxo_quartus
Lab2 vhdl fluxo_quartusLab2 vhdl fluxo_quartus
Lab2 vhdl fluxo_quartus
 
Lab1 apresentacao disciplina
Lab1 apresentacao disciplinaLab1 apresentacao disciplina
Lab1 apresentacao disciplina
 
Lab10 somadores
Lab10 somadoresLab10 somadores
Lab10 somadores
 

Lab4 mux

  • 1. Universidade Federal de Santa Catarina Centro Tecnológico – CTC Departamento de Engenharia Elétrica http://gse.ufsc.br “EEL7020 – Sistemas Digitais” Prof. Eduardo Augusto Bezerra Eduardo.Bezerra@eel.ufsc.br Florianópolis, agosto de 2012.
  • 2. Sistemas Digitais Circuito multiplexador - Mux EEL7020 – Sistemas Digitais 2/13
  • 3. Objetivos do laboratório 1. Entender o conceito de “multiplexador”. 2. Implementação de multiplexador em VHDL utilizando apenas funções booleanas (VHDL estrutural). 3. Implementação de multiplexador em VHDL utilizando when / else (VHDL comportamental). 4. Estudo de caso: uso de mux no projeto hierárquico do lab anterior. EEL7020 – Sistemas Digitais 3/13
  • 4. Projeto de multiplexador - MUX 2 x 1 • No circuito, se s = 0, a saída m será igual a entrada x. Se s = 1, a saída m será igual a entrada y. x 0 m y 1 s VHDL estrutural: m <= (NOT (s) AND x) OR (s AND y); m <= x when s = ‘0’ else VHDL comportamental: y; EEL7020 – Sistemas Digitais 4/13
  • 5. Projeto de multiplexador - MUX 4 x 1 w 00 w x 01 m y 10 x z 11 m 2 bits y s z VHDL comportamental: m <= w when s = “00” else s1 x when s = “01” else s0 y when s = “10” else z; Definição do seletor na entity - s: in std_logic_vector(1 downto 0); EEL7020 – Sistemas Digitais 5/13
  • 6. Tarefa a ser realizada na aula prática PARTE I – Mux 4x1 em VHDL estrutural PARTE II – Mux 4x1 em VHDL comportamental EEL7020 – Sistemas Digitais 6/13
  • 7. Reutilizar os arquivos do lab anterior, e realizar as alterações indicadas a seguir (Mux 4x1 no lugar de C4): C1 topo C SW(2) F1 B SW(1) A SW(0) Mux 4x1 LEDR(7) LEDR(6) LEDR(5) C2 LEDR(4) LEDR(3) 00 F2 01 LEDR(2) LEDR(1) LEDR(0) 10 0 11 F C3 2 bits F3 Seleção SW(17..16) EEL7020 – Sistemas Digitais 7/13
  • 8. Descrição da tarefa: PARTE I – VHDL estrutural • Utilizar os componentes C1, C2, C3 e topo do laboratório anterior. • Remover o componente C4 do projeto: • Remover C4 da lista de arquivos • Remover o Component C4 do topo.vhd • Remover o port map do C4 do topo.vhd • Criar um novo arquivo VHDL, e implementar um mux 4x1 utilizando VHDL estrutural, conforme exemplo do slide 4. • Editar o arquivo topo.vhd, e realizar a inclusão do novo componente mux 4x1 no circuito, utilizando as construções do VHDL component e port map. EEL7020 – Sistemas Digitais 8/13
  • 9. Interface com o usuário Saída F - LEDR(0) Seleção SW(17) SW(16) Entrada C Entrada B Entrada A SW(2) SW(1) SW(0) Seleção SW(17..16) Saída LEDR(0) 00 F1 01 F2 10 F3 11 0 (LED apagado) EEL7020 – Sistemas Digitais 9/13
  • 10. Descrição da tarefa: PARTE II – VHDL comportamental • Criar um novo arquivo VHDL, e implementar um NOVO mux 4x1 utilizando VHDL comportamental, conforme exemplos dos slides 4 e 5 (uso de when / else). • Não é necessário alterar o arquivo topo.vhd, pois o novo mux 4x1 deverá possuir exatamente a mesma interface do mux 4x1 implementado em VHDL estrutural da PARTE I (mesma entity). • Se na entity da PARTE I (VHDL estrutural) não foi definido um seletor de dois bits, ou seja s: in std_logic_vector(1 downto 0), nesse caso será necessário realizar essa alteração na PARTE II. • Realizar a síntese, simulação, e prototipação na placa DE2, e verificar se o novo circuito funciona de acordo com o esperado. EEL7020 – Sistemas Digitais 10/13
  • 11. Resumo da tarefa – Atenção!! SÃO DOIS PROJETOS DIFERENTES! • PARTE I – Projetar e implementar o MUX em VHDL w estrutural: x y m z m <= (w and ((NOT (s1) AND (NOT(s0))) OR … s1 s0 • PARTE II – Projetar e implementar o MUX em VHDL comportamental: w 00 m <= w when s = “00” else x 01 m x when s = “01” else y 10 y when s = “10” else z 11 z; 2 bits s EEL7020 – Sistemas Digitais 11/13
  • 12. PARTE I – VHDL estrutural topo C1 w, x, y, z: in std_logic; C SW(2) F1 m: out std_logic; B SW(1) LEDR(7) A SW(0) Mux 4x1 LEDR(6) LEDR(5) C2 LEDR(4) LEDR(3) 00 F2 01 LEDR(2) LEDR(1) 10 LEDR(0) 11 0 F C3 F3 2 bits Seleção SW(17..16) EEL7020 – Sistemas Digitaisin s: std_logic_vector(1 downto 0); 12/13
  • 13. PARTE II – VHDL comportamental topo C1 w, x, y, z: in std_logic; C SW(2) F1 m: out std_logic; B SW(1) A SW(0) Mux 4x1 LEDR(7) LEDR(6) LEDR(5) C2 LEDR(4) LEDR(3) 00 F2 01 when LEDR(2) LEDR(1) LEDR(0) 10 else 0 11 F C3 F3 2 bits Seleção SW(17..16) EEL7020 – Sistemas Digitaisin s: std_logic_vector(1 downto 0); 13/13