ID do artigo: 000087716 Tipo de conteúdo: Solução de problemas Última revisão: 26/10/2021

Por que o resultado da síntese do meu sinal de Struct HDL Verilog está incorreto?

Ambiente

    Intel® Quartus® Prime Pro Edition
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descrição

Devido a um problema no software Intel® Quartus® Prime Pro Edition v21.1 e anterior, você pode ver que o resultado da síntese está incorreto quando o nome da variável instacionada de uma estrutura é o mesmo que um de seus membros.

Por exemplo, na definição da estrutura abaixo, quando o design usa in.data,ele é sintetizado como in.data.data,que é o elemento da estrutura. Isso significa que a largura de bits é de 256 bits quando deve ser de 258 bits ou seja, sop de 1 bits, eop de 1 bits e dados de 256 bits.

teste de interface #(parâmetro WIDTH=256) ();
struct typedef embalado {
sop lógica;
eop lógica;
dados da lógica [WIDTH-1:0];
} data_t;
data_t dados;
endinterface

......

teste #(. WIDTH(256)) in();

atribuir dout = in.data;

......

Resolução

Para resolver este problema, não use o mesmo nome para a estrutura como um, se for membro.

Este problema foi corrigido a partir do software Intel® Quartus® Prime Pro Edition v21.2.

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.