mirror of
https://github.com/verilator/verilator.git
synced 2025-01-03 21:27:35 +00:00
Commentary
This commit is contained in:
parent
d64f979f99
commit
6039e9dcc3
@ -72,23 +72,38 @@ a good thing for getting working silicon.
|
|||||||
Will Verilator output remain under my own license/copyright?
|
Will Verilator output remain under my own license/copyright?
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
Yes, it's just like using GCC on your programs; this is why Verilator uses
|
Your SystemVerilog, VPI/DPI, or main() C++ code remains under your own license.
|
||||||
the "GNU **Lesser** Public License Version 3" instead of the more typical
|
|
||||||
"GNU Public License". See the licenses for details, but in brief, if you
|
It's just like how using GCC on your programs does not change the copyright
|
||||||
change Verilator itself or the header files Verilator includes, you must
|
of your program; this is why Verilator uses the "GNU **Lesser** Public
|
||||||
make the source code available under the GNU Lesser Public License.
|
License Version 3" instead of the more typical "GNU Public License". See
|
||||||
However, Verilator output (the Verilated code) only "include"s the licensed
|
the licenses for details.
|
||||||
files, and so you are **not** required to open-source release any output
|
|
||||||
from Verilator.
|
Some examples:
|
||||||
|
|
||||||
|
* Any SystemVerilog or other input fed into Verilator remain your own.
|
||||||
|
|
||||||
|
* Any of your VPI/DPI C++ routines that Verilator calls remain your own.
|
||||||
|
|
||||||
|
* Any of your main() C++ code that calls into Verilator remain your own.
|
||||||
|
|
||||||
|
* If you change Verilator itself, for example changing or adding a file
|
||||||
|
under the src/ directory in the repository, you must make the source code
|
||||||
|
available under the GNU Lesser Public License.
|
||||||
|
|
||||||
|
* If you change a header Verilator provides, for example under include/ in
|
||||||
|
the repository, you must make the source code available under the GNU
|
||||||
|
Lesser Public License.
|
||||||
|
|
||||||
You also have the option of using the Perl Artistic License, which again
|
You also have the option of using the Perl Artistic License, which again
|
||||||
does not require you to release your Verilog or generated code, and also
|
does not require you to release your Verilog, C++, or generated code. This
|
||||||
allows you to modify Verilator for internal use without distributing the
|
license also allows you to modify Verilator for internal use without
|
||||||
modified version. But please contribute back to the community!
|
distributing the modified version. But please contribute back to the
|
||||||
|
community!
|
||||||
|
|
||||||
One limit is that you cannot under either license release a closed-source
|
Under both license you can offer a commercial product that is based on
|
||||||
Verilog simulation product incorporating Verilator. That is you can have a
|
Verilator either directly or embedded within. However under both licenses,
|
||||||
commercial product, but must make the source code available.
|
any changes you make to Verilator for such a product must be open sourced.
|
||||||
|
|
||||||
As is standard with Open Source, contributions back to Verilator will be
|
As is standard with Open Source, contributions back to Verilator will be
|
||||||
placed under the Verilator copyright and LGPL/Artistic license. Small test
|
placed under the Verilator copyright and LGPL/Artistic license. Small test
|
||||||
|
@ -683,6 +683,7 @@ onehot
|
|||||||
ooo
|
ooo
|
||||||
oprofile
|
oprofile
|
||||||
oversubscription
|
oversubscription
|
||||||
|
parallelized
|
||||||
param
|
param
|
||||||
parameterized
|
parameterized
|
||||||
params
|
params
|
||||||
@ -771,6 +772,7 @@ specparam
|
|||||||
splitme
|
splitme
|
||||||
spp
|
spp
|
||||||
sqrt
|
sqrt
|
||||||
|
src
|
||||||
srcdir
|
srcdir
|
||||||
srcfile
|
srcfile
|
||||||
sscanf
|
sscanf
|
||||||
@ -889,6 +891,7 @@ writeme
|
|||||||
writemem
|
writemem
|
||||||
writememb
|
writememb
|
||||||
writememh
|
writememh
|
||||||
|
xiak
|
||||||
xin
|
xin
|
||||||
xml
|
xml
|
||||||
xnor
|
xnor
|
||||||
|
Loading…
Reference in New Issue
Block a user