ID do artigo: 000078432 Tipo de conteúdo: Solução de problemas Última revisão: 12/08/2013

Por que minha atribuição de fatias de matriz VHDL dentro de um loop não fornece o resultado de simulação esperado?

Ambiente

    Simulação
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descrição

Se você atribuir uma fatia de matriz usando um loop e atribuir outros elementos em um processo diferente, você poderá ver que os elementos atribuídos fora do loop resultam em 'X' ou 'U' para cumprir o padrão VHDL.

Este resultado de simulação pode ocorrer porque o simulador é necessário para criar drivers para o prefixo estático mais longo do sinal. Isso significa que, como a matriz é indexado usando uma variável, o simulador é necessário para criar drivers para cada elemento da matriz.

Resolução

Para evitar esse comportamento de simulação, atribua apenas valores a uma matriz no mesmo processo que o loop.

Para obter mais informações sobre como os drivers estão associados às atribuições de sinal, consulte o padrão VHDL IEEE 1076-1987, seção 9.2.1 ou 1076-1993, seção 12.6.1.

Produtos relacionados

Este artigo aplica-se a 1 produtos

Dispositivos programáveis Intel®

1

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês governará e será a controle. Exibir a versão em inglês desta página.