O documento descreve conceitos básicos da linguagem de descrição de hardware VHDL, incluindo sua origem, tipos de objetos como constantes e sinais, declaração de entidades e arquiteturas, e tipos de operadores.
1. Universidade do Contestado
Curso de Sistemas de informação
Daiana Paula de Ávila
2ª fase Concórdia, 13 de outubro de 2011
VHDL
A letra V da palavra VHDL significa Very High Speed Integrated Circuit
(Circuito Integrado de Alta Velocidade) e as demais letras, HDL significam Hardware
Description Language. Esse nome complicado foi criado pelo departamento de
defesa dos Estados Unidos, que foi a primeira instituição a reconhecer as suas
vantagens. O VHDL foi criado visando simulação, modelagem e documentação,
mas acabou recebendo mais tarde a possibilidade de síntese, com o objetivo de se
automatizar o projeto de circuitos.
O VHDL ganhou popularidade fora do ambiente militar, graças ao IEEE
(Institute of Electrical and Electronics Engineering) que estabeleceu padrões para
tornar a linguagem universal. Com as ferramentas atuais, pode-se especificar um
circuito a partir de seu comportamento ou de sua estrutura, em vários níveis.
MODELAGEM DE INTERFACES
Declaração Entity
– Descreve as portas entradas/saídas de um módulo:
2. Etapas de projeto usando VHDL:
Comentários:
Apesar de o compilador ignorar todo o texto que está escrito como
comentário, os comentários tem uma grande importância durante o projeto. Com
comentários e um pouco de bom senso é possível criar um código limpo e legível.
Diferentemente de outras linguagens de programação, na VHDL os comentários são
escritos depois de dois traços como mostra a Figura 1.
Figura 1. Exemplo de comentário.
Entidade:
Uma entidade de projeto pode representar uma simples porta lógica como um
sistema completo e é composta de duas partes: declaração da entidade e
arquitetura. A declaração da entidade define a interface com o ambiente exterior,
3. como, por exemplo, as entradas e saídas. A Figura 2 mostra a declaração dos 4
modos de porta, e eles são:
1. IN – apenas entrada
2. OUT – apenas saída
3. BUFFER – saída que controla sinal interno
4. INOUT – porta bidirecional
Figura 2. Declaração de portas.
Arquitetura:
A arquitetura contém a parte lógica da entidade utilizando suas entradas e
saídas. Ainda é possível declarar sinais internos dentro da arquitetura, estes sinais
são chamados classes. São elas:
1. CONSTANT - define um objeto com valor estático.
2. VARIABLE – são objetos que podem ter o seu valor alterado, e são usadas
em regiões de código seqüencial.
3. SIGNAL - são objetos que podem ter o seu valor alterado, e são usadas
em regiões de código concorrente ou seqüencial. É bom lembrar que a porta de
uma entidade realiza a declaração de um sinal.
Existe uma diferença na atribuição de sinais entre VARIABLE e SIGNAL. A
Figura 3 simboliza essa diferença.
Figura 3. Atribuição de valores.
4. Tipos de Objeto:
Tipo
Valor Exemplos
predefinido
BIT Um, zero 1, 0
Verdadeiro,
BOOLEAN TRUE, FALSE
falso
Caracteres
CHARACTER a, b, c, A, B, C, ?
ASCII
-231-1 até 231- 123, 8#173#,
INTEGER
1 16#7B#
BIT_VECTOR 1,0 "1001", B"10_10"
STRING Tipo character “texto”
Tabela 1. Tipo de Objetos.
Operadores:
Uma boa dica para se usar os operadores é empregá-los entre parêntesis para
definir a ordem as operações. E devido à rigidez da linguagem VHDL com relação
aos tipos, os operandos de uma operação geralmente são do mesmo tipo. A Tabela
2 mostra os operandos em ordem crescente de precedência.
Precedência Classe Operadores
and or nand nor xor
Menor Lógicos
xnor
Relacionais = /= < <= > >=
Deslocamento sll srl sla sra rol ror
Adição +-&
Sinal +-
Multiplicação * / mod rem
Maior diversos ** abs not
Tabela 2. Tipo de Operadores.
Referências:
http://www.vhdl.com.br/