Mudanças entre as edições de "Array em VHDL"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(Criou página com '== Tipos ARRAY predefinidos no VHDL == Na lilnguagem VHDL existem alguns tipos que são definidos como array (vetores) de um tipo básico. Por exemplo, na biblioteca [[standard....')
 
Linha 27: Linha 27:
  
 
==Declaração de tipos ARRAY pelo usuário==
 
==Declaração de tipos ARRAY pelo usuário==
 +
Para definir um tipo ARRAY em VHDL  é usada a sintaxe abaixo:
 +
 +
<syntaxhighlight lang=vhdl>
 +
type nome_tipo is array (faixa_indices) of tipo_elemento_da_array;
 +
</syntaxhighlight>
 +
 +
Em VHDL é possível criar ARRAY de diferentes dimensões, seja 1D, 1D x 1D, 2D, 1D x 1D x 1D, 3D. 
 +
*'''OBS:''' A forma de acesso aos elementos dos ARRAYs pode ser limitado pelo compilador ou software utilizado na síntese e simulação.
 +
 
 +
===Array 1D===
 +
 +
<syntaxhighlight lang=vhdl>
 +
type array1D is array (natural range <>) of bit;
 +
</syntaxhighlight>

Edição das 11h49min de 28 de agosto de 2019

Tipos ARRAY predefinidos no VHDL

Na lilnguagem VHDL existem alguns tipos que são definidos como array (vetores) de um tipo básico. Por exemplo, na biblioteca standard.vhd define os tipos string e bit_vector como ARRAY de bit e character. Na std_logic_1164.vhd é definido o tipo std_logic_vector como ARRAY de tipo std_logic. A biblioteca numeric_std.vhd define os tipos unsigned e signed também como ARRAY do tipo std_logic.

-- package standard.vhd  (não precisa ser declarado pois é usado por default)
library std;
use std.standard.all;
...
type string is array (positive range <>) of character; 
type bit_vector is array (natural range <>) of bit;

-- package std_logic_1164.vhd
library ieee;
use ieee.std_logic_1164.all;
...
type std_logic_vector is array ( natural range <>) of std_logic;

-- package numeric_std 
library ieee;
use ieee.numeric_std.all;
...
type unsigned is array (natural range <>) of std_logic;
type signed is array (natural range <>) of std_logic;

Para o uso desses tipos é necessário declarar a biblioteca e usar o pacote (package) correspondente, conforme indicado acima.

Declaração de tipos ARRAY pelo usuário

Para definir um tipo ARRAY em VHDL é usada a sintaxe abaixo:

 type nome_tipo is array (faixa_indices) of tipo_elemento_da_array;

Em VHDL é possível criar ARRAY de diferentes dimensões, seja 1D, 1D x 1D, 2D, 1D x 1D x 1D, 3D.

  • OBS: A forma de acesso aos elementos dos ARRAYs pode ser limitado pelo compilador ou software utilizado na síntese e simulação.

Array 1D

 type array1D is array (natural range <>) of bit;