En raison d’un problème dans le logiciel Intel® Quartus® Prime Pro Edition v21.1 et versions antérieures, vous pouvez constater que le résultat de synthèse est incorrect lorsque le nom variable instantané d’une structure est le même que l’un de ses membres.
Par exemple, dans la définition de structure ci-dessous, lorsque la conception utilise in.data,elle est synthétisée comme in.data.data, qui est l’élément de la structure. Cela signifie que la largeur du bit est de 256 bits lorsqu’elle devrait être de 258 bits, c’est-à-dire 1 bit de sop, 1 bit eop et 256 bits de données.
test d’interface #(parameter WIDTH=256) () () ;
tapedef struct emballé {
sop logique ;
logique eop ;
données logiques [WIDTH-1:0] ;
} data_t ;
données data_t ;
endinterface
......
test #(. LARGEUR (256)) dans () ;
assign dout = in.data ;
......
Pour contourner ce problème, n’utilisez pas le même nom pour la structure que celui de ses membres.
Ce problème a été résolu à partir du logiciel Intel® Quartus® Prime Pro Edition v21.2.