EDK : FSL macros defined by Xilinx are wrong

Austin Lesea wrote:
"XDL and related info being a public use interface to ISE outside of NDA
restrictions" is clearly prohibited.
Thanks Austin for making this clear. You mentioned that Xilinx
provides
exemptions to university projects. There is significant documentation
to
be gleaned from various published works which are easily located with
google. Most of these appear to be university sources.

Can we assume that source code, VDL files, papers, and instructional
materials which describe VDL and related interfaces are approved
disclosures by Xilinx that open source can freely use to develop
open source tools in support of Xilinx customers?

John
 
Jim Granville wrote:
Jan Panteltje wrote:
On a sunny day (Mon, 30 Jan 2006 09:50:46 -0800) it happened Austin Lesea
austin@xilinx.com> wrote in <drljlm$3ls1@xco-news.xilinx.com>:


All:

From our legal group-


Also, the bitstream created by using Xilinx software is owned
by Xilinx can only be used on Xilinx programmable products, for example,
FPGAs.

Hmm, yes, not everyone will agree to that claim...


This looks like a rather dangerous typo, I presume you wanted to write:

"the bitstream format as generated by Xilinx software "
You do not claim rights to the content of my bitstream I hope?

Of course they do!
These are lawyers, they claim all rights possible, until someone
pushes back. That's how they work.

I _can_ sense an opening here, for the (A) company that claims
to be "the fastest growing major programmable logic company in 2005"

-jg
The (A) company used these exact same EULA restrictions against Clear Logic
and won.

More details here: http://www.internetcases.com/archives/2005/09/ninth_circuit_a_1.html

Ed
 
On Mon, 30 Jan 2006 14:01:37 +0000 (UTC),
christopher.saunter@durham.ac.uk (c d saunter) wrote:

Robin Bruce (robin.bruce@gmail.com) wrote:

: Hans wrote:
: > If you have to choose a C language I would recommend you check out SystemC
: > which might be better on your CV than Handel-C :)

: What's so good about SystemC? :)

What's so good about AnythingC?

I have quite strong feelings that whilst a high level language than
Verilog/VHDL could be a real boon to FPGA development, C is far from a
good prototype form for such a language....
uh, in what way is C a higher level language than VHDL anyway?

- Brian
 
Austin Lesea wrote:
Phil,

If you desire an opinion, please contact our legal group.

John's email to you is incomplete. Go read my posting, and make your
own decision. Or better yet, contact our legal department,

Austin
What did I miss Austin? .... the EULA NDA terms and your statement
clearly mean personal use only, disclosure in public discussions can
not assume the other members are under the same NDA terms, and you have
been clear that no open source access exists.

That leaves limited EDIF and XNF access to open source tools which
produce net lists for Xilinx ISE.
 
In article <drlvcp$3ls5@xco-news.xilinx.com>,
Austin Lesea <austin@xilinx.com> wrote:
Phil,

If you desire an opinion, please contact our legal group.

John's email to you is incomplete. Go read my posting, and make your
own decision. Or better yet, contact our legal department,
Yeah, that's the plan at this point.

As is with most everything related to law, the more that is said, the muddier
things get ;-)

Phil
 
fpga_toys@yahoo.com wrote:

I can not personally broker a deal for an open source project, because
I can not control the use and modification of the project in the open
public. I would not accept the personal liability should Xilinx think I
could even control what happens to the information after we publish
it.

So public discussion, that all can use is the only productive forum
for open source uses.
I think you could get the ball rolling with some email, but I agree
that all of the 'decisions' woul d have to be very public, and even
enough late-stage discussion to illuminate them, for the result to be
of any use for a free and open project.

It seems like you are hoping Xilinx legal will meet you here. That
might be a good result, but you may have to first talk to them on their
turf to issue the invitation.
 
John,

If you create a XDL from using Xilinx tools, then the license says that
the XDL must be used to program a Xilinx device, and that you are
prevented from doing any reverse engineering, disclosure of IP, etc.

Nothing would prevent you from writing a parser that prepared a nice
usage report for display, however.

Or, if you use an XDL that you create, and then put it back into a
Xilinx tool, the same license restrictions apply.

I am not sure, but I don't see any other uses of XDL covered by the
agreement. It is, after all, just an ASCII format of connections.

Why anyone would use it, and not use our tools, I wouldn't know.

They could just as well use YADL (yet another design language - I have
no copyrights, or trademarks, so I make this acronym freely available to
all).



One case I see now is that you create a tool to convert something (like
c) into XDL. Then someone else uses our tools to create bitstreams.

Sounds good to me! But: only

If you (and they) didn't reveal anything about our tools, IP, etc.

And you and they never used our software to develop your tool. Or to
test our tool (both of which would be a violation of the agreement). Or
to reverse engineer our software or hardware.

Then we get bitstreams (which are covered by the use agreement from the
person who used the generated XDL from your tool to push through our
tool) which sells more of our silicon.

Again, I am no lawyer, so at this point, I am just blathering on with my
own opinions.

Austin
 
Austin Lesea wrote:

"XDL and related info being a public use interface to ISE outside of NDA
restrictions" is clearly prohibited.

But, if XDL is used inside of the agreement, then that is OK.

For example, if you created a XDL file with our tools, and then
processed it with your tool, and then wanted to use in in silicon other
than Xilinx, that is prohibited.
It seems that there are really two different issues at stake here (in
the context of people wanting to release open source XDL-interfacing tools).

1. - disclosing the XDL interface. The XDL file format is not published
anywhere (I don't think, not even in Xilinx doco). So almost by
definition, to use it you have to reverse engineer it. Thus, to release
an open source tool that speaks XDL, you are disclosing Xilinx
proprietary information that was obtained contrary to the terms of the
EULA. That's naughty, and probably justifies a nastygram from the lawyers.

2. - targetting non-Xilinx parts. Disregarding (1) above, if I release
a tool that speaks XDL, am I responsible for what people do with it? I
would argue "no", but I'm sure you could find a lawyer who would argue
"yes".

That's a legalistic interpretation. But, back in the real world, what
Xilinx wants to do is sell FPGAs. The best way to get Xilinx on side is
to help them do that. They'll either look the other way, help you
along, or if you're really good at it - buy you out.

So, how do you create an XDL tool that does a "reach through" on
Xilinx's condition that you only use Xilinx tools to target Xilinx parts?

Well, maybe hybrid licensing is one approach. As long as you write the
software from scratch, with no existing GPL (e.g.) code, then you can
license the tool under any conditions you like[1]. For example, you
could say

"This software is released under the terms of the Gnu General Pulbic
License version 2.0 (or BSD or whatever), PLUS the provision that the
tool be used only to target Xilinx FPGAs".

You'll probably want a lawyer to write this one, and Xilinx's lawyers
would also want a look in. Richard Stallman would probably have a minor
fit over the concept of bundling an commercial exclusivity clause with
the GPL, but oh well.

What you've now created is a hybrid license, incompatible with the pure
GPL (ok, so you can't host it on sourceforge, no big deal). If someone
uses the tool to target an Altera part, then they are breaking the
conditions of their license and it is therefore immediately revoked.

You would add a viral clause which makes sure that further refinements
of the tool are also covered by the same dual condition (GPL + Xilinx only).

So, if the goal here is to develop open source XDL tools, I think there
are probably creative solutions, that will involve some compromises. If
the goal is just to whinge about Xilinx's EULAs, then mission
accomplished, and we can all go back to work.

Regards,

John

[1] If it's your code, you can insert any condition you like, no matter
how silly. How about "It is a condition of using this software that you
wear a propellor-head cap and stick your tongue out while doing so".
Very silly, but if you don't like the conditions, don't use the software!
 
Austin Lesea wrote:
John,

If you create a XDL from using Xilinx tools, then the license says that
the XDL must be used to program a Xilinx device, and that you are
prevented from doing any reverse engineering, disclosure of IP, etc.

Nothing would prevent you from writing a parser that prepared a nice
usage report for display, however.
Since you start out by contradicting yourself, it's really hard to
figure out what you mean.
 
Austin Lesea wrote:
One case I see now is that you create a tool to convert something (like
c) into XDL. Then someone else uses our tools to create bitstreams.

Sounds good to me! But: only

If you (and they) didn't reveal anything about our tools, IP, etc.
Without the equiv public data found in the XNF specification ... file
format
and object definitions ... it's not possible.
 
Austin Lesea wrote:

Going from "using XDL" for some unspecified reason, to "open source" is
a big step. Too big.
For you perhaps, but open source code under a freedom-preserving
license is perhaps the most likely variety of tool that volunteers
might develop. The other alternative, closed software developed by
those who hope to sell seats, and will license what they need from you,
seems more in your comfort zone to date.

There is nothing "open source" about any of Xilinx's software.
That's not what we're talking about, though I seem to recall some
cygwin-ish files floating around in the install - but let's call that
off topic.

Right now, the discussion has been about an ASCII representation of
connections that Xilinx developed as a convenience (replaced an earlier
format).
Which if half of your comments are to believed is too encumbered to be
of any use outside a private or closed source tool - or if the other
half are to be believed, is available and harmless.

XDL's use is only restricted by the agreements on the software that
created it, and uses it (that we supply). It also specifically allows
uses (for which it is intended) like someone writes a parser to generate
a nice report from the XDL file (noted in the comments on XDL in our
documentation).
Yes, but someone else can take that parser and use it as a starting
point for something like reverse engineering. Unless the license terms
_of the parser_ prevent that. But if they do, then parser (despite not
being Xilinx software) is not a free and open tool.

If you chose XDL to use as your intermediate language for your CS111
FPGA, I think it would be a curious choice, but one we would not have
much claim to, as if you had your own tools to create it, and use it,
test it; and you never used our tools, IP, or patents, why would we care?
If it really talks the same XDL you do, then someone can use it as a
bridge between a new language and your silicon (which you would like)
or between your tools and someone else's silicon. The later would
allegedly be a violation of your license terms, but not of the license
terms of the proposed XDL tool - unless the XDL tool is not a free and
open piece of software.

If the proposed XDL tool is not a free and open piece of software, then
some of the participants in this discussion aren't interested in
writing it. We could have a whole other discussion about why, but the
obvious reason is that it's too big a project to be worthwhile without
input from many sources and the justification of many users.
 
cs_posting@hotmail.com wrote:

John Williams wrote:


What you've now created is a hybrid license, incompatible with the pure
GPL (ok, so you can't host it on sourceforge, no big deal). If someone
uses the tool to target an Altera part, then they are breaking the
conditions of their license and it is therefore immediately revoked.

You would add a viral clause which makes sure that further refinements
of the tool are also covered by the same dual condition (GPL + Xilinx only).


But what if someone figures out XDL by reverse engineering your tool,
rather than Xilinx's software? How do you prohibit someone from
reverse engineering (ie, reading and taking notes) open code?
I don't know. Maybe it doesn't matter. The purpose of "though shalt
only target Xilinx parts" is to keep Xilinx off your back. If someone
reads your code and reimplements the XDL parser for Evil, instead of
Good, maybe it's Xilinx problem to pursue, and not yours?

John
 
Phil Tomson wrote:

In article <newscache$3egxti$xu7$1@lbox.itee.uq.edu.au>,
John Williams <jwilliams@itee.uq.edu.au> wrote:

What you've now created is a hybrid license, incompatible with the pure
GPL (ok, so you can't host it on sourceforge, no big deal). If someone
uses the tool to target an Altera part, then they are breaking the
conditions of their license and it is therefore immediately revoked.

You would add a viral clause which makes sure that further refinements
of the tool are also covered by the same dual condition (GPL + Xilinx only).

Yes, I've been thinking exactly the same thing. I don't see where requiring
Xilinx-only usage is all that big of a deal, AND practically speaking you don't
give up much at all since most retargetting should probalby be done at some
higher level anyway.
The loss is not practical, so much as philsophical. There is a critical
distinction between "Open Source" software and "Free" software.

"GPL + Xilinx only" could be open source, but it is definitely not Free.

Some developers may not care, for others it could be a show-stopper.

John
 
Phil Tomson wrote:
To reiterate: The only way we can build an XDL parser at this point is to look
at the output of the xdl program. If we were to build an XDL parser and then
release it freely it looks like we violate the EULA. We're not asking for XDL
to be put under an open source license (at least I'm not); we're asking that
the XDL format be made available somewhere on your website such that the format
itself is available outside of the EULA. Then, if I'm understanding the legal
arguments made by fpga-toys correctly, we _could_ create an XDL parser and
release it freely (the XDL parser under open source) without violating the
EULA.

To do RubyHDL ... IE ... produce netlists, you also need the objects
publicly
defined that you need to build a netlist describing connections with.

Also, the EULA doesn't offer distribution rights to others bound by it.
That will
take a separate agreement with Xilinx legal where you take on some
personal
liability for your RubyHDL's distribution and use.
 
Austin Lesea wrote:
I see. Seems we never even disclosed the basics of the XDL format. I
had thought that we had disclosed its construction, and structure.

Well then. Looks like XDL is off limits, too.

Now that we have that understood, perhaps we can retire this entire
thread and move onto something else?
Sure ... I think we have more than hashed this to death :(

It's probably better at this point to lobby it as a business decision
with
sales/marketing and real customers.
 
Austin Lesea wrote:
I see. Seems we never even disclosed the basics of the XDL format. I
had thought that we had disclosed its construction, and structure.

Well then. Looks like XDL is off limits, too.

Now that we have that understood, perhaps we can retire this entire
thread and move onto something else?
Sure ... I think we have more than hashed this to death :(

It's probably better at this point to lobby it as a business decision
with
sales/marketing and real customers.
 
Austin Lesea schrieb:
All:

From our legal group-
Also, the bitstream created by using Xilinx software is owned
by Xilinx can only be used on Xilinx programmable products, for example,
FPGAs.
LOL, ROTFL.

Xilinx owns the bitstream? And Microsoft owns my PhD thesis because I
typed it in Word? Wait, I created a PDF with Acrobat, so the PDF is
owned by Adobe. But it was created from a file owned by Microsoft, so
now Microsoft needs to sue Adobe.

Sorry Austin, that is complete nonsense. Xilinx can not own a file that
contains IP both from me an third parties.
A shared ownership might be possible but I really doubt that.

There was a case about two years back were a computer game manufacturer
claimed that it owned level files created by an editor delivered with a
game. They lost the case.


Please have you legal department read up the first sale principle and
have them think again whether they can restrict what a private customer
does with the output of the tools.
And after they checked that for the US, have them recheck for
scandinavian countries.

Kolja Sulimma


BTW: If I typed my HDL in the ISE editor, can I still publish it under
GPL (according to your legal department)
 
Ed McGettigan schrieb:

The (A) company used these exact same EULA restrictions against Clear Logic
and won.

More details here:
http://www.internetcases.com/archives/2005/09/ninth_circuit_a_1.html
There is no mentioning of the EULA. Apparently there is a special law in
the US to protect semiconductor masks and the court treated the
bitstream as a mask work.
The EULA can still be completely invalid.

I just skimmed the law, and I still do not see how Altera could possibly
have won.
It says

"the “owner” of a mask work is the person who created the mask work"
If I start bitgen, I am generating the mask work and not altera. I use a
tool to do it, yes, but surely I am still the creator?

But even if Altera was the owner, it goes on:
"the protection provided for a mask work under this chapter shall
commence on the date on which the mask work is registered under section
908, or the date on which the mask work is first commercially exploited
anywhere in the world"
Surely Altera did not register my bitstream and did not exploit it
comercially before I sent it to Clear Logic?

Then the law goes on, and explicitely allows to reverse engineer the
mask (bitstream) to create your own bitstreams with the information
obtained:

§906 (a) 1 and 2: "it is not an infringement [...] for [...] a person
who performs the analysis or evaluation described in paragraph (1) to
incorporate the results of such conduct in an original mask work which
is made to be distributed."


I conclude that §906 (a) of the Semiconductor Chip Protection Act of
1994 permits to reverse engineer bitstream information to create open
source tools. But hey, IANAL.

Kolja Sulimma
 
Kolja Sulimma wrote:

Sorry Austin, that is complete nonsense. Xilinx can not own a file that
contains IP both from me an third parties.
A shared ownership might be possible but I really doubt that.
That seems to be the most logical basis for a claim. Compare for
example, this partial passage from RedHat's default licensing of the
Cygwin compatability layer:

"The Cygwin API library found in the winsup subdirectory of the source
code is also covered by the GNU GPL (with exceptions; see below). By
default, all executables link against this library (and in the process
include GPL'd Cygwin glue code). This means that unless you modify the
tools so that compiled executables do not make use of the Cygwin
library, your compiled programs will also have to be free software
distributed under the GPL with source code available to all."

This seems to say that if you compile in a way that includes bits of
their library, RedHat has an ownership interest in your binary. The
only difference is that they exercise that interest by extending the
GPL to the result, whereas Xilinx exercises its interest by extending
its restrictions on keeping the technology proprietary and only running
it on Xilinx silicon. RedHat is also willing to sell you a license to
use the parts of the Cygwin stuff which they own under non-GPL terms,
and Xilinx may be willing to license a bit stream to you slightly
differently if you can make a convincing argument to why it would be in
their interest to do so.
 
On 30 Jan 2006 15:28:41 -0800, cs_posting@hotmail.com wrote:

John Williams wrote:

What you've now created is a hybrid license, incompatible with the pure
GPL (ok, so you can't host it on sourceforge, no big deal). If someone
uses the tool to target an Altera part, then they are breaking the
conditions of their license and it is therefore immediately revoked.

You would add a viral clause which makes sure that further refinements
of the tool are also covered by the same dual condition (GPL + Xilinx only).

But what if someone figures out XDL by reverse engineering your tool,
rather than Xilinx's software? How do you prohibit someone from
reverse engineering (ie, reading and taking notes) open code?
The viral clause must still apply to the reverse engineered tool;
it has to define reverse engineering as a form of "use".

- Brian
 

Welcome to EDABoard.com

Sponsor

Back
Top