On Fri, Nov 07, 2014 at 10:48:29AM +0100, Joris van Rantwijk wrote:
> On 2014-11-07, Tristan Gingold wrote:
> > > At this point I wonder if it's not just simpler to just go and
> > > implement a free alternative implementation instead of discussing
> > > at length how to handle that IEEE license. I see that it would be
> > > some work, but the payoff of not having to worry about the licenses
> > > would be worth it I think.
> > 
> > Feel free to start the effort.  That would be helpful.
> 
> I have my own implementation of std_logic_1164 (at VHDL-1993 level).
> 
> While working on that, I found that it was impossible to get it right
> without constantly looking at the reference code. There are many places
> where you appearantly have a choice, and there is no intuitive way to
> know what the right answer is.

That's a bit special since the bodies of the multivalue logic packages
are normative unlike the bodies of other standard packages.

> For example, to_stdlogicvector always returns an array with
> range (n-1 downto 0).
> But to_x01 when working on arrays, always returns an array
> with range (1 to n).

Does that even matter? Technically it's normative, but obviously it
disregards and mangles the indexing on the arrays. You could assume that
the indices of the returned value are implementation defined. Or not,
that's what makes calling a specific implementation normative stupid.

> So on the one hand most function bodies are very short and trivial, on
> the other hand they must give the exact same result as the IEEE
> reference in every detail. The consequence is that my work is almost
> textually identical to the IEEE code except for layout and local
> variable names. It would be easy for the IEEE to claim that my work is
> a derivative work and therefore subject to their copyright.

With the implementation being normative I think there is a good case of
it not being copying, but standards conformity. They leave us no choice
after all.

> This is why I believe the clean-room approach is the way to do it.

I still don't think there is a practical need or difference. If you have
to describe the implementation to such detail because everything is
normative, what is the difference of simply reading the source code to
someone else and them writing it down? This defeats the purpose of the
clean-room approach.

In any case, the other packages (math especially) are more in need of a
clean implementation.


Andreas

_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to