Aritmética com vetores em VDHL
Um pouco de história..
Quando VHDL saiu em 1987, algumas características faltavam.
- Não havia previsão para tratamento lógico para valores com múltiplos bits. Os tipos de lógica estavam disponíveis apenas para bits ('0' e '1') e booleanos (TRUE e FALSE), os quais são apenas do tipo dois valores.
Inicialmente, cada fornecedor de ferramenta de síntese criou sua embalagem própria lógica multi-valor, o que levou a uma falta de portabilidade. Que por sua vez levou a "IEEE Sistema lógica padrão Multivalue para VHDL modelo de interoperabilidade (Stdlogic1164)", que define o valor resolvido multi-std_logic tipo de lógica. Std_logic tornou-se o tipo de lógica padrão no projeto VHDL. A segunda característica que faltava era uma maneira padrão de fazer operações aritméticas com tipos de vetor - bit_vector e std_logic_vector. Novamente fornecedores de síntese desenvolvido seus próprios pacotes, alguns dos quais tornaram-se muito utilizado, mas em seguida, o IEEE criou "IEEE 1076.3 Padrão Pacotes Síntese VHDL". Isto define dois pacotes, um para uso com tipos com base na bit (numeric_bit) e uma para o uso com tipos com base na std_logic (numeric_std). Nós cobrimos aritmética vetor extensivamente em nosso VHDL abrangente curso, incluindo dois diagramas úteis que resumem o conteúdo da numeric_std. Estes dois diagramas são reproduzidas nesta página para sua referência. O primeiro é um resumo dos conteúdos do numeric_std - o segundo é um diagrama que mostra como para converter tipos diferentes de dados. O diagrama a seguir resume os operadores e funções