Cursos / Automação Industrial / Sistemas Digitais / Aula

arrow_back Aula 04 - VHDL – Parte I

Architecture (Arquitetura)

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.

Figura 07 - Estrutura básica de projeto, com ênfase para arquitetura em amarelo
Estrutura básica de projeto, com ênfase para arquitetura 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:

  • É a parte onde descrevemos as funções no modelo.
  • Deve estar sempre associada a uma ENTITY.
  • Podem haver várias ARCHITECTURES para uma mesma ENTITY.
  • Os procedimentos descritos na arquitetura ocorrem concorrentemente, ou seja, ao mesmo tempo.

Vamos descrever como devemos apresentar a estrutura de uma arquitetura:

Figura 08

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).

Figura 09 - Uma porta AND, com suas entradas, in1, in2 e sua saída out1
Uma porta AND, com suas entradas, in1, in2 e sua 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.

x
1
    entity ExemploAND is                 
2
    -- Entidade <nome da entidade> é (is)
3
    port (in1, in2: in std_logic;        
4
    -- Declaramos as portas de entrada e saída
5
             
6
    out1: out std_logic);
7
    end ExemploAND;                      -- Finalizamos a entidade
8
    architecture exemplo2 of ExemploAND is
9
10
    -- Arquitetura <nome da arquitetura> pertencente (of) à entidade <nome da entidade> é (is)
11
12
13
    begin                                -- Início da descrição de arquitetura, com termo "begin"
14
             out1 <= in1 and in2;
15
    end exemplo2;                        -- Finalizamos a arquitetura

Versão 5.3 - Todos os Direitos reservados