5
\$\begingroup\$

HDL IP cores targeted towards ASICs, FPGAs or both are often very useful for adding functionality to a project quickly. Commercially licences cores are available from many sources for a range of prices, but increasingly "open source" cores are becoming available which provide similar functionality.

The use of free and open source HDL cores is especially significant for FPGA-based hardware projects. The low initial hardware costs of FPGAs means that this is a market where development of custom cores for commonly used functions can have a large impact on the total cost of a project.

However, currently there are no open source licences specifically designed for licensing HDL cores and therefore a number of licences designed for other uses (primarily software and physical hardware design) are in use in practice. The use of these licences for HDL core seems to me to be questionable and I worry about including open source cores in commercial projects with current licensing arrangements.

My question is how appropriate are the open source licences currently in use for inclusion of HDL cores in a commercial product?

In particular,

  • is an HDL IP core applicable within the terms of the licence?
  • is commercial use allowable under the licence?
  • what attribution requirements are included?
  • is it certain that designs including the licensed cores are not required to be disclosed as 'derived works' etc?
  • is the licence used widely enough to be well recognised?

Some licences currently in use are:

There's a few discussions of this already online that I've looked at (see below), but I'm not sure any have come up with anything conclusive. Especially interesting is LGPL as it's used a lot in industry for software libraries and there's a large number of OpenCores cores available under the licence.

Of course I'm not expecting anyone to commit to a concrete legal opinion, but something better than "no one will find out anyway" or "the only way to be sure is to ask the author directly for permission" would be useful to me.


Previous references/discussions:


Best licences for Open Hardware was a similar question aimed at pure hardware, rather than HDL cores.

\$\endgroup\$
6
  • \$\begingroup\$ "However, currently there are no open source licences designed for this purpose, especially for the more development cost-sensitive FPGA market." If it is Open Source, and hence I am assuming free, what relevance is "more development cost-sensitive FPGA market"? Are you talking about support costs, or something else? \$\endgroup\$
    – gbulmer
    Sep 11, 2014 at 14:57
  • \$\begingroup\$ Sorry, I can see I didn't explain that well. I mean that ASIC manufacture is an expensive business to start with (masks and all), but FPGAs are used where man-power development costs (i.e. making your own UART core vs getting a free one) are a more significant part of the budget. Does that make sense? \$\endgroup\$
    – Xcodo
    Sep 11, 2014 at 15:02
  • \$\begingroup\$ "Does that make sense?" Yes-ish. However, I think it needs to be made more explicit and clear. Further, I still don't understand why you assert there are no Open Source licenses which help reduce the man-power cost of making devices on FPGAs. I thought that was the point for several "open IP" projects. \$\endgroup\$
    – gbulmer
    Sep 11, 2014 at 15:09
  • \$\begingroup\$ @gbulmer I've made some changes to the beginning of the post and the question. I'm happy to keep trying to make the question clearer (I know what I mean, but making it clear is hard!) \$\endgroup\$
    – Xcodo
    Sep 11, 2014 at 15:19
  • \$\begingroup\$ Okay, I think it is getting clearer! So an answer might look like a table. Each row of the table is one of your concerns or needs, e.g. "is commercial use allowable under the licence?". Each column of the table would be about a specific license. The intersection cell would be a comment about the license in the context of that concern/need? \$\endgroup\$
    – gbulmer
    Sep 11, 2014 at 15:31

1 Answer 1

1
\$\begingroup\$

i'm not familiar with all on your list. I see TAPR as analogous to GPL, and good applicability to HDL. others may be tricky. I've wished for a TAPR sort of thing designed for hardware/hdl code that is more like LGPL, but i haven't seen one like that.

GPL, LGPL, BSD etc. are written for copyrighted stuff, and that sortof leaves open a loophole for hardware designs. you don't "publish" an asic, so there can be a breakdown in legalese fitment there. FPGAs may be slightly better fit, as for fpga you do something comparable to compiling spurce code, and distributing the bitfile is a little closer to publishing something you can copyright than doing PnR for a hardwired asic, and you can make your fpga design updatable by downloading and installing new bitfile, which is like getting and using a lot of software today, but it's still muddy waters for copyright based licensing.

i'm also not sure of cross-compatibility between the copyright licenses and the hardware-specific licenses.

IMHO, of the ones i've read, TAPR is best, but like gpl makes your entire project open-source under TAPR. I's prefer to see cores under an lgpl analog. contribute improvements to the ip core, but protect other parts of the design.

as i understand, the copyright license weirdities are enforcemen t related. so mostly a problem if you sue a user that didn't follow the intent of the license, they may get off on technicalities.

\$\endgroup\$
1
  • \$\begingroup\$ Thanks for the thoughts. Yes, I'm happy to contribute back to projects à la LGPL for software, I just need some certainty that we won't either get pulled up later for use outside the licence and forced to disclose our own IP in the rest of the project. \$\endgroup\$
    – Xcodo
    Sep 16, 2014 at 15:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.