ID do artigo: 000080561 Tipo de conteúdo: Mensagens de erro Última revisão: 16/08/2012

Erro (10385): erro de VHDL em <file>: o valor do índice está fora da faixa (downto) do objeto <object></object></file>

Ambiente

    Intel® Quartus® II Subscription Edition
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descrição

Devido a um problema no software Quartus® II, a síntese quartus II pode gerar esse erro ao tentar avaliar uma expressão indexado em VHDL que está fora do intervalo dentro de uma expressão if dentro de um loop.

Você pode ver este erro quando todas as seguintes condições são atendidas:

  1. Uma instrução se está dentro de um loop para
  2. A instrução if é uma comparação de duas expressões inteiras usando , >= ou =
  3. A variável loop ocorre nas expressões avaliadas pela instrução if
  4. A expressão avaliada pela instrução if é limitada a , -, e *

Aqui está um exemplo de quando este erro ocorrerá:

entity test is
port
   (
   i1_data_in         : in  std_logic_vector(3 downto 0);
   i_div_pos         : in  std_logic_vector(7 downto 0);
   o_data_out        : out std_logic_vector(7 downto 0)
   );
END entity test;

architecture rtl of test is
  signal idx     : integer;
  signal lim : NATURAL range 0 to 5;

  idx <= to_integer(unsigned(i_div_pos));
  lim <= 3;

  process(i1_data_in, idx)
  variable temp : std_logic_vector(o_data_out\'range);
  begin
  temp := (others => \'0\');
   u1 : for i in 0 to 7 loop
       if  i <= 3 - lim then
         temp(i) := i1_data_in(i);
       else
         temp(i) := i_div_pos (i);
       end if;
     end loop;
  o_data_out <= temp;
  end process;
end rtl;
Resolução

Um patch está disponível para corrigir este problema para o software Quartus II versão 11.0 SP1. Baixe e instale o Patch 1.40 no link abaixo. Após instalar o patch, ative a correção criando ou editando o arquivo quartus.ini no diretório do projeto para incluir a seguinte linha:

vrfx_optimize_if_dead_code=on

Se você encontrar este erro ao usar uma versão diferente do software Quartus II, faça uma solicitação de serviço usando o mySupport.

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 prevalecerá e será a determinante. Exibir a versão em inglês desta página.