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