SlideShare uma empresa Scribd logo
01/05/2016
1
VHDL
Sistemas Digitais II – Prof. Antonio
Invariantes e elementos básicos de projeto
Arquitetura (architecture)
Referência: MEALY, TAPPERO – Free Range VHDL
Componentes de um projeto VHDL
COMPONENTE FUNÇÃO
PACKAGE Declaração de constantes, tipos de dados,
sub-programas;
ENTITY Declaração de pinos de entrada e saída;
ARCHITECTURE Definição de implementacões
do projeto;
Um código VHDL se divide em três partes principais:
01/05/2016
2
Estrutura típica de um programa VHDL
Relembrando:
Caixa preta x Caixa branca
VISÃO “CAIXA PRETA” VISÃO “CAIXA BRANCA”
Entidade do VHDL fornece a visão
caixa preta, externa do circuito.
Determina quais são as entradas e as
saídas
Arquitetura do VHDL fornece a visão
caixa branca, interna do circuito.
Determina como o circuito funciona, o
que se liga ao quê etc.
01/05/2016
3
“Regras de Ouro” para escrever em VHDL
Tenha sempre em mente que:
• VHDL é uma linguagem para descrever hardware. Quando você está trabalhando com o
VHDL você não está programando e sim projetando um hardware (um circuito).
• é necessário ter-se um conceito geral de como o hardware vai ficar quando acabado.
VHDL é uma linguagem poderosa mas é necessário ter-se conhecimento de como circuitos
digitais básicos são construídos.
• Insensível à caixa de texto (alta ou baixa);
Ex: Dout <= A and B; doUt <= a AnD b;
• Insensível a espaço em branco:
Ex: nQ <= In_a or In_b; nQ <= in_a OR in_b;
• Comentários:
– Começam com o símbolo “--“;
– O compilador ignora o que vem depois até o fim da linha.
Ex: -- este é um comentário em VHDL
• Parêntesis:
– Impõem precedência às operações.
– Use-os para tornar o seu código mais legível para seres humanos.
Ex: if x = '0' and y = '0' or z = '1' then
if ( ((x = '0') and (y = '0')) or (z = '1') ) then
VHDL: invariantes da linguagem
01/05/2016
4
VHDL: Identificadores
• Identificadores são os nomes de variáveis, pinos, entidades,
arquiteturas etc usados no código VHDL.
• Devem ser auto-descritos por seus nomes, provendo informação à
respeito de seu uso e propósito.
– Ex: CalcPosicaoTerra() ou calc_posicao_terra()
– IdadeMeuCarro ou Idade_meu_carro
• Podem ser tão longos quanto se queira. Porém, nomes mais curtos
facilitam a legibilidade do código.
• Só podem conter letras (A-Z e a-z), números (0-9) e o sublinha (_).
• Devem iniciar por um letra do alfabeto.
• Não devem terminar com um sublinha e não devem ter dois ou
mais sublinhas seguidos.
Palavras reservadas
A lista a seguir apresenta as palavras que têm um significado especial no VHDL.
Elas não devem ser utilizadas como identificadores.
01/05/2016
5
Exemplos de identificadors válidos
Exemplos de identificadores inválidos.
Por quê?
Começa com um número.
Não é auto-explicativo.
Caractere inválido.
Sublinhas seguidas.
Termina com sublinha.
Palavra reservada do VHDL
Lixo!
Vamos ser profissionais!!
Feio demais!!
Não é auto-explicativo.
Caractere inválido.
q_merda
FFF
Lembrete: Só podem conter letras (A-Z e a-z), números (0-9) e o sublinha (_).
01/05/2016
6
Exercício:
Desenhe o diagrama caixa-preta para a seguinte entidade do código VHDL abaixo:
)
Exercício:
Escreva o código VHDL para a entidade do seguinte circuito:
entity sys2 is
port
( input_w : in std_logic;
a_data : in std_logic_vector(0 to 7);
b_data : in std_logic_vector(0 to 7);
clk : in std_logic ;
dat_4: out std_logic_vector(0 to 7);
dat_5: out std_logic_vector(0 to 2);
);
end sys2;
01/05/2016
7
Estrutura Básica da Arquitetura
Nome da
arquitetura
Nome da
Entidade
ARQUITETURA
Arquitetura:
Visão “caixa branca” do projeto.
Define como as entradas são processadas para gerar as saídas
do projeto, ou seja, descreve como o circuito realmente
funciona.
São as “entranhas” expostas do projeto, do que se tem dentro
da caixa.
Nome da arquitetura
Declaração de sinais
(representação de sw de um fio)
SINTAXE:
Declaração de variáveis
(usada para armazenar informação,
similar ao C. Devem ser declaradas
dentro de process e são locais)
Nome da entidade
!/ Um sinal ou variável devem
ser declarados (nome e tipo)
antes de serem usados pelo
programa)
01/05/2016
8
Num circuito real, tudo ocorre ao mesmo tempo, agora!
Num circuito real, tudo ocorre simultaneamente.
As saídas respondem praticamente instantaneamente aos sinais das entradas.
Para ser uma HDL (Linguagem de Descrição de Hardware) o VHDL deve se comportar da
mesma maneira.
Exercício de
Aquecimento
a
b
c
d
e
x
y
w
z
PORTAS
Compare, analise e tire suas conclusões
01/05/2016
9
Operador de Atribuição
a
b
c
d
e
x
y
w
z
PORTAS
<=
Atribui a lógica
correspondente ao pino
ou sinal
Não é linha a linha, é simultâneo!
Exemplo:
Escreva o código VHDL que implemente uma porta NAND de três entradas. As entradas são
nomeadas de A, B e C e o sinal de saída de F.
Sempre faça um esquema do
que você está querendo obter.
MODELO PARA REFERÊNCIA:
01/05/2016
10
Solução:
Escreva o código VHDL que implemente uma porta NAND de três entradas. As entradas são
nomeadas de A, B e C e o sinal de saída de F.
Sempre faça um esquema do
que você está querendo obter.
Exercício:
Escreva o código VHDL que implemente a função lógica
Qualquer mudança no sinal de qualquer entrada
fará com que a saída seja reavaliada.
N
L
M
01/05/2016
11
Sinais = fios internos
A1
A2
Exercícios
Escreva o código VHDL que descreve os seguintes circuitos:

Mais conteúdo relacionado

PPT
02 entidade projeto-vhd-ivanl
PDF
Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
PPTX
S2 b desenvolvimento de sistemas [reparado]
PPT
Paradigmas de Linguagens de programacao - Aula #2
PPT
E:\Plp 2009 2\Plp Aula11
PDF
Minicurso Objective-C
PDF
Java sintaxe
PDF
TDC2013 Otimizando-C
02 entidade projeto-vhd-ivanl
Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
S2 b desenvolvimento de sistemas [reparado]
Paradigmas de Linguagens de programacao - Aula #2
E:\Plp 2009 2\Plp Aula11
Minicurso Objective-C
Java sintaxe
TDC2013 Otimizando-C

Destaque (17)

PPTX
Mi visita a SeconLife
PPSX
Engage - Επίλυση προβλήματος: Συμπεράσματα
PPTX
Marketing plan - GetDone
PPTX
簡報1
PDF
Trabajo mercadeo oscar
PPTX
Bejaoui r., paquette g., basque j. et henri f. comment personnaliser l'appren...
PPT
Si 1
PPTX
Csc240 lecture 1
PPTX
Four Migration Options to Ease your SQL server 2005 End-of-Support Pains
PDF
Sectores economicos jaime
PPS
S sport oostkamp 2014
PPTX
Physics Powerpoint
DOCX
Pre production
PPTX
Conf.journée licef 2016
PDF
Advertisement Samples - Interactive Bees
Mi visita a SeconLife
Engage - Επίλυση προβλήματος: Συμπεράσματα
Marketing plan - GetDone
簡報1
Trabajo mercadeo oscar
Bejaoui r., paquette g., basque j. et henri f. comment personnaliser l'appren...
Si 1
Csc240 lecture 1
Four Migration Options to Ease your SQL server 2005 End-of-Support Pains
Sectores economicos jaime
S sport oostkamp 2014
Physics Powerpoint
Pre production
Conf.journée licef 2016
Advertisement Samples - Interactive Bees
Anúncio

Semelhante a Aula VHDL (20)

PDF
Aula 1 introdução a VHDL 2016.pdf
PDF
Prototipagem de Sistemas Digitais - Introdução a VHDL
PPTX
Fundamentos de Banco de Dados Relacionais
PDF
VHDL_Descricao_e_Sintese_de_Circuitos_Di.pdf
PDF
Linguagem c-para-microcontroladores
PDF
Lab2 vhdl fluxo_quartus
ODP
Fundamentos de VHDL em Lógica Programável v1.1
PDF
NovaGenesis Overview
PPTX
Introdução à eletronica e robótica com arduino
PPTX
Curso Java Básico - Aula 01
PPTX
Microcontroladores PIC.pptx
PDF
PHPMyadmin - Introdução
PDF
Webinar: Uma introdução a ISA RISC-V e seu ecossistema
PPTX
SDAC 12º - M9 TGEI
PDF
Introducaoplds
PPTX
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Aula 1 introdução a VHDL 2016.pdf
Prototipagem de Sistemas Digitais - Introdução a VHDL
Fundamentos de Banco de Dados Relacionais
VHDL_Descricao_e_Sintese_de_Circuitos_Di.pdf
Linguagem c-para-microcontroladores
Lab2 vhdl fluxo_quartus
Fundamentos de VHDL em Lógica Programável v1.1
NovaGenesis Overview
Introdução à eletronica e robótica com arduino
Curso Java Básico - Aula 01
Microcontroladores PIC.pptx
PHPMyadmin - Introdução
Webinar: Uma introdução a ISA RISC-V e seu ecossistema
SDAC 12º - M9 TGEI
Introducaoplds
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Anúncio

Último (8)

PPTX
Tipos de servidor em redes de computador.pptx
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Utilizando code blockes por andre backes
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Eng. Software - pontos essenciais para o início
Tipos de servidor em redes de computador.pptx
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Utilizando code blockes por andre backes
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Manejo integrado de pragas na cultura do algodão
Viasol Energia Solar -Soluções para geração e economia de energia
Eng. Software - pontos essenciais para o início

Aula VHDL

  • 1. 01/05/2016 1 VHDL Sistemas Digitais II – Prof. Antonio Invariantes e elementos básicos de projeto Arquitetura (architecture) Referência: MEALY, TAPPERO – Free Range VHDL Componentes de um projeto VHDL COMPONENTE FUNÇÃO PACKAGE Declaração de constantes, tipos de dados, sub-programas; ENTITY Declaração de pinos de entrada e saída; ARCHITECTURE Definição de implementacões do projeto; Um código VHDL se divide em três partes principais:
  • 2. 01/05/2016 2 Estrutura típica de um programa VHDL Relembrando: Caixa preta x Caixa branca VISÃO “CAIXA PRETA” VISÃO “CAIXA BRANCA” Entidade do VHDL fornece a visão caixa preta, externa do circuito. Determina quais são as entradas e as saídas Arquitetura do VHDL fornece a visão caixa branca, interna do circuito. Determina como o circuito funciona, o que se liga ao quê etc.
  • 3. 01/05/2016 3 “Regras de Ouro” para escrever em VHDL Tenha sempre em mente que: • VHDL é uma linguagem para descrever hardware. Quando você está trabalhando com o VHDL você não está programando e sim projetando um hardware (um circuito). • é necessário ter-se um conceito geral de como o hardware vai ficar quando acabado. VHDL é uma linguagem poderosa mas é necessário ter-se conhecimento de como circuitos digitais básicos são construídos. • Insensível à caixa de texto (alta ou baixa); Ex: Dout <= A and B; doUt <= a AnD b; • Insensível a espaço em branco: Ex: nQ <= In_a or In_b; nQ <= in_a OR in_b; • Comentários: – Começam com o símbolo “--“; – O compilador ignora o que vem depois até o fim da linha. Ex: -- este é um comentário em VHDL • Parêntesis: – Impõem precedência às operações. – Use-os para tornar o seu código mais legível para seres humanos. Ex: if x = '0' and y = '0' or z = '1' then if ( ((x = '0') and (y = '0')) or (z = '1') ) then VHDL: invariantes da linguagem
  • 4. 01/05/2016 4 VHDL: Identificadores • Identificadores são os nomes de variáveis, pinos, entidades, arquiteturas etc usados no código VHDL. • Devem ser auto-descritos por seus nomes, provendo informação à respeito de seu uso e propósito. – Ex: CalcPosicaoTerra() ou calc_posicao_terra() – IdadeMeuCarro ou Idade_meu_carro • Podem ser tão longos quanto se queira. Porém, nomes mais curtos facilitam a legibilidade do código. • Só podem conter letras (A-Z e a-z), números (0-9) e o sublinha (_). • Devem iniciar por um letra do alfabeto. • Não devem terminar com um sublinha e não devem ter dois ou mais sublinhas seguidos. Palavras reservadas A lista a seguir apresenta as palavras que têm um significado especial no VHDL. Elas não devem ser utilizadas como identificadores.
  • 5. 01/05/2016 5 Exemplos de identificadors válidos Exemplos de identificadores inválidos. Por quê? Começa com um número. Não é auto-explicativo. Caractere inválido. Sublinhas seguidas. Termina com sublinha. Palavra reservada do VHDL Lixo! Vamos ser profissionais!! Feio demais!! Não é auto-explicativo. Caractere inválido. q_merda FFF Lembrete: Só podem conter letras (A-Z e a-z), números (0-9) e o sublinha (_).
  • 6. 01/05/2016 6 Exercício: Desenhe o diagrama caixa-preta para a seguinte entidade do código VHDL abaixo: ) Exercício: Escreva o código VHDL para a entidade do seguinte circuito: entity sys2 is port ( input_w : in std_logic; a_data : in std_logic_vector(0 to 7); b_data : in std_logic_vector(0 to 7); clk : in std_logic ; dat_4: out std_logic_vector(0 to 7); dat_5: out std_logic_vector(0 to 2); ); end sys2;
  • 7. 01/05/2016 7 Estrutura Básica da Arquitetura Nome da arquitetura Nome da Entidade ARQUITETURA Arquitetura: Visão “caixa branca” do projeto. Define como as entradas são processadas para gerar as saídas do projeto, ou seja, descreve como o circuito realmente funciona. São as “entranhas” expostas do projeto, do que se tem dentro da caixa. Nome da arquitetura Declaração de sinais (representação de sw de um fio) SINTAXE: Declaração de variáveis (usada para armazenar informação, similar ao C. Devem ser declaradas dentro de process e são locais) Nome da entidade !/ Um sinal ou variável devem ser declarados (nome e tipo) antes de serem usados pelo programa)
  • 8. 01/05/2016 8 Num circuito real, tudo ocorre ao mesmo tempo, agora! Num circuito real, tudo ocorre simultaneamente. As saídas respondem praticamente instantaneamente aos sinais das entradas. Para ser uma HDL (Linguagem de Descrição de Hardware) o VHDL deve se comportar da mesma maneira. Exercício de Aquecimento a b c d e x y w z PORTAS Compare, analise e tire suas conclusões
  • 9. 01/05/2016 9 Operador de Atribuição a b c d e x y w z PORTAS <= Atribui a lógica correspondente ao pino ou sinal Não é linha a linha, é simultâneo! Exemplo: Escreva o código VHDL que implemente uma porta NAND de três entradas. As entradas são nomeadas de A, B e C e o sinal de saída de F. Sempre faça um esquema do que você está querendo obter. MODELO PARA REFERÊNCIA:
  • 10. 01/05/2016 10 Solução: Escreva o código VHDL que implemente uma porta NAND de três entradas. As entradas são nomeadas de A, B e C e o sinal de saída de F. Sempre faça um esquema do que você está querendo obter. Exercício: Escreva o código VHDL que implemente a função lógica Qualquer mudança no sinal de qualquer entrada fará com que a saída seja reavaliada. N L M
  • 11. 01/05/2016 11 Sinais = fios internos A1 A2 Exercícios Escreva o código VHDL que descreve os seguintes circuitos: