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

arrow_back Aula 04 - VHDL – Parte I

Library (Biblioteca)

Dentre as estruturas de VHDL, é importante não deixarmos de citar as bibliotecas. Como em qualquer linguagem, podemos fazer as chamadas a bibliotecas (library, em inglês) para utilizarmos, em nossos programas, variáveis, sinais, operações já prontas. A biblioteca pode ser considerada o lugar onde guardamos informações do projeto.

O pacote (package) de VHDL é um arquivo ou módulo que contém as declarações ou objetos que desejamos utilizar. Aqui, vamos nos ater a uma biblioteca mais utilizada em VHDL para que possamos utilizar o tipo de dado std_logic. Isso é possível se utilizarmos a biblioteca (library) da IEEE e a palavra use para chamar o pacote. Assim, antes de definir a entidade devemos realizar as seguintes chamadas:

AخA
1
library  ieee;
2
use ieee.std_logic_1164.all;

A extensão .all indica que estamos utilizando todos os pacotes. Existem vários outros pacotes que também podem ser utilizados. Conforme a necessidade, eles serão introduzidos.

Agora vamos ver o exemplo de um programa completo que descreve uma porta AND.

x
1
library ieee;                        -- Declarando as bibliotecas e pacotes a serem utilizados.
2
use ieee.std_logic_1164.all;
3
4
entity ExemploAND is                 -- Entidade <nome da entidade> é (is)
5
port (in1, in2: in std_logic;        -- Declaramos as portas de entrada e saída
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
begin                                -- Início da descrição de arquitetura, com termo "begin"
13
         out1 <= in1 and in2;
14
end exemplo2;                        -- Finalizamos a arquitetura

Depois de um breve introdução sobre as estruturas básicas, vamos conhecer algumas regras básicas da linguagem:

  • VHDL não é sensitivo ao padrão da letra, maúsculo ou minúsculo.
    Ex: Out1 <= A and B; é a mesma coisa que out1 <= a AND b;
  • Não é sensitivo a espaço em branco.
    Ex: Saida <= A or B; é a mesma coisa que Saida <= A or B;
  • Comentários são feitos com "--"
    Ex: --Isso é um comentário.
  • Terminação dos comandos com ponto e virgula (;)
  • Os parênteses não tem o uso obrigatório;
  • Palavras reservadas não devem ser utilizadas nos códigos para definir variáveis e sinais
    Ex: access, exit, after, all, in, open, loop,....
  • Identificadores (nomes de variáveis, sinais, portas,...)
    • Devemos usar nomes que indiquem a função da variável ou do sinal.
    • Podem ser letras (A,a – Z,z), dígitos (0-9) e underline (“_”).
    • Devem começar com letra alfabética.
    • Não podem terminar com underline.

Versão 5.3 - Todos os Direitos reservados