On 13/01/2015, at 9:37 am, Tristan Gingold <tging...@free.fr> wrote:

> Indeed, GHDL is correct.  See LRM93 4.3.2.2 Association lists:
> 
> Furthermore, every scalar subelement of the explicitly declared interface 
> object must be associated exactly once with an actual (or subelement thereof) 
> in the same association list, and all such associations must appear in a 
> contiguous sequence within that association list.
> 
> So, the only way for GHDL to compile it is first to fix it, using eg a
> dummy signal.

And right before the NOTES in 4.3.2.2:

It is an error if an actual of open is associated with a formal that is 
associated individually. An actual of open counts as the single association 
allowed for the corresponding formal but does not supply a constant, signal, or 
variable (as is appropriate to the object class of the formal) to the formal.

  --

So you can't use an open association with the remaining subelement of the 
formal. And that paragraph is also found in -2008, 6.5.7.1 so you can't point 
to differences in the standard in support of different behavior by various 
tools.

And there are two ways to supply a dummy, expanding the actual to contain more 
elements than are used or use a separate dummy signal that is associated with 
the individual formal subelement:

            oData(8) => dummy(i),
            oData(7 downto 0) => HRDATA(8 * i + 7 downto 8 * i),

And that is acceptable to ghdl, while not requiring selection when the data is 
actually used.







_______________________________________________
Ghdl-discuss mailing list
Ghdl-discuss@gna.org
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to