ID do artigo: 000081059 Tipo de conteúdo: Mensagens de erro Última revisão: 27/10/2011

Aviso (10240): Verilog HDL Sempre construa aviso em <design.v> trava(es) de inferência para variável "i", que mantém seu valor anterior em um ou mais caminhos através da sempre construto</design.v>

Ambiente

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

O software Quartus® II versões 7.0 e anteriores pode gerar esta mensagem de aviso se você usar uma variável para controlar um loop no HDL Verilog, como no exemplo a seguir:

if ( !rst_n )
      begin
        for ( i = 0; i < depth; i = i 1)
          mem[i] = {width{1'b0}} ;
      end

Este problema é corrigido a partir do software Quartus II versão 7.1.

No exemplo acima, o software Quartus II versões 7.0 e anteriores emitem o aviso para uma variável de loop temporário que não é um sinal no design final. No exemplo, a variável "i" é usada para looping e é inicializada antes do início do loop no código Verilog, mas não é usada no resto do código. O software sintetiza uma trava para esta variável temporária. Na netlist de design final, a trava não conduz a lógica, por isso é removida. No entanto, o software emite o aviso de trava inferida antes de remover sinais sem fanout.

A menos que você consulte a variável fora da estrutura sempre construída, a síntese do software Quartus II remove a trava e você pode ignorar o aviso.

 

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.