AULA 2
1.1.1 Package
3
1.2 Execução concorrente (em paralelo)
4
1.3 Entidade de projeto
Observações:
após "entidade" vem o nome que a identifica, seguido por IS;
GENERIC permite declarar constantes;
PORT define o modo e o tipo das portas de entrada e saída;
END seguida do nome da entidade encerra a construção.
O modos das portas são os seguintes:
IN: apenas entrada;
OUT: apenas saída;
INOUT: entrada e saída;
BUFFER: permite uma conexão interna à entidade.
5
Figura 8 ‒ Exemplo de representação das portas
1.4 Arquitetura
Observações:
após ARCHITECTURE vem o nome que a identifica; depois, OF e o
nome da entidade, seguido por IS;
logo a seguir podem ser feitas declarações;
entre BEGIN e END ficam os comandos concorrentes que descrevem a
entidade.
6
VARIABLE (variável): valor que pode ser alterado, usado apenas em
código sequencial;
SIGNAL (sinal): valor que pode ser alterado, usado em códigos
concorrente e sequencial;
FILE (arquivo): associados à criação de arquivos.
7
Figura 12 ‒ Tabela com exemplos dos tipos escalares
Podem assumir nove valores: ‘U’, ‘X’, ‘0’, ‘1’, ‘Z’, ‘W’, ‘L’, ‘H’, ‘–’. São
eles:
8
STD_LOGIC.
STD_LOGIC_VECTOR.
2.3 Operadores
2.3.1 Atribuição
9
"=>" é usado para atribuir valor a um elemento de um vetor ou aos
elementos não especificados (OTHERS).
11
2.4 Atributos
12
Ao elaborarmos um código concorrente é necessário cuidado para não
criarmos iterações que gerem loop, causando instabilidade.
Em uma região de código concorrente, a ordem das linhas não deve
interferir no resultado; o que se busca é uma condição estável do circuito.
Em certos casos é mais fácil implementar um circuito combinacional
utilizando código sequencial, mesmo que o circuito lógico não tenha elementos
sequenciais.
3.1.1 WHEN
3.1.2 GENERATE
13
IF/GENERATE: faz uma réplica dos comandos contidos, caso a
condição seja satisfeita.
3.1.3 BLOCK
14
3.1.3.1 BLOCK com sinal de guarda
PROCESS;
FUNCTION;
PROCEDURE.
IF;
CASE;
WAIT;
LOOP.
4.1.1 PROCESS
15
4.1.2 Construção IF/ELSE
16
Figura 26 ‒ Exemplos de uso do comando WAIT.
4.1.6 FOR/LOOP
4.1.7 WHILE/LOOP
Observações:
17
TEMA 5 – FUNÇÕES E PROCEDIMENTOS EM VHDL
5.1 Subprogramas
corpo;
chamada.
18
5.1.2 PROCEDURE (procedimento)
19
FINALIZANDO
20
REFERÊNCIAS
21