ID do artigo: 000079979 Tipo de conteúdo: Mensagens de erro Última revisão: 11/09/2012

Erro: "Erro de instantização do módulo: a porta está conectada na instação do módulo, mas não é declarada na declaração do módulo." (Verilog HDL, first-in first-out (FIFO))

Ambiente

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descrição

Você pode obter o erro ao instauciar diretamente qualquer função de primeira página (FIFO) de módulos parametrizados (LPM). Se o buffer FIFO instaurou usar a célula e registra duas funções aritméticas, os parâmetros não podem ser passados pelo defparam argumento. O exemplo abaixo não funciona mesmo sendo codificado corretamente.

. . .

module fifo256x8 (data, rreq, wreq, clock,  clockx2, aclr, threshlevel, 

threshold, empty, full, usedw, q);

    input   [7:0] data; 

    input   [7:0] threshlevel;

    input   rreq, wreq, clock, clockx2, aclr;

    output  [7:0] q;

    output  [7:0] usedw;

    output  threshold, empty, full;

    sfifo inst_1 (.data (data), 

                       .rreq (rreq), .wreq (wreq), .clock (clock), .clockx2 (clockx2), 

.aclr (aclr), .q (q), .usedw (usedw), .threshold (threshold),

                       .empty (empty), .threshlevel (threshlevel), .full (full));

        defparam inst_1.lpm_width = 8;

        defparam inst_1.lpm_numwords = 256;

     

endmodule

. . .

A solução alternativa é instautar a função FIFO em um arquivo de design gráfico falso (.gdf) com todo o seu conjunto de parâmetros e dar-lhe um nome específico (por exemplo, my_fifo.gdf). Crie um arquivo incluir padrão (.inc) para o GDF. Instande o GDF no código HDL Verilog de alto nível sem qualquer parâmetro especificado. O exemplo abaixo funcionará (correspondente ao exemplo acima).

. . .

module fifo256x8 (data, rreq, wreq, clock,  clockx2, aclr, threshlevel, 

threshold, empty, full, usedw, q);

    input   [7:0] data; 

    input   [7:0] threshlevel;

    input   rreq, wreq, clock, clockx2, aclr;

    output  [7:0] q;

    output  [7:0] usedw;

    output  threshold, empty, full;

    my_fifo inst_1 (.data (data), 

                       .rreq (rreq), .wreq (wreq), .clock (clock), .clockx2 (clockx2), 

.aclr (aclr), .q (q), .usedw (usedw), .threshold (threshold),

                       .empty (empty), .threshlevel (threshlevel), .full (full));



endmodule

. . .

my_fifo.gdf contém uma instanência de SFIFO com e lpm_width = 8 lpm_numwords = 256. O mapeamento da porta acima refere-se ao my_fifo.gdf e não à SFIFO megafunção.

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.