Cursos / Eletrônica / Sistemas Digitais / Aula

arrow_back Aula 04 - VHDL – Parte I

Tipos de Dados

Os dados em VHDL são divididos em 4 classes:

  • Escalares: representam um único valor;
  • Compostos: representam uma coleção de valores;
  • Acessos: são similares a ponteiros;
  • Arquivo: referencia objetos que têm uma sequência de valores.

O nosso interesse estará, nesse momento, nas classes dos tipos escalares e compostos.

Os tipos escalares são:

  • Bit
  • Boolean (Booleano)
  • Integer (Inteiro)
  • Real
  • Physical (Físico)
  • STD_LOGIC

Para o tipo composto temos, por exemplo, o tipo vetor (array), que é uma coleção de elementos do mesmo tipo.

Ex: Podemos representar um vetor (um conjunto de valores) da seguinte forma:

VetorA = $“0001111”$ é um vetor de 7 elementos, temos três $“0”$s e quatro $“1”$s.

VetorB = $“0001”$ é um vetor de 4 elementos, temos três $“0”$s e um elemento $“1”$.

Quando no nosso programa em VHDL precisamos declarar um tipo vetor, fazemos da seguinte maneira:

Exemplos:

i) std_logic_vetor (6 downto 0). Entre parênteses determinamos o tamanho do vetor, no caso com 7 elementos. O elemento mais significativo (MSB) é o elemento mais à esquerda; e o menos significativo (LSB), o último elemento à direita. Lembre-se da sua primeira aula, na qual abordamos o assunto sistema de numeração. O vetor definido terá os elementos: 6, 5, 4, 3, 2, 1 e 0.

ii) std_logic_vetor (3 downto 0). Entre parênteses, determinamos o tamanho do vetor, no caso com 4 elementos. O elemento mais significativo é o elemento mais à esquerda e o menos significativo o último elemento à direita.

iii) std_logic_vector (0 to 6). Entre parênteses determinamos o tamanho do vetor, no caso com 7 elementos. O elemento menos significativo é o elemento mais à esquerda e o mais significativo o último elemento à direita, ou seja, teremos um vetor com os elementos: 0, 1, 2, 3, 4, 5 e 6.

Nesses 3 casos, notamos que o tipo de dado é o std_logic, mas poderíamos utilizar outros tipos dados, como, por exemplo, bit

Versão 5.3 - Todos os Direitos reservados