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