Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Automação Industrial / Sistemas Digitais / Aula
Agora vamos falar da architecture, ou seja, da arquitetura. Vamos observar a Figura 7. O que nos interessa agora é a segunda parte do nosso arquivo de VHDL, que está em AMARELO.
A arquitetura descreve como a função é implementada, ou seja, descreve o circuito propriamente dito, o que está dentro da caixa preta (como a que vimos na atividade anterior, Figura 6). Assim podemos dizer sobre a arquitetura:
Vamos descrever como devemos apresentar a estrutura de uma arquitetura:
Como você pode perceber na arquitetura, podemos ter as declarações de sinais, constantes, funções e procedimentos. Depois da cláusula BEGIN, escrevemos a função propriamente dita, utilizando blocos de processos e declarações, ou seja, as instruções.
Vamos ver agora um exemplo de um código VHDL, tanto da declaração da entidade, como também da arquitetura. Primeiro definimos a entidade, que nomeamos como ExemploAND. Na entidade definimos as entradas (in1, in2) e a saída (out1).
Depois, na arquitetura, descrevemos o que a função ou circuito executa, neste caso é uma porta AND. O código está com comentários inseridos que estão indicados por “--” no começo da frase, ou seja, em VHDL os comentários são precedidos de “--”. No nosso exemplo, os comentários estão destacados em azul.
entity ExemploAND is
-- Entidade <nome da entidade> é (is)
port (in1, in2: in std_logic;
-- Declaramos as portas de entrada e saída
out1: out std_logic);
end ExemploAND; -- Finalizamos a entidade
architecture exemplo2 of ExemploAND is
-- Arquitetura <nome da arquitetura> pertencente (of) à entidade <nome da entidade> é (is)
begin -- Início da descrição de arquitetura, com termo "begin"
out1 <= in1 and in2;
end exemplo2; -- Finalizamos a arquitetura
Versão 5.3 - Todos os Direitos reservados