vhdl.com.br
Seja Bem Vindo
Seg, 28 de Fevereiro de 2011 22:29
Se deseja ser um colaborador, basta entrar em contato através do email: Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo. .Em um futuro próximo, quero colocar artigos sobre Eletrônica Digital em geral.
Seja um colaborador! Ajude nosso site a crescer! Última atualização em Sáb, 17 de Setembro de 2011 00:39
VHDL
Sáb, 26 de Fevereiro de 2011 01:12
Introdução:
O desenvolvimento da linguagem VHDL foi motivado pela necessidade de um padrão para o intercâmbio de informações entre fornecedores de equipamentos para o Departamento de Defesa dos Estados Unidos. É importante lembrar que esta linguagem é concorrente, ou seja, os comandos envolvidos em um mesmo evento acontecem simultaneamente, diferentemente de linguagens de programação de software. A Figura 1 mostra as etapas de um projeto utilizando VHDL.

Figura1. 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 2.

Figura 2. 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, como, por exemplo, as entradas e saídas. A Figura 3 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 3. 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 4 simboliza essa diferença.

Figura 4. Atribuição de valores.
Tipos de Objeto:
| Tipo predefinido | Valor | Exemplos |
| BIT | Um, zero | 1, 0 |
| BOOLEAN | Verdadeiro, falso | TRUE, FALSE |
| CHARACTER | Caracteres ASCII | a, b, c, A, B, C, ? |
| INTEGER | -231-1 até 231-1 | 123, 8#173#, 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 |
| Menor | Lógicos | and or nand nor xor 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:
D’AMORE, Roberto. VHDL – Descrição e Síntese de Circuitos Digitais. Editora LTC. Rio de Janeiro, 2005.








