SlideShare uma empresa Scribd logo
1 de 18
Universidade Federal do Piauí
Departamento de Informática e Estatística




 Circuitos Digitais - VHDL
02 - Entidade de Projeto

  Sílvio Fernandes & Ivan Saraiva

               2010.2
Conteúdo

Componentes de um projeto VHDL
Entity (Entidade)
Arquitetura (Architecture)
Classes de objeto




                                 2
Componentes de um projeto
VHDL

                         PACKAGE
                          ENTITY
                     ARCHITECTURE
                    CONFIGURATION

•   Package (Pacote): constantes, bibliotecas
•   Entity (Entidade): pinos de entrada e saída
•   Architecture (Arquitetura): implementações do projeto
•   Configuration (Configuração): define as arquiteturas
    que serão utilizadas
                                                        3
Componentes de um projeto
 VHDL

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.all;            PACKAGE (BIBLIOTECAS)
USE IEEE.STD_LOGIC_UNSIGNED.all ;

ENTITY exemplo IS
PORT (
         <descrição dos pinos de I/O>    ENTITY (PINOS DE I/O)
        );
END exemplo;
ARCHITECTURE teste OF exemplo IS
BEGIN                                      ARCHITECTURE
  ...                                      (ARQUITETURA)
END teste;

                                                                 4
Entidade de Projeto




                      5
ENTITY (Entidade)

• Abstração que descreve um sistema, uma
  placa, um chip, uma função ou uma porta lógica
• Formada por:
  • Cláusula GENERIC
     • Passagem de informações estáticas
  • Cláusula PORT
     • Determina a direção e como os comandos na arquitetura
       podem operar com as portas




                                                               6
ENTITY (Entidade)

• Modos de operação das portas:
  •   IN: porta de entrada
  •   OUT: porta de saída
  •   INOUT: porta de entrada e saída
  •   BUFFER: saída – pode ser referenciada
      internamente (realimentação)




                                              7
ENTITY (Entidade)
ENTITY entidade_abc IS
  PORT (
         x0, x1 : IN tipo_a; -- entradas
          y0, y1 : OUT tipo_b; -- saidas
         y2 : BUFFER tipo_c;      -- saida
         z0, z1 : INOUT tipo_d); -- entrada / saida
END entidade_abc;




                                                      8
ARCHITECTURE
(Arquitetura)

• Especificação do funcionamento do circuito
• Formada por:
  • Declarações: sinais, constantes, componentes,
    subprogramas
  • Comandos: blocos, atribuições a sinais, chamadas a
    subprogramas, instanciação de componentes,
    processos
• Uma entidade pode ter várias arquiteturas:
  VHDL provê meios de especificar qual
  arquitetura se deseja utilizar
                                                         9
ARCHITECTURE
(Arquitetura)

• Pode ser descrita de três formas distintas:
  • Descrição comportamental:
     • descreve o que o sistema deve fazer de forma
       abstrata
  • Descrição por fluxo de dados (data-flow):
     • descreve o que o sistema deve fazer utilizando
       expressões lógicas
  • Descrição estrutural:
     • descreve como é o hardware em termos de
       interconexão de componentes

                                                        10
ARCHITECTURE
(Arquitetura)
ARCHITECTURE estilo_abc OF entidade_abc IS
-- declaracoes de sinais e constantes
-- declaracoes de componentes referenciados
-- descricao de sub-programas locais
-- definicao de novos tipos de dados locais
--
BEGIN
--
-- declaracoes concorrentes
--
END estilo_abc;                               11
Classes de objetos

• Podem ser
  • CONSTANTS (constantes)
     • Valor estático
  • VARIABLE (variável)
     • Valor pode ser alterado, empregada em código seqüencial
  • SIGNAL (sinal)
     • Valor pode ser alterado, empregada em código seqüencial
       ou concorrente
  • FILE (arquivo)
     • Criação de arquivos



                                                                 12
Classes de objetos:
- Identificadores

• Usados como referência a todos os
  objetos declarados
• Regras
  • Primeiro caractere deve ser uma LETRA
  • Não é CASE-SENSITIVE
    • Ex: Teste = teste = TESTE
  • Existem palavras reservadas
    • Ex: and, mux

                                            13
Classes de objetos:
- Identificadores

• Regras (cont.)
  • Permitido letras, número e underscore (_)
  • Último caractere não poder ser underscore
  • Dois underscores não podem ser usados em
    seqüência
     • Ex: Teste__projeto
  • Nomes sem underscore são diferentes de
    nome com underscore
     • Ex: teste_projeto ≠ testeprojeto

                                             14
Exemplo descrição
completa
ENTITY atrib_1 IS
  PORT (x1 : IN INTEGER;          -- porta entrada
         y1,z1 : OUT INTEGER); -- portas saida
  END atrib_1;
ARCHITECTURE teste OF atrib_1 IS
SIGNAL s1 : INTEGER; -- declaracao de um sinal tipo inteiro
CONSTANT c1 : INTEGER := 7; -- declaracao de uma constante tipo
  inteiro
BEGIN
  y1 <= s1; -- região de código concorrente
  s1 <= x1;
  z1 <= c1;
END teste;                                                   15
Exercícios

• Apresente o código de uma entidade que
  descreva as quatro expressões lógicas a
  seguir. Nessas expressões, considere o
  operador de negação com maior
  precedência e o operador lógico “ou” com
  menor precedência. A entidade deve ter
  quatro portas de entrada, “a”, “b”, “c” e
  “d”, e quatro portas de saída, “s1”, “s2”,
  “s3” e “s4”, todas do tipo bit.
                                           16
Exercícios

  s1=a+b
  s2=a+b . c+d

  s3=(a+b).(c+d )
  s4=(a+b ).(c+ad )


                      17
Referência

• AMORE, Roberto d’. VHDL: descrição e
  síntese de circuitos digitais. Rio de
  Janeiro: LTC, 2005.




                                          18

Mais conteúdo relacionado

Mais procurados

6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...Manuel Menezes de Sequeira
 
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...Manuel Menezes de Sequeira
 
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...Manuel Menezes de Sequeira
 
Objective-C para quem está chegando agora
Objective-C para quem está chegando agoraObjective-C para quem está chegando agora
Objective-C para quem está chegando agoraEduardo Costa
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Leonardo Melo Santos
 
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...Manuel Menezes de Sequeira
 
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...Manuel Menezes de Sequeira
 
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...Manuel Menezes de Sequeira
 
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasFelipe J. R. Vieira
 
Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Alamo Saravali
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IVGabriel Faustino
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – IIIGabriel Faustino
 
Arduino e Python: Do It Yourself
Arduino e Python: Do It YourselfArduino e Python: Do It Yourself
Arduino e Python: Do It YourselfBruno Nascimento
 
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de ProgramaçãoManuel Menezes de Sequeira
 
Valores e referências
Valores e referênciasValores e referências
Valores e referênciasDaniel Araújo
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 

Mais procurados (20)

6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
 
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
 
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
 
Objective-C para quem está chegando agora
Objective-C para quem está chegando agoraObjective-C para quem está chegando agora
Objective-C para quem está chegando agora
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
 
Portas lógicas
Portas lógicasPortas lógicas
Portas lógicas
 
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
 
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
 
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
 
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
 
Java 16
Java 16Java 16
Java 16
 
Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Aprendendo objective c - parte 1
Aprendendo objective c - parte 1
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IV
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
 
Arduino e Python: Do It Yourself
Arduino e Python: Do It YourselfArduino e Python: Do It Yourself
Arduino e Python: Do It Yourself
 
Lab2 vhdl fluxo_quartus
Lab2 vhdl fluxo_quartusLab2 vhdl fluxo_quartus
Lab2 vhdl fluxo_quartus
 
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
 
Introducao Google GO
Introducao Google GOIntroducao Google GO
Introducao Google GO
 
Valores e referências
Valores e referênciasValores e referências
Valores e referências
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 

Destaque

Mapes de karnaugh
Mapes de karnaughMapes de karnaugh
Mapes de karnaughmarinang97
 
13 programando em python - arquivos
 13   programando em python - arquivos 13   programando em python - arquivos
13 programando em python - arquivosVictor Marcelino
 
Conceito de trxto e leitura
Conceito de trxto e leituraConceito de trxto e leitura
Conceito de trxto e leituragueste246d7
 
Aula 06- IN1 - IFES - 2 semestre 2010
Aula   06- IN1 - IFES - 2 semestre 2010Aula   06- IN1 - IFES - 2 semestre 2010
Aula 06- IN1 - IFES - 2 semestre 2010Moises Omena
 
Validation study of path loss models on
Validation study of path loss models onValidation study of path loss models on
Validation study of path loss models onijngnjournal
 
Prototipagem de Sistemas Digitais - Introdução a VHDL
Prototipagem de Sistemas Digitais - Introdução a VHDLPrototipagem de Sistemas Digitais - Introdução a VHDL
Prototipagem de Sistemas Digitais - Introdução a VHDLBrito Filho
 
Algebra de Boole - Circuitos Digitais
Algebra de Boole - Circuitos DigitaisAlgebra de Boole - Circuitos Digitais
Algebra de Boole - Circuitos DigitaisMatheus Verçosa
 
Redes de Sensores sem Fio
Redes de Sensores sem FioRedes de Sensores sem Fio
Redes de Sensores sem FioPaula P.
 
Arduino, Raspberry Pi Ou FPGA?
Arduino, Raspberry Pi  Ou FPGA?Arduino, Raspberry Pi  Ou FPGA?
Arduino, Raspberry Pi Ou FPGA?Pedro Henrique
 
TINYOS Oscilloscope Application
TINYOS Oscilloscope ApplicationTINYOS Oscilloscope Application
TINYOS Oscilloscope ApplicationAnkit Singh
 
Using Tiny OS in Wireless Sensor Network
Using Tiny OS in Wireless Sensor NetworkUsing Tiny OS in Wireless Sensor Network
Using Tiny OS in Wireless Sensor NetworkDeeptiman Mallick
 
Chapter 6 – propagation path loss models
Chapter 6 – propagation path loss modelsChapter 6 – propagation path loss models
Chapter 6 – propagation path loss modelsNguyen Minh Thu
 
On Line Training of the Path-Loss Model in Bayesian WLAN Indoor Positioning
On Line Training of the Path-Loss Model in Bayesian WLAN Indoor PositioningOn Line Training of the Path-Loss Model in Bayesian WLAN Indoor Positioning
On Line Training of the Path-Loss Model in Bayesian WLAN Indoor Positioninglbruno236
 
Pathloss research paper
Pathloss research paper Pathloss research paper
Pathloss research paper Arvind sahu
 

Destaque (20)

VHDL
VHDLVHDL
VHDL
 
Mapes de karnaugh
Mapes de karnaughMapes de karnaugh
Mapes de karnaugh
 
13 programando em python - arquivos
 13   programando em python - arquivos 13   programando em python - arquivos
13 programando em python - arquivos
 
Vhdl mux
Vhdl muxVhdl mux
Vhdl mux
 
Conceito de trxto e leitura
Conceito de trxto e leituraConceito de trxto e leitura
Conceito de trxto e leitura
 
Aula 06- IN1 - IFES - 2 semestre 2010
Aula   06- IN1 - IFES - 2 semestre 2010Aula   06- IN1 - IFES - 2 semestre 2010
Aula 06- IN1 - IFES - 2 semestre 2010
 
Validation study of path loss models on
Validation study of path loss models onValidation study of path loss models on
Validation study of path loss models on
 
Prototipagem de Sistemas Digitais - Introdução a VHDL
Prototipagem de Sistemas Digitais - Introdução a VHDLPrototipagem de Sistemas Digitais - Introdução a VHDL
Prototipagem de Sistemas Digitais - Introdução a VHDL
 
Algebra de Boole - Circuitos Digitais
Algebra de Boole - Circuitos DigitaisAlgebra de Boole - Circuitos Digitais
Algebra de Boole - Circuitos Digitais
 
Redes de Sensores sem Fio
Redes de Sensores sem FioRedes de Sensores sem Fio
Redes de Sensores sem Fio
 
Arduino, Raspberry Pi Ou FPGA?
Arduino, Raspberry Pi  Ou FPGA?Arduino, Raspberry Pi  Ou FPGA?
Arduino, Raspberry Pi Ou FPGA?
 
TINYOS Oscilloscope Application
TINYOS Oscilloscope ApplicationTINYOS Oscilloscope Application
TINYOS Oscilloscope Application
 
Using Tiny OS in Wireless Sensor Network
Using Tiny OS in Wireless Sensor NetworkUsing Tiny OS in Wireless Sensor Network
Using Tiny OS in Wireless Sensor Network
 
07 exercícios
07   exercícios07   exercícios
07 exercícios
 
Chapter 6 – propagation path loss models
Chapter 6 – propagation path loss modelsChapter 6 – propagation path loss models
Chapter 6 – propagation path loss models
 
On Line Training of the Path-Loss Model in Bayesian WLAN Indoor Positioning
On Line Training of the Path-Loss Model in Bayesian WLAN Indoor PositioningOn Line Training of the Path-Loss Model in Bayesian WLAN Indoor Positioning
On Line Training of the Path-Loss Model in Bayesian WLAN Indoor Positioning
 
01 aula inicial apresentação
01   aula inicial  apresentação01   aula inicial  apresentação
01 aula inicial apresentação
 
Introducao aula-i
Introducao aula-iIntroducao aula-i
Introducao aula-i
 
Pathloss research paper
Pathloss research paper Pathloss research paper
Pathloss research paper
 
TinyOS 2.1 Tutorial: TOSSIM
TinyOS 2.1 Tutorial: TOSSIMTinyOS 2.1 Tutorial: TOSSIM
TinyOS 2.1 Tutorial: TOSSIM
 

Semelhante a 02 entidade projeto-vhd-ivanl

Aula 1 introdução a VHDL 2016.pdf
Aula 1 introdução a VHDL 2016.pdfAula 1 introdução a VHDL 2016.pdf
Aula 1 introdução a VHDL 2016.pdfDeboraMateus3
 
VHDL_Descricao_e_Sintese_de_Circuitos_Di.pdf
VHDL_Descricao_e_Sintese_de_Circuitos_Di.pdfVHDL_Descricao_e_Sintese_de_Circuitos_Di.pdf
VHDL_Descricao_e_Sintese_de_Circuitos_Di.pdfssuser6f13ac
 
EXTREME LDAP - GABRIEL STEIN
EXTREME LDAP - GABRIEL STEINEXTREME LDAP - GABRIEL STEIN
EXTREME LDAP - GABRIEL STEINTchelinux
 
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
 
Slides do treinamento Altera - Introdução a FPGA
Slides do treinamento Altera - Introdução a FPGASlides do treinamento Altera - Introdução a FPGA
Slides do treinamento Altera - Introdução a FPGAandrecasp
 
Relatório multiplexadores e decodificadores
Relatório multiplexadores e decodificadoresRelatório multiplexadores e decodificadores
Relatório multiplexadores e decodificadoresFlavio Oliveira Rodrigues
 
Tradutor de Pig Latin
Tradutor de Pig LatinTradutor de Pig Latin
Tradutor de Pig LatinElen Arantza
 
Banco de dados orientados a objetos
Banco de dados orientados a objetos Banco de dados orientados a objetos
Banco de dados orientados a objetos Raquel Machado
 
Oracle para PostgreSQL: Conseguir migrar e não parar UTI
Oracle para PostgreSQL: Conseguir migrar e não parar UTIOracle para PostgreSQL: Conseguir migrar e não parar UTI
Oracle para PostgreSQL: Conseguir migrar e não parar UTIFernando Ike
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesOziel Moreira Neto
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4CDS
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino Edgley Xavier
 
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptxintroduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptxSaraR49
 
Bancos de Dados Orientados a Objetos
Bancos de Dados Orientados a ObjetosBancos de Dados Orientados a Objetos
Bancos de Dados Orientados a ObjetosGlaucio Scheibel
 

Semelhante a 02 entidade projeto-vhd-ivanl (20)

Aula 1 introdução a VHDL 2016.pdf
Aula 1 introdução a VHDL 2016.pdfAula 1 introdução a VHDL 2016.pdf
Aula 1 introdução a VHDL 2016.pdf
 
VHDL_Descricao_e_Sintese_de_Circuitos_Di.pdf
VHDL_Descricao_e_Sintese_de_Circuitos_Di.pdfVHDL_Descricao_e_Sintese_de_Circuitos_Di.pdf
VHDL_Descricao_e_Sintese_de_Circuitos_Di.pdf
 
Java 02
Java 02Java 02
Java 02
 
EXTREME LDAP - GABRIEL STEIN
EXTREME LDAP - GABRIEL STEINEXTREME LDAP - GABRIEL STEIN
EXTREME LDAP - GABRIEL STEIN
 
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
 
Slides do treinamento Altera - Introdução a FPGA
Slides do treinamento Altera - Introdução a FPGASlides do treinamento Altera - Introdução a FPGA
Slides do treinamento Altera - Introdução a FPGA
 
Relatório multiplexadores e decodificadores
Relatório multiplexadores e decodificadoresRelatório multiplexadores e decodificadores
Relatório multiplexadores e decodificadores
 
Tradutor de Pig Latin
Tradutor de Pig LatinTradutor de Pig Latin
Tradutor de Pig Latin
 
Agbd aula4 sql_ddl
Agbd aula4 sql_ddlAgbd aula4 sql_ddl
Agbd aula4 sql_ddl
 
Banco de dados orientados a objetos
Banco de dados orientados a objetos Banco de dados orientados a objetos
Banco de dados orientados a objetos
 
Oracle para PostgreSQL: Conseguir migrar e não parar UTI
Oracle para PostgreSQL: Conseguir migrar e não parar UTIOracle para PostgreSQL: Conseguir migrar e não parar UTI
Oracle para PostgreSQL: Conseguir migrar e não parar UTI
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
VHDL Introdução
VHDL IntroduçãoVHDL Introdução
VHDL Introdução
 
Arq orgcom (1)
Arq orgcom (1)Arq orgcom (1)
Arq orgcom (1)
 
ArqOrgCom.ppt
ArqOrgCom.pptArqOrgCom.ppt
ArqOrgCom.ppt
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino
 
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptxintroduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
 
Introducaoplds
IntroducaopldsIntroducaoplds
Introducaoplds
 
Bancos de Dados Orientados a Objetos
Bancos de Dados Orientados a ObjetosBancos de Dados Orientados a Objetos
Bancos de Dados Orientados a Objetos
 

02 entidade projeto-vhd-ivanl

  • 1. Universidade Federal do Piauí Departamento de Informática e Estatística Circuitos Digitais - VHDL 02 - Entidade de Projeto Sílvio Fernandes & Ivan Saraiva 2010.2
  • 2. Conteúdo Componentes de um projeto VHDL Entity (Entidade) Arquitetura (Architecture) Classes de objeto 2
  • 3. Componentes de um projeto VHDL PACKAGE ENTITY ARCHITECTURE CONFIGURATION • Package (Pacote): constantes, bibliotecas • Entity (Entidade): pinos de entrada e saída • Architecture (Arquitetura): implementações do projeto • Configuration (Configuração): define as arquiteturas que serão utilizadas 3
  • 4. Componentes de um projeto VHDL LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.all; PACKAGE (BIBLIOTECAS) USE IEEE.STD_LOGIC_UNSIGNED.all ; ENTITY exemplo IS PORT ( <descrição dos pinos de I/O> ENTITY (PINOS DE I/O) ); END exemplo; ARCHITECTURE teste OF exemplo IS BEGIN ARCHITECTURE ... (ARQUITETURA) END teste; 4
  • 6. ENTITY (Entidade) • Abstração que descreve um sistema, uma placa, um chip, uma função ou uma porta lógica • Formada por: • Cláusula GENERIC • Passagem de informações estáticas • Cláusula PORT • Determina a direção e como os comandos na arquitetura podem operar com as portas 6
  • 7. ENTITY (Entidade) • Modos de operação das portas: • IN: porta de entrada • OUT: porta de saída • INOUT: porta de entrada e saída • BUFFER: saída – pode ser referenciada internamente (realimentação) 7
  • 8. ENTITY (Entidade) ENTITY entidade_abc IS PORT ( x0, x1 : IN tipo_a; -- entradas y0, y1 : OUT tipo_b; -- saidas y2 : BUFFER tipo_c; -- saida z0, z1 : INOUT tipo_d); -- entrada / saida END entidade_abc; 8
  • 9. ARCHITECTURE (Arquitetura) • Especificação do funcionamento do circuito • Formada por: • Declarações: sinais, constantes, componentes, subprogramas • Comandos: blocos, atribuições a sinais, chamadas a subprogramas, instanciação de componentes, processos • Uma entidade pode ter várias arquiteturas: VHDL provê meios de especificar qual arquitetura se deseja utilizar 9
  • 10. ARCHITECTURE (Arquitetura) • Pode ser descrita de três formas distintas: • Descrição comportamental: • descreve o que o sistema deve fazer de forma abstrata • Descrição por fluxo de dados (data-flow): • descreve o que o sistema deve fazer utilizando expressões lógicas • Descrição estrutural: • descreve como é o hardware em termos de interconexão de componentes 10
  • 11. ARCHITECTURE (Arquitetura) ARCHITECTURE estilo_abc OF entidade_abc IS -- declaracoes de sinais e constantes -- declaracoes de componentes referenciados -- descricao de sub-programas locais -- definicao de novos tipos de dados locais -- BEGIN -- -- declaracoes concorrentes -- END estilo_abc; 11
  • 12. Classes de objetos • Podem ser • CONSTANTS (constantes) • Valor estático • VARIABLE (variável) • Valor pode ser alterado, empregada em código seqüencial • SIGNAL (sinal) • Valor pode ser alterado, empregada em código seqüencial ou concorrente • FILE (arquivo) • Criação de arquivos 12
  • 13. Classes de objetos: - Identificadores • Usados como referência a todos os objetos declarados • Regras • Primeiro caractere deve ser uma LETRA • Não é CASE-SENSITIVE • Ex: Teste = teste = TESTE • Existem palavras reservadas • Ex: and, mux 13
  • 14. Classes de objetos: - Identificadores • Regras (cont.) • Permitido letras, número e underscore (_) • Último caractere não poder ser underscore • Dois underscores não podem ser usados em seqüência • Ex: Teste__projeto • Nomes sem underscore são diferentes de nome com underscore • Ex: teste_projeto ≠ testeprojeto 14
  • 15. Exemplo descrição completa ENTITY atrib_1 IS PORT (x1 : IN INTEGER; -- porta entrada y1,z1 : OUT INTEGER); -- portas saida END atrib_1; ARCHITECTURE teste OF atrib_1 IS SIGNAL s1 : INTEGER; -- declaracao de um sinal tipo inteiro CONSTANT c1 : INTEGER := 7; -- declaracao de uma constante tipo inteiro BEGIN y1 <= s1; -- região de código concorrente s1 <= x1; z1 <= c1; END teste; 15
  • 16. Exercícios • Apresente o código de uma entidade que descreva as quatro expressões lógicas a seguir. Nessas expressões, considere o operador de negação com maior precedência e o operador lógico “ou” com menor precedência. A entidade deve ter quatro portas de entrada, “a”, “b”, “c” e “d”, e quatro portas de saída, “s1”, “s2”, “s3” e “s4”, todas do tipo bit. 16
  • 17. Exercícios s1=a+b s2=a+b . c+d s3=(a+b).(c+d ) s4=(a+b ).(c+ad ) 17
  • 18. Referência • AMORE, Roberto d’. VHDL: descrição e síntese de circuitos digitais. Rio de Janeiro: LTC, 2005. 18