Buscar

TT411_VHDL2 - Entidade, Arquitetura, Classe, Tipos e Operadores

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 1 
 
 
 
Primeiros Contatos com a Linguagem VHDL 
 
 
1. Entidade de Projeto ....................................................................................................... 2 
2. Declaração da Entidade ................................................................................................ 3 
3. Declaração da Arquitetura ............................................................................................ 5 
4. Exemplos de Classe de Objetos .................................................................................... 6 
5. Tipos ............................................................................................................................. 9 
5.1 Tipos Escalares ........................................................................................................ 9 
5.2 Tipos Compostos ................................................................................................... 12 
6. Operadores .................................................................................................................. 14 
7. Prática de Laboratório................................................................................................. 19 
 
 
 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 2 
1. Entidade de Projeto 
 Pode representar: 
 
o uma simples porta lógica; 
o um sistema lógico completo. 
 Composta de duas partes: 
 
o Declaração da entidade, que define portas de entrada e saída da 
descrição. É equivalente ao símbolo de um bloco em captura 
esquemática. 
o Arquitetura, que descreve as relações entre as portas. É equivalente ao 
esquema contido no bloco em captura esquemática. 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 3 
2. Declaração da Entidade 
 A declaração da entidade é iniciada de acordo com algumas regras. 
 
o ENTITY: inicia a declaração; 
o PORT: define modo e tipo das portas 
 modo IN : entrada; 
 modo OUT : saída; 
 modo BUFFER : saída (pode ser referenciada internamente); 
 modo INOUT : bidirecional 
o END: termina a declaração. 
 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 4 
 Exemplo: declaração de uma entidade e um esquema da arquitetura: 
 
 Com isso, pode-se ter duas arquiteturas diferentes e uma única descrição de 
entidade. 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 5 
3. Declaração da Arquitetura 
 
 A palavra ARCHITECTURE inicia a declaração da Arquitetura e as linhas 
que seguem podem conter: 
o Declaração de sinais e constantes; 
o Declaração de componentes referenciados; 
o Descrição de subprogramas locais; 
o Definição de novos tipos. 
 A palavra BEGIN inicia a descrição. 
 A palavra END termina a descrição. 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 6 
4. Exemplos de Classe de Objetos 
 
 Objetos são elementos que contêm um valor armazenado e podem ser 
divididos em quatro classes. 
 
o CONSTANT: valor estático; 
o VARIABLE: o valor inicialmente imposto pode ser alterado ao longo 
do código; 
o SIGNAL: valor imposto pode ser alterado ao longo de regiões de 
código seqüencial e concorrente. 
 
 Exemplos de transferência de valores: constante e sinal. 
 
 
 
 
 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 7 
 Exemplo de uma descrição completa: 
 
o Definidas três portas: uma entrada, duas de saída; 
o Tipo das portas: INTEGER; 
o Operações: transferência de valores; 
o Declarados: s1 sinal interno, e c1 constantes; 
o Concorrência no código. 
 
 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 8 
 Exemplo de uma descrição completa para observação de concorrência. 
 
linha 10: y1<= s1 -- valor de s1 transferido para saída y1 
linha 11: s1<= x1 -- s1 recebe o valor da entrada x1 
 
 
 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 9 
5. Tipos 
 Objetos devem ser declarados segundo uma especificação de tipo. 
 Não é permitida a transferência de valores a objetos de tipos diferentes. 
 Exemplo de tipos pré-definidos no pacote padrão VHDL: 
 
 
5.1 Tipos Escalares 
 
 São ordenados e representam um valor único. A eles podem ser aplicados 
operadores: maior, menor, etc. Classes: enumerado e numérico. 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 10 
 
 
 
 Classe enumerado (pré-definidos): 
 
o BIT: empregado para representar níveis lógicos “0” e “1”. 
o BOOLEAN: empregado em declarações que executam uma decisão. 
o CHARACTER: qualquer caracter ASCII padrão. 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 11 
 
 
 Classe numérico (pré-definidos): 
 
o INTEGER: representa um número inteiro entre -231 ≤ x ≤ 231- 1 em 
que é necessário uma linha de 32 bits para representação. É 
conveniente limitar a faixa de valores na declaração. 
o REAL: ponto flutuante. Não suportado pelas ferramentas de síntese. 
 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 12 
 
 
5.2 Tipos Compostos 
 
 Classe vetor (pré-definidos): 
o BIT_VECTOR: vetor contendo elementos tipo bit. 
o STRING: vetor contendo elementos tipo caractere. 
 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 13 
 
 
 Declarações de tipos compostos: limites definidos por TO e DOWNTO. 
 Exemplos de declarações tipos: bit_vector e string: 
 
 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 14 
6. Operadores 
 Divididos em classes: 
o As classes definem a precedência dos operadores. 
o Operadores de uma mesma classe: igual precedência. 
 A classe diversos possui maior precedência, enquanto os operadores da 
classe lógicos possuem menor precedência. Assim, o operador “not” 
(operador lógico) está na classe diversos devido à precedência. 
 
 
 
 Na maioria das operações os operadores serão sempre do mesmo tipo. 
 No caso de operadores lógicos, usam-se operandos: tipos bit e boolean. 
Podem também ser empregados em vetores (arrays): Exemplo: bit_vector, 
em que os vetores devem ter o mesmo tamanho e as operações são 
executadas entre elementos de mesma posição. 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 15 
 
 
 
 Operadores relacionais definem condições de igualdade e desigualdade (= 
/=): qualquer tipo. 
o a=b para escalares: a mesmo valor de b. 
o a=bpara compostos: cada elemento de mesma posição igual. 
o ordenação (> < >= <=): tipos escalares (bit, boolean, character, integer, 
real, time). 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 16 
 Exemplo de valores tipo bit_vector iguais: 
 
 Operadores adição: adição e subtração (+ -) de tipo numérico. 
Concatenação (&) de vetores unidimensionais e elementos (mesmo tipo). 
 
 
 
 Exemplo: 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 17 
 Exemplo: Atribuição de valores em sinais, tipos BIT_VECTOR: operação 
de atribuição do valor 1011 a todas as portas de saída em diferentes bases 
de representação: 
 
o tipos integer, real formato: 16#b# 16#b.0# 
o tipos bit_vector formato: X“B” 
 
 Na linha 10 o caracter “_” como separador melhora a leitura do valor. Na 
linha 12 o valor é definido para cada elemento. A palavra reservada 
OTHERS especifica elementos restantes 
 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 18 
 Pode-se também exemplificar os operadores da classe adição. As linhas 10 
e 11representam operações de concatenação de dois vetores (tipo 
bit_vector). A linha 12 soma dois tipos inteiros. 
 
 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 19 
7. Prática de Laboratório 
 
1. Usando o Quartus II, as dicas apresentadas na aula anterior e os conceitos 
apresentados aqui, 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. 
 
a) bas 1 
b) dcbas 2 
c)    dcbas 3 
d)    adcbas 4 
 
 
 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 20 
2. Determine em função do código abaixo, sem o auxílio do simulador, qual o 
valor de cada porta de saída. Note que todos os comandos são concorrentes, e, 
portanto, a ordem das linhas do código não importa. 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
ENTITY std_yc IS 
 PORT (a, b : OUT BIT_VECTOR (2 DOWNTO 0); 
 c, d : OUT BIT_VECTOR (0 TO 2)); 
END std_yc; 
 
ARCHITECTURE teste OF std_yc IS 
 CONSTANT x : BIT_VECTOR(0 TO 7) := B"1101_1001"; 
 SIGNAL y : BIT_VECTOR(3 DOWNTO 0); 
BEGIN 
 a <= x(1 TO 3); 
 b <= y(3 DOWNTO 1); 
 c <= x(5 TO 7); 
 d <= y(2 DOWNTO 0); 
 y <= x(2 TO 5); 
END teste; 
 
 
 
 
 
VHDL2 Prof. Rangel Arthur 
FT/UNICAMP 21 
3. O código a seguir apresenta erros. Identifique, com a ajuda do simulador, as 
linhas com erro e proponha uma correção. 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
ENTITY errad_1 IS 
 PORT (a, b, c, d : IN BIT; 
 s : OUT BIT_VECTOR (5 DOWNTO 0)); 
END errad_1; 
 
ARCHITECTURE teste OF errad_1 IS 
BEGIN 
 s(0) <= a AND b OR c AND d; 
 s(1) <= a NOR b NOR c; 
 s(2) <= a AND b OR c; 
 s(3) <= NOT (a AND b) NAND c; 
 s(4) <= a XOR b XOR c; 
END teste; 
 
 
 
.

Outros materiais