FPGARelated.com
Forums

Is free-to-use IP included with downloadable FPGA tools?

Started by Nicholas Kinar August 27, 2009
Hello--

I am trying to compare and contrast the differences between the 
freely-downloadable tools for FPGA development from the two largest 
vendors: Xilinx and Altera.

What has always been puzzling for me is that there is often no easy way 
of determining if there is any IP available from the vendor for no 
additional charge.

Since I am a researcher building circuits for research use there is 
little impetus for purchasing IP unless I really need it.

For example, are there any SDRAM memory controllers available for gratis 
along with the freely downloadable development tools?  What about other 
types of controllers (i.e. NAND flash controller, etc).

In other words, I am looking for IP that I don't have to eventually 
purchase.  I can simply use the IP over the course of my development 
cycle and in the final circuit.

I already know about the OpenCores website, where the IP is under a 
permissive license, but is there anything similar (if not open source) 
availble from from these two companies?

Which IP is free to freely use by a user of the software?  And moreover, 
how do I know it is free to use along with the downloadable tools from 
these companies?
Nicholas Kinar <n.kinar@usask.ca> wrote:
(snip)
 
< What has always been puzzling for me is that there is often no easy way 
< of determining if there is any IP available from the vendor for no 
< additional charge.
 
< Since I am a researcher building circuits for research use there is 
< little impetus for purchasing IP unless I really need it.
 
(snip)
 
< In other words, I am looking for IP that I don't have to eventually 
< purchase.  I can simply use the IP over the course of my development 
< cycle and in the final circuit.

That is a good question, which I am also interested in.  As far
as I know, much of it is free as long as it is used with the vendors
devices.  It seems, though, that there are still complications
distributing source code.  That is, you can't necessarily (as
far as I know) distribute the generated source, even if the
recipient is allowed to use it.  Especially not use it in
open source projects.  That seems to me to still be a problem
in need of a solution.

-- glen
On Aug 27, 4:57=A0pm, Nicholas Kinar <n.ki...@usask.ca> wrote:
> Hello-- > > I am trying to compare and contrast the differences between the > freely-downloadable tools for FPGA development from the two largest > vendors: Xilinx and Altera.
> > In other words, I am looking for IP that I don't have to eventually > purchase. =A0I can simply use the IP over the course of my development > cycle and in the final circuit. > > Which IP is free to freely use by a user of the software? =A0And moreover=
,
> how do I know it is free to use along with the downloadable tools from > these companies?
The easiest way to determine the free IP available is to download the free tool versions. With the tools, you should be able to access their IP Core builder program. The free of charge IP cores are easy to notice, because they are available to build. Unfortunately this doesn't work in all cases, as there are IP cores that require a license to be requested from the vendor even though the vendor will supply the IP core free of charge. Good luck, I'm interested in seeing what you find.
> > That is a good question, which I am also interested in. As far > as I know, much of it is free as long as it is used with the vendors > devices. It seems, though, that there are still complications > distributing source code. That is, you can't necessarily (as > far as I know) distribute the generated source, even if the > recipient is allowed to use it. Especially not use it in > open source projects. That seems to me to still be a problem > in need of a solution. >
It would be really neat if someone was to start up a FPGA/CPLD company with completely open-source, free software IP. This still qualifies as IP, but with a permissive license which would qualify as "Free Software." In the real world, things are different. I would wonder if Xilinx or Altera provides freely-available controllers for SDRAM and other types of memory. For example, are these the plugins that ship with the freely-downloadable version of Altera's Quartus II? Are they free for general use by the user, or is a license fee ultimately required once the circuit is complete? I think it's okay to distribute your own source code under a permissive license, but then again, you would have to ensure that the chosen license also allows for integration of your code along with the proprietary IP. Perhaps the best way to proceed would be to distribute Verilog or VHDL code with a permissive MIT/BSD license, and have the user simply use IP distributed with the freely-downloadable software from the vendor's website.
> > The easiest way to determine the free IP available is to download the > free tool versions. With the tools, you should be able to access > their IP Core builder program. The free of charge IP cores are easy > to notice, because they are available to build. Unfortunately this > doesn't work in all cases, as there are IP cores that require a > license to be requested from the vendor even though the vendor will > supply the IP core free of charge. > > Good luck, I'm interested in seeing what you find.
I've downloaded Quartus II Web Edition 9.0 to determine which cores are available from Altera. By choosing Tools->MegaWizard Plug-In Manager->Create a new custom megafunction variation it is apparent that there are a number of installed plugins under the headings, "Arithmetic," "Communications," "DSP," "Gates," "I/O", "Interfaces", "JTAG-accessible Extensions," "Memory Compiler," and "Storage." I've gone ahead and built the DDR2 SDRAM High Performance Memory Controller under the Interfaces->Memory Controllers group. The vendor is Altera. It builds without complaining. So does this mean that I am only allowed to evaluate it before purchase? Does this mean that the core is time-limited? Can I use this core in my final circuit without paying a license? Is it limited in any way?
Now I'm in the process of downloading the ISE Webpack Edition from 
Xilinx. After logging into the Xilinx account, under

Support->Product Download and Licensing

there is the heading "Create a new license file."  Under the heading 
there is a button which is marked "Add Evaluation and No Charge IP Cores 
to Product Table."

Clicking on the button will bring up a list of evaluation and no-charge 
IP cores that are available for licensing.

Some IIC and PCI Express licenses for particular FPGAs are available at 
no additional charge.
On Aug 27, 2:40=A0pm, Nicholas Kinar <n.ki...@usask.ca> wrote:
> It would be really neat if someone was to start up a FPGA/CPLD company > with completely open-source, free software IP. =A0This still qualifies as > IP, but with a permissive license which would qualify as "Free Software."
That's the whole rationale for opencores.org. Of course, if you've tried to use one of their cores, you quickly get annoyed by the lack of useful documentation. -a
> That's the whole rationale for opencores.org. > > Of course, if you've tried to use one of their cores, you quickly get > annoyed by the lack of useful documentation. >
Thanks Andy. Of course, a large amount of open source/Free Software doesn't have good documentation, but especially for research, it's nice to know that you can always use the same code again and again for your projects.
On Aug 27, 1:57=A0pm, Nicholas Kinar <n.ki...@usask.ca> wrote:
> Hello-- > > I am trying to compare and contrast the differences between the > freely-downloadable tools for FPGA development from the two largest > vendors: Xilinx and Altera. > > What has always been puzzling for me is that there is often no easy way > of determining if there is any IP available from the vendor for no > additional charge. > > Since I am a researcher building circuits for research use there is > little impetus for purchasing IP unless I really need it. > > For example, are there any SDRAM memory controllers available for gratis > along with the freely downloadable development tools? =A0What about other > types of controllers (i.e. NAND flash controller, etc).
Yes, there are memory controllers for NOR flash, SDR SDRAM, DDR and DDR2 SDRAM, sync and async SRAM too. However, it's worth noting that you get what you pay for. Some of the memory controllers are horribly inefficient.
> In other words, I am looking for IP that I don't have to eventually > purchase. =A0I can simply use the IP over the course of my development > cycle and in the final circuit.
All of free Xilinx cores can be used without restrictions or licensing/ royalties, assuming of course that you use them on Xilinx devices. I haven't used either Altera or Lattice in years but I would imagine that their licensing is similar. Xilinx offers other cores that are not free (as in beer). The Xilinx home page has a nice big link titled "Intellectual Property." You should start there. -a
> > Yes, there are memory controllers for NOR flash, SDR SDRAM, DDR and > DDR2 SDRAM, sync and async SRAM too. > > However, it's worth noting that you get what you pay for. Some of the > memory controllers are horribly inefficient. >
Sadly this may be true. But then again, perhaps some of them may be useful for my application. How inefficient are these cores? Speeds approaching 100MHz would be more than suitable for my project. Are these cores easy to use? I've never used Xilinx tools. Would they simply involve running a wizard, and out pops some Verilog/VHDL code? Have you heard about the Memory Interface Generator (MIG) from Xilinx? Does the MIG generate all of the code that is required for using SDRAM and other similar memories?
>> In other words, I am looking for IP that I don't have to eventually >> purchase. I can simply use the IP over the course of my development >> cycle and in the final circuit. > > All of free Xilinx cores can be used without restrictions or licensing/ > royalties, assuming of course that you use them on Xilinx devices. I > haven't used either Altera or Lattice in years but I would imagine > that their licensing is similar. >
I've been looking at the cores/megafunctions available in the Altera Quartus II software, and it appears some of the cores can be simulated, but not used in actual hardware. There doesn't seem to be any good way to knowing exactly which of the cores will indeed work without additional licensing.
> Xilinx offers other cores that are not free (as in beer). > > The Xilinx home page has a nice big link titled "Intellectual > Property." You should start there. >
I've noticed that link, thanks, Andy! I am assuming that all of the cores listed at http://www.xilinx.com/ipcenter/coregen/11_2_datasheets.htm are freely available for users of the Web Edition software?