SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
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



   Projeto hierárquico




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

1. Entender o conceito de “projeto hierárquico”.
2. Implementação de projeto hierárquico em VHDL
   com o uso de “component” e “port map”.
3. Uso de ferramentas de desenvolvimento para o
   projeto hierárquico de sistemas digitais em VHDL.
4. Implementação de estudo de caso em VHDL,
   incluindo a simulação com diagramas de formas de
   ondas, e prototipação no FPGA da placa DE2.


                      EEL7020 – Sistemas Digitais   3/30
Projeto hierárquico
Ex. projetar um circuito para implementar a seguinte equação:
   F = (F1 and F2) or F3

onde:
   F1 = A or B or C
   F2 = B xor C
   F3 = “a ser definido”

O circuito possui um componente (C4) para o cálculo de F, e três
componentes (C1, C2 e C3) para calcular F1, F2 e F3.

O circuito final consiste de um componente que recebe A, B e C
como entradas, e fornece F como saída.

                           EEL7020 – Sistemas Digitais     4/30
Projeto hierárquico
        Componente C1: implementa F1 = A or B or C
                      C1
 C                                F1
 B
 A




                       EEL7020 – Sistemas Digitais   5/30
Projeto hierárquico
          Componente C2: implementa F2 = B xor C


 C
 B
 A
                      C2

                                  F2




                       EEL7020 – Sistemas Digitais   6/30
Projeto hierárquico
     Componente C3: a ser implementado como tarefa da aula


 C
 B
 A




                        C3

                                    F3
                        ?

                         EEL7020 – Sistemas Digitais         7/30
Projeto hierárquico
      Componente C4: implementa F = (F1 and F2) or F3


 C                                F1
 B
 A
                                                     C4

                                  F2
                                                          F


                                  F3
                       ?

                       EEL7020 – Sistemas Digitais        8/30
Projeto hierárquico
     O componente TOPO possui 4 componentes internamente.


 C                                                     topo
 B
 A


                                                              F



                        ?

                         EEL7020 – Sistemas Digitais          9/30
Projeto hierárquico
     Componente “TOPO” recebe A, B, C e fornece F como saída.

ENTRADAS                                                        SAÍDAS


 C                                                       topo
                                      F1
 B
 A
                 “Topo” da hierarquia de
                             F2
                     componentes:                                   F
                responsável por “colar” (conectar)
                   os componentes do circuito
                                  F3


                           EEL7020 – Sistemas Digitais              10/30
Implementação do circuito na placa DE2




             EEL7020 – Sistemas Digitais   11/30
Implementação do circuito na placa DE2



                                  Saída F - LEDR(0)




                       Entrada C Entrada B Entrada A
                        SW(2)     SW(1)     SW(0)




                    EEL7020 – Sistemas Digitais        12/30
A, B, C são as chaves SW(0), SW(1) e SW(2), respectivamente.
F é o LED vermelho LEDR(0).


ENTRADAS                                                    SAÍDAS

C   SW(2)
                                     F1                          LEDR(17)
B   SW(1)                                                        ...
                                                                 LEDR(7)
A   SW(0)
              O arquivo topo.vhd implementa a                    LEDR(6)
                                                                 LEDR(5)
                                                                 LEDR(4)
            entity “Topo”, que recebe as entradas                LEDR(3)
                                                                 LEDR(2)
             SW(2..0) e fornece F2saída LEDR(0).
                                 a                               LEDR(1)
                                                                 LEDR(0)

             Utiliza o comando port map do VHDL         F
              para realizar a conexão dos quatro
                  componentes C1, C2, C3 e C4
                                 F3



                          EEL7020 – Sistemas Digitais           13/30
A, B, C são as chaves SW(0), SW(1) e SW(2), respectivamente.
F é o LED vermelho LEDR(0).


ENTRADAS                                                               SAÍDAS

C   SW(2)
                                     F1                 topo.vhd
B   SW(1)
                                                                            LEDR(7)
A   SW(0)
                                                                            LEDR(6)
                                                                            LEDR(5)
                                                                            LEDR(4)
                                                                            LEDR(3)
                                                                            LEDR(2)
                                     F2                                     LEDR(1)
                                                                            LEDR(0)

                                                                   F

                                     F3
                         ?

                          EEL7020 – Sistemas Digitais                      14/30
• O projeto possui um total de 5 arquivos VHDL, cada um
  com uma entity e uma architecture.
• Os quatro componentes abaixo estão nos arquivos c1.vhd,
  c2.vhd, c3.vhd e c4.vhd




                        EEL7020 – Sistemas Digitais   15/30
A entity/architecture “topo” realiza as conexões entre os
componentes, e está no arquivo topo.vhd




                         EEL7020 – Sistemas Digitais        16/30
Implementação do circuito no FPGA da placa DE2




                    EEL7020 – Sistemas Digitais   17/30
Componente C1 (arquivo c1.vhd)

  library IEEE;
  use IEEE.Std_Logic_1164.all;

  entity C1 is
  port (A: in std_logic;
        B: in std_logic;
        C: in std_logic;
        F: out std_logic
       );
  end C1;                                            ?
  architecture c1_estr of C1 is
  begin
    F <= A or B or C;
  end c1_estr;



                       EEL7020 – Sistemas Digitais       18/30
Componente C2 (arquivo c2.vhd)

  library IEEE;
  use IEEE.Std_Logic_1164.all;

  entity C2 is
  port (A: in std_logic;
        B: in std_logic;
        F: out std_logic
       );
  end C2;
                                                     ?
  architecture c2_estr of C2 is
  begin
    F <= A xor B;
  end c2_estr;



                       EEL7020 – Sistemas Digitais       19/30
Componente C3 (arquivo c3.vhd) - tarefa da aula!




                  ?

                      EEL7020 – Sistemas Digitais   20/30
Componente C4 (arquivo c4.vhd)

  library IEEE;
  use IEEE.Std_Logic_1164.all;

  entity C4 is
  port (A: in std_logic;
        B: in std_logic;
        C: in std_logic;
        F: out std_logic
       );
  end C4;                                            ?
  architecture c4_estr of C4 is
  begin
    F <= (A and B) or C;
  end c4_estr;


                       EEL7020 – Sistemas Digitais       21/30
Componente Topo (arquivo topo.vhd)
library ieee;
use ieee.std_logic_1164.all;
entity topo is                                          C
  port ( SW : IN STD_LOGIC_VECTOR(17 downto 0);         B
       LEDR : OUT STD_LOGIC_VECTOR(17 downto 0)
                                                        A
 );
end topo;
architecture topo_estru of topo is
  signal F1, F2, F3: std_logic;
 component C1
  port (A : in std_logic;
        B : in std_logic;
        C : in std_logic;
        F : out std_logic);
 end component;
 component C2
    port (A : in std_logic;            begin
          B : in std_logic;
          F : out std_logic);
 end component;
                                       L0: C1 port map (SW(0), SW(1), SW(2), F1);
 -- INCLUIR AQUI O C3
 component C4                          L1: C2 port map (SW(1), SW(2), F2);
    port (A : in std_logic;
          B : in std_logic;            -- INCLUIR AQUI AS CONEXÕES DE C3
          C : in std_logic;
          F : out std_logic            L3: C4 port map (F1, F2, F3, LEDR(0));
    );
 end component;
                                       end topo_estru; -- Digitais e’ o END da architecture
                                            EEL7020 – Sistemas esse                           22/30
Tarefa a ser realizada na aula prática




               EEL7020 – Sistemas Digitais   23/30
Descrição da tarefa

• Utilizando os componentes C1, C2 e C4 como exemplo,
desenvolver o componente C3 em VHDL que implementa a
funcionalidade do seguinte circuito:

                 C   SW(2)
                 B   SW(1)
                                                           F3
                 A   SW(0)


• Editar o arquivo topo.vhd, e realizar a inclusão do novo
componente C3 no circuito, utilizando as construções do VHDL
component e port map, conforme descrito nos slides anteriores.


                             EEL7020 – Sistemas Digitais        24/30
Análise dos resultados
A partir da análise da função lógica, preencher a tabela
verdade a seguir, e comparar com os resultados obtidos na
simulação e na execução na placa DE2
                                                       F = (F1 and F2) or F3
Entrada C B A      Saída F                             F1 = A or B or C
  SW(2..0)         LEDR(0)                             F2 = B xor C
                                                       F3 = (B or C) and (not A)
    000
    001
    010
    011
    100
    101
    110
    111                  EEL7020 – Sistemas Digitais                           25/30
Implementação do circuito na placa DE2
                                            Saída F - LEDR(0)




                               Entrada C Entrada B Entrada A
                                SW(2)     SW(1)     SW(0)




                    EEL7020 – Sistemas Digitais                 26/30
Dicas úteis
1. Entrar no site da disciplina (http://gse.ufsc.br/bezerra) e obter os fontes
   VHDL a serem utilizados na aula (ou copiar e colar dos slides).
2. Criar uma pasta vazia e copiar os arquivos VHDL. Utilizar um caminho sem
   espaços ou caracteres acentuados nos nomes das pastas.
3. Executar o Quartus e criar um novo projeto (“New Project Wizard”).
4. No campo “diretório de trabalho”, apontar para a
   nova pasta contendo os arquivos VHDL (no
   exemplo ao lado está em c:tmplab3).
5. No campo “nome do projeto”, colocar a palavra
   “topo”.
6. A entity “top-level” também se chamará “topo”.
7. Os 4 arquivos VHDL poderão ser incluídos no projeto durante ou após o
   wizard. Para adicionar durante o wizard, basta selecionar a pasta em que
   os arquivos se encontram (na etapa add files), e adicionar os arquivos.
8. Selecionar o FPGA existente na placa, conforme tutorial dos laboratórios
   anteriores.
   FIM DO WIZARD
                                EEL7020 – Sistemas Digitais             27/30
Dicas úteis

9. Criar um novo arquivo c3.vhd (se ainda não tiver sido criado),
   e realizar a implementação desse componente conforme
   circuito especificado na tarefa.
10.Editar o arquivo topo.vhd, e incluir o novo componente C3.
11.Obter o arquivo de pinos na página da disciplina (pinos.csv ou
   DE2_pin_assignments.csv), copiar para a pasta do projeto, e
   importar esse arquivo utilizando a opção “import assigments“
   do Quartus II conforme o tutorial da aula anterior.
12.Realizar a síntese (compile).
13.Realizar a simulação (diagrama de formas de ondas).
14.Verificar a funcionalidade do circuito na placa DE2.




                          EEL7020 – Sistemas Digitais       28/30
Dicas úteis




 • Verificar se os 5 arquivos VHDL estão listados no projeto (Files).

 • Usar o “RTL Viewer” para obter o diagrama de blocos e verificar a
   correta geração do projeto hierárquico.
                               EEL7020 – Sistemas Digitais              29/30
Dicas úteis

  RTL Viewer – dois clicks para “entrar” no bloco (hierarquia).




                          EEL7020 – Sistemas Digitais       30/30

Mais conteúdo relacionado

Destaque (6)

Lab6 flipflop
Lab6 flipflopLab6 flipflop
Lab6 flipflop
 
Lab7 fsm
Lab7 fsmLab7 fsm
Lab7 fsm
 
Lab8 controladores
Lab8 controladoresLab8 controladores
Lab8 controladores
 
Lab1 apresentacao disciplina
Lab1 apresentacao disciplinaLab1 apresentacao disciplina
Lab1 apresentacao disciplina
 
Lab9 processos
Lab9 processosLab9 processos
Lab9 processos
 
Lab10 somadores
Lab10 somadoresLab10 somadores
Lab10 somadores
 

Semelhante a Projeto hierárquico de sistemas digitais em VHDL

Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoJuan Manoel
 
CSEduino presentation at Lisbon Mini Maker Faire
CSEduino presentation at Lisbon Mini Maker FaireCSEduino presentation at Lisbon Mini Maker Faire
CSEduino presentation at Lisbon Mini Maker FaireJoao Alves
 
Workshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardWorkshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardFabio Souza
 
Clp allen bralley aula 04
Clp allen bralley aula 04Clp allen bralley aula 04
Clp allen bralley aula 04MAKILL
 

Semelhante a Projeto hierárquico de sistemas digitais em VHDL (7)

Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduino
 
CSEduino presentation at Lisbon Mini Maker Faire
CSEduino presentation at Lisbon Mini Maker FaireCSEduino presentation at Lisbon Mini Maker Faire
CSEduino presentation at Lisbon Mini Maker Faire
 
Tutorial de2
Tutorial de2Tutorial de2
Tutorial de2
 
Comunicação serial
Comunicação serialComunicação serial
Comunicação serial
 
Workshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardWorkshop Microchip Curiosity Board
Workshop Microchip Curiosity Board
 
Aula04
Aula04Aula04
Aula04
 
Clp allen bralley aula 04
Clp allen bralley aula 04Clp allen bralley aula 04
Clp allen bralley aula 04
 

Projeto hierárquico de sistemas digitais em VHDL

  • 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 Projeto hierárquico EEL7020 – Sistemas Digitais 2/30
  • 3. Objetivos do laboratório 1. Entender o conceito de “projeto hierárquico”. 2. Implementação de projeto hierárquico em VHDL com o uso de “component” e “port map”. 3. Uso de ferramentas de desenvolvimento para o projeto hierárquico de sistemas digitais em VHDL. 4. Implementação de estudo de caso em VHDL, incluindo a simulação com diagramas de formas de ondas, e prototipação no FPGA da placa DE2. EEL7020 – Sistemas Digitais 3/30
  • 4. Projeto hierárquico Ex. projetar um circuito para implementar a seguinte equação: F = (F1 and F2) or F3 onde: F1 = A or B or C F2 = B xor C F3 = “a ser definido” O circuito possui um componente (C4) para o cálculo de F, e três componentes (C1, C2 e C3) para calcular F1, F2 e F3. O circuito final consiste de um componente que recebe A, B e C como entradas, e fornece F como saída. EEL7020 – Sistemas Digitais 4/30
  • 5. Projeto hierárquico Componente C1: implementa F1 = A or B or C C1 C F1 B A EEL7020 – Sistemas Digitais 5/30
  • 6. Projeto hierárquico Componente C2: implementa F2 = B xor C C B A C2 F2 EEL7020 – Sistemas Digitais 6/30
  • 7. Projeto hierárquico Componente C3: a ser implementado como tarefa da aula C B A C3 F3 ? EEL7020 – Sistemas Digitais 7/30
  • 8. Projeto hierárquico Componente C4: implementa F = (F1 and F2) or F3 C F1 B A C4 F2 F F3 ? EEL7020 – Sistemas Digitais 8/30
  • 9. Projeto hierárquico O componente TOPO possui 4 componentes internamente. C topo B A F ? EEL7020 – Sistemas Digitais 9/30
  • 10. Projeto hierárquico Componente “TOPO” recebe A, B, C e fornece F como saída. ENTRADAS SAÍDAS C topo F1 B A “Topo” da hierarquia de F2 componentes: F responsável por “colar” (conectar) os componentes do circuito F3 EEL7020 – Sistemas Digitais 10/30
  • 11. Implementação do circuito na placa DE2 EEL7020 – Sistemas Digitais 11/30
  • 12. Implementação do circuito na placa DE2 Saída F - LEDR(0) Entrada C Entrada B Entrada A SW(2) SW(1) SW(0) EEL7020 – Sistemas Digitais 12/30
  • 13. A, B, C são as chaves SW(0), SW(1) e SW(2), respectivamente. F é o LED vermelho LEDR(0). ENTRADAS SAÍDAS C SW(2) F1 LEDR(17) B SW(1) ... LEDR(7) A SW(0) O arquivo topo.vhd implementa a LEDR(6) LEDR(5) LEDR(4) entity “Topo”, que recebe as entradas LEDR(3) LEDR(2) SW(2..0) e fornece F2saída LEDR(0). a LEDR(1) LEDR(0) Utiliza o comando port map do VHDL F para realizar a conexão dos quatro componentes C1, C2, C3 e C4 F3 EEL7020 – Sistemas Digitais 13/30
  • 14. A, B, C são as chaves SW(0), SW(1) e SW(2), respectivamente. F é o LED vermelho LEDR(0). ENTRADAS SAÍDAS C SW(2) F1 topo.vhd B SW(1) LEDR(7) A SW(0) LEDR(6) LEDR(5) LEDR(4) LEDR(3) LEDR(2) F2 LEDR(1) LEDR(0) F F3 ? EEL7020 – Sistemas Digitais 14/30
  • 15. • O projeto possui um total de 5 arquivos VHDL, cada um com uma entity e uma architecture. • Os quatro componentes abaixo estão nos arquivos c1.vhd, c2.vhd, c3.vhd e c4.vhd EEL7020 – Sistemas Digitais 15/30
  • 16. A entity/architecture “topo” realiza as conexões entre os componentes, e está no arquivo topo.vhd EEL7020 – Sistemas Digitais 16/30
  • 17. Implementação do circuito no FPGA da placa DE2 EEL7020 – Sistemas Digitais 17/30
  • 18. Componente C1 (arquivo c1.vhd) library IEEE; use IEEE.Std_Logic_1164.all; entity C1 is port (A: in std_logic; B: in std_logic; C: in std_logic; F: out std_logic ); end C1; ? architecture c1_estr of C1 is begin F <= A or B or C; end c1_estr; EEL7020 – Sistemas Digitais 18/30
  • 19. Componente C2 (arquivo c2.vhd) library IEEE; use IEEE.Std_Logic_1164.all; entity C2 is port (A: in std_logic; B: in std_logic; F: out std_logic ); end C2; ? architecture c2_estr of C2 is begin F <= A xor B; end c2_estr; EEL7020 – Sistemas Digitais 19/30
  • 20. Componente C3 (arquivo c3.vhd) - tarefa da aula! ? EEL7020 – Sistemas Digitais 20/30
  • 21. Componente C4 (arquivo c4.vhd) library IEEE; use IEEE.Std_Logic_1164.all; entity C4 is port (A: in std_logic; B: in std_logic; C: in std_logic; F: out std_logic ); end C4; ? architecture c4_estr of C4 is begin F <= (A and B) or C; end c4_estr; EEL7020 – Sistemas Digitais 21/30
  • 22. Componente Topo (arquivo topo.vhd) library ieee; use ieee.std_logic_1164.all; entity topo is C port ( SW : IN STD_LOGIC_VECTOR(17 downto 0); B LEDR : OUT STD_LOGIC_VECTOR(17 downto 0) A ); end topo; architecture topo_estru of topo is signal F1, F2, F3: std_logic; component C1 port (A : in std_logic; B : in std_logic; C : in std_logic; F : out std_logic); end component; component C2 port (A : in std_logic; begin B : in std_logic; F : out std_logic); end component; L0: C1 port map (SW(0), SW(1), SW(2), F1); -- INCLUIR AQUI O C3 component C4 L1: C2 port map (SW(1), SW(2), F2); port (A : in std_logic; B : in std_logic; -- INCLUIR AQUI AS CONEXÕES DE C3 C : in std_logic; F : out std_logic L3: C4 port map (F1, F2, F3, LEDR(0)); ); end component; end topo_estru; -- Digitais e’ o END da architecture EEL7020 – Sistemas esse 22/30
  • 23. Tarefa a ser realizada na aula prática EEL7020 – Sistemas Digitais 23/30
  • 24. Descrição da tarefa • Utilizando os componentes C1, C2 e C4 como exemplo, desenvolver o componente C3 em VHDL que implementa a funcionalidade do seguinte circuito: C SW(2) B SW(1) F3 A SW(0) • Editar o arquivo topo.vhd, e realizar a inclusão do novo componente C3 no circuito, utilizando as construções do VHDL component e port map, conforme descrito nos slides anteriores. EEL7020 – Sistemas Digitais 24/30
  • 25. Análise dos resultados A partir da análise da função lógica, preencher a tabela verdade a seguir, e comparar com os resultados obtidos na simulação e na execução na placa DE2 F = (F1 and F2) or F3 Entrada C B A Saída F F1 = A or B or C SW(2..0) LEDR(0) F2 = B xor C F3 = (B or C) and (not A) 000 001 010 011 100 101 110 111 EEL7020 – Sistemas Digitais 25/30
  • 26. Implementação do circuito na placa DE2 Saída F - LEDR(0) Entrada C Entrada B Entrada A SW(2) SW(1) SW(0) EEL7020 – Sistemas Digitais 26/30
  • 27. Dicas úteis 1. Entrar no site da disciplina (http://gse.ufsc.br/bezerra) e obter os fontes VHDL a serem utilizados na aula (ou copiar e colar dos slides). 2. Criar uma pasta vazia e copiar os arquivos VHDL. Utilizar um caminho sem espaços ou caracteres acentuados nos nomes das pastas. 3. Executar o Quartus e criar um novo projeto (“New Project Wizard”). 4. No campo “diretório de trabalho”, apontar para a nova pasta contendo os arquivos VHDL (no exemplo ao lado está em c:tmplab3). 5. No campo “nome do projeto”, colocar a palavra “topo”. 6. A entity “top-level” também se chamará “topo”. 7. Os 4 arquivos VHDL poderão ser incluídos no projeto durante ou após o wizard. Para adicionar durante o wizard, basta selecionar a pasta em que os arquivos se encontram (na etapa add files), e adicionar os arquivos. 8. Selecionar o FPGA existente na placa, conforme tutorial dos laboratórios anteriores. FIM DO WIZARD EEL7020 – Sistemas Digitais 27/30
  • 28. Dicas úteis 9. Criar um novo arquivo c3.vhd (se ainda não tiver sido criado), e realizar a implementação desse componente conforme circuito especificado na tarefa. 10.Editar o arquivo topo.vhd, e incluir o novo componente C3. 11.Obter o arquivo de pinos na página da disciplina (pinos.csv ou DE2_pin_assignments.csv), copiar para a pasta do projeto, e importar esse arquivo utilizando a opção “import assigments“ do Quartus II conforme o tutorial da aula anterior. 12.Realizar a síntese (compile). 13.Realizar a simulação (diagrama de formas de ondas). 14.Verificar a funcionalidade do circuito na placa DE2. EEL7020 – Sistemas Digitais 28/30
  • 29. Dicas úteis • Verificar se os 5 arquivos VHDL estão listados no projeto (Files). • Usar o “RTL Viewer” para obter o diagrama de blocos e verificar a correta geração do projeto hierárquico. EEL7020 – Sistemas Digitais 29/30
  • 30. Dicas úteis RTL Viewer – dois clicks para “entrar” no bloco (hierarquia). EEL7020 – Sistemas Digitais 30/30