Soft Processors and Licensing

A

Alexander Kane

Guest
Just a bit about the project I'm working on: Have an FPGA gathering
and manipulating data, and we need a processor to run the show and to
send the data over a network. At the moment we are planning on using
a soft-processor. Still early stages in the project and and I'm
currently deciding between Cyclone and Spartan. I haven't had any
experience with either Nios II or MicroBlaze (and I believe that these
are the only real options out there if you want strong community and/
or professional support).

Anyway, what's really confusing me is the licensing issues. I know
these questions have been asked before but I'm still confused.

I understand that to use the MicroBlaze processor you either need to
purchase the ISE Embedded Edition or purchase Platform Studio and the
Embedded Development Kit (and use it with ISE WebPACK). However from
what I can find out it says that you're free to put MicroBlaze
processors on as many devices as you wish so long as they remain on
site. I can't find any information about what type of license you
need to include MicroBlaze in a product being sold.

In the case of Nios II, you can use and develop with the Nios II with
the Quartus II Web Edition because it comes with the OpenCore license
that lets you use IP on an Altera FPGA so long as your development
board is plugged in to the PC (I assume it doesn't matter who's
hardware you use). The e variant you can use for free, but the other
variants require a license to work when disconnected. The license you
need is IP-NIOS, and though I can't find an official price listing
anywhere I've seen $US500 being mentioned on forums... and presumably
this allows you to sell as many products as you wish with Nios II
processors on them?

I've stated a whole bunch of assumptions here and I'd appreciate it if
someone could tell me if I'm on the right track.
Any advice on choosing between MicroBlaze and Nios II, or is there
another option I'm missing?
My company wants to spend as little as possible on licensing and/or
development tools (this is their first time using an FPGA in a
product), but my time is effectively free to them (I'm there under a
research grant). That said, I know the free way is usually the hard
way so if I can make a compelling case for them to spend money it may
make my life a lot easier.
 
"Alexander Kane" <ajpkane@gmail.com> wrote in message
news:f1f230a8-d528-48f4-9db5-ac5700e6b2bb@17g2000prr.googlegroups.com...
I've stated a whole bunch of assumptions here and I'd appreciate it if
someone could tell me if I'm on the right track.
Any advice on choosing between MicroBlaze and Nios II, or is there
another option I'm missing?
My company wants to spend as little as possible on licensing and/or
development tools (this is their first time using an FPGA in a
product), but my time is effectively free to them (I'm there under a
research grant). That said, I know the free way is usually the hard
way so if I can make a compelling case for them to spend money it may
make my life a lot easier.
1) You will have a lot of headaches using Xilinx EDK. MicroBlaze is not a
softcpu to start with.
2) You can use LatticeMico32 softcpu (which is free) on Altera or Xilinx
FPGAs. E.g. check the opensource project "Milkymist", they're running LM32
softcpu on Spartan-6.
3) You can use Nios II/e (economy), which is also free, but I am not sure it
could handle network speeds.

Anyway, I would definitely go for Altera, but if You're interested in Xilinx
devices, then go to MIlkymist page. They've developed memory controller +
ethernet mac + many other cores.
 
On May 6, 5:11 pm, Alexander Kane <ajpk...@gmail.com> wrote:
Just a bit about the project I'm working on: Have an FPGA gathering
and manipulating data, and we need a processor to run the show and to
send the data over a network.  At the moment we are planning on using
a soft-processor.  Still early stages in the project and and I'm
currently deciding between Cyclone and Spartan.  I haven't had any
experience with either Nios II or MicroBlaze (and I believe that these
are the only real options out there if you want strong community and/
or professional support).

Anyway, what's really confusing me is the licensing issues.  I know
these questions have been asked before but I'm still confused.

I understand that to use the MicroBlaze processor you either need to
purchase the ISE Embedded Edition or purchase Platform Studio and the
Embedded Development Kit (and use it with ISE WebPACK).  However from
what I can find out it says that you're free to put MicroBlaze
processors on as many devices as you wish so long as they remain on
site.  I can't find any information about what type of license you
need to include MicroBlaze in a product being sold.

In the case of Nios II, you can use and develop with the Nios II with
the Quartus II Web Edition because it comes with the OpenCore license
that lets you use IP on an Altera FPGA so long as your development
board is plugged in to the PC (I assume it doesn't matter who's
hardware you use).  The e variant you can use for free, but the other
variants require a license to work when disconnected.  The license you
need is IP-NIOS, and though I can't find an official price listing
anywhere I've seen $US500 being mentioned on forums... and presumably
this allows you to sell as many products as you wish with Nios II
processors on them?

I've stated a whole bunch of assumptions here and I'd appreciate it if
someone could tell me if I'm on the right track.
Any advice on choosing between MicroBlaze and Nios II, or is there
another option I'm missing?
My company wants to spend as little as possible on licensing and/or
development tools (this is their first time using an FPGA in a
product), but my time is effectively free to them (I'm there under a
research grant).  That said, I know the free way is usually the hard
way so if I can make a compelling case for them to spend money it may
make my life a lot easier.
You have misunderstood what a "site license" means. This means that
the software or IP can be used within the limited physical distance of
the license server and not within a national or world basis for the
company that purchased the license.

The final bitstream can be shipped world wide.

Ed McGettigan
--
Xilinx Inc.
 
You have misunderstood what a "site license" means. This means that
the software or IP can be used within the limited physical distance of
the license server and not within a national or world basis for the
company that purchased the license.

The final bitstream can be shipped world wide.
----------------------------------------------------------------------

So companies, that has HQ/support/testing in USA, but most programmers in
e.g. India, can't share the same licence server? Even through VPN? It is
basically possible, but out of the licence?
 
You have misunderstood what a "site license" means. This means that
the software or IP can be used within the limited physical distance of
the license server and not within a national or world basis for the
company that purchased the license.

The final bitstream can be shipped world wide.
Thanks for clearing this up for me.

1) You will have a lot of headaches using Xilinx EDK. MicroBlaze is not a
softcpu to start with.
2) You can use LatticeMico32 softcpu (which is free) on Altera or Xilinx
FPGAs. E.g. check the opensource project "Milkymist", they're running LM32
softcpu on Spartan-6.
3) You can use Nios II/e (economy), which is also free, but I am not sure it
could handle network speeds.

Anyway, I would definitely go for Altera, but if You're interested in Xilinx
devices, then go to MIlkymist page. They've developed memory controller +
ethernet mac + many other cores.
In regards to point (1) this is obviously your opinion, I was
wondering if anyone else would like to comment on this.
I am aware that LatticeMico32 is free, but I understand that an
optimised version is available for Lattice FPGAs (so it would make
sense to use it with a Lattice FPGA), whereas to use it on other FPGAs
you have to deal with a Verilog dump. I'm just a little weary of
learning Verilog while working on this project. Furthermore I have
heard that the community support for LatticeMico32 is poor.

Also is someone able to confirm about pricing for Nios II? (see first
post)
 
On May 8, 3:28 am, "scrts" <mailsoc@[remove@here]gmail.com> wrote:
You have misunderstood what a "site license" means. This means that
the software or IP can be used within the limited physical distance of
the license server and not within a national or world basis for the
company that purchased the license.

The final bitstream can be shipped world wide.
----------------------------------------------------------------------

So companies, that has HQ/support/testing in USA, but most programmers in
e.g. India, can't share the same licence server? Even through VPN? It is
basically possible, but out of the licence?
If the developers are in India then the licenses should be based in
India. In most cases support and testing roles would have no need for
licenses to the EDK or IP cores.

This is really a conversation that is best suited for your Sales
person than the internet.

Ed McGettigan
--
Xilinx Inc.
 
You have misunderstood what a "site license" means. This means that
the software or IP can be used within the limited physical distance of
the license server and not within a national or world basis for the
company that purchased the license.

I presume this is to stop multi-national companies having _one_ license
to cover wordwide development? (This isn't really a practical proposition
but is the extreme case)


Nial
 
On May 8, 10:26 pm, Alexander Kane <ajpk...@gmail.com> wrote:
You have misunderstood what a "site license" means. This means that
the software or IP can be used within the limited physical distance of
the license server and not within a national or world basis for the
company that purchased the license.

The final bitstream can be shipped world wide.

Thanks for clearing this up for me.

1) You will have a lot of headaches using Xilinx EDK. MicroBlaze is not a
softcpu to start with.
2) You can use LatticeMico32 softcpu (which is free) on Altera or Xilinx
FPGAs. E.g. check the opensource project "Milkymist", they're running LM32
softcpu on Spartan-6.
3) You can use Nios II/e (economy), which is also free, but I am not sure it
could handle network speeds.

Anyway, I would definitely go for Altera, but if You're interested in Xilinx
devices, then go to MIlkymist page. They've developed memory controller +
ethernet mac + many other cores.

In regards to point (1) this is obviously your opinion, I was
wondering if anyone else would like to comment on this.
I think he may be getting MicroBlaze mixed up with PicoBlaze or even
the PowerPC versions of the Vertex CPUs. To the best of my knowledge
both PicoBlaze and MicroBlaze CPUs are soft cores. The MicroBlaze is
fully synthesized while the PicoBlaze is structural HDL which
instantiates the LUTs and FFs rather than inferring them. But that
does not make the PicoBlaze CPU a hard core.


I am aware that LatticeMico32 is free, but I understand that an
optimised version is available for Lattice FPGAs (so it would make
sense to use it with a Lattice FPGA), whereas to use it on other FPGAs
you have to deal with a Verilog dump.  I'm just a little weary of
learning Verilog while working on this project.  Furthermore I have
heard that the community support for LatticeMico32 is poor.
I've never dug into the details of the Lattice Micro32, but what do
you mean by Verilog "dump"? Verilog is actually q

Also is someone able to confirm about pricing for Nios II? (see first
post)
 
On May 9, 1:06 pm, rickman <gnu...@gmail.com> wrote:
On May 8, 10:26 pm, Alexander Kane <ajpk...@gmail.com> wrote:



You have misunderstood what a "site license" means. This means that
the software or IP can be used within the limited physical distance of
the license server and not within a national or world basis for the
company that purchased the license.

The final bitstream can be shipped world wide.

Thanks for clearing this up for me.

1) You will have a lot of headaches using Xilinx EDK. MicroBlaze is not a
softcpu to start with.
2) You can use LatticeMico32 softcpu (which is free) on Altera or Xilinx
FPGAs. E.g. check the opensource project "Milkymist", they're running LM32
softcpu on Spartan-6.
3) You can use Nios II/e (economy), which is also free, but I am not sure it
could handle network speeds.

Anyway, I would definitely go for Altera, but if You're interested in Xilinx
devices, then go to MIlkymist page. They've developed memory controller +
ethernet mac + many other cores.

In regards to point (1) this is obviously your opinion, I was
wondering if anyone else would like to comment on this.

I think he may be getting MicroBlaze  mixed up with PicoBlaze or even
the PowerPC versions of the Vertex CPUs.  To the best of my knowledge
both PicoBlaze and MicroBlaze CPUs are soft cores.  The MicroBlaze is
fully synthesized while the PicoBlaze is structural HDL which
instantiates the LUTs and FFs rather than inferring them.  But that
does not make the PicoBlaze CPU a hard core.

I am aware that LatticeMico32 is free, but I understand that an
optimised version is available for Lattice FPGAs (so it would make
sense to use it with a Lattice FPGA), whereas to use it on other FPGAs
you have to deal with a Verilog dump.  I'm just a little weary of
learning Verilog while working on this project.  Furthermore I have
heard that the community support for LatticeMico32 is poor.

I've never dug into the details of the Lattice Micro32, but what do
you mean by Verilog "dump"?  Verilog is actually q
I seem to have fat fingered this post before I was done typing.

Verilog is actually quite easy to pick up. If the code is already
written I would not expect it to be at all hard to compile. What do
you mean when you say there is an "optimized" version for Lattice
devices? Do you mean they have a pre-compiled version?


Also is someone able to confirm about pricing for Nios II? (see first
post)
Can't help you there. Wouldn't it be a good idea to talk to Altera
for pricing?

Rick
 
I am aware that LatticeMico32 is free, but I understand that an
optimised version is available for Lattice FPGAs (so it would make
sense to use it with a Lattice FPGA), whereas to use it on other FPGAs
you have to deal with a Verilog dump.
Not true. The RTL is available and it's the same code for any FPGA
(apart from the memories).

Cheers,
Jon
 
On May 6, 5:11 pm, Alexander Kane <ajpk...@gmail.com> wrote:
I understand that to use the MicroBlaze processor you either need to
purchase the ISE Embedded Edition or purchase Platform Studio and the
Embedded Development Kit (and use it with ISE WebPACK).  However from
what I can find out it says that you're free to put MicroBlaze
processors on as many devices as you wish so long as they remain on
site.  I can't find any information about what type of license you
need to include MicroBlaze in a product being sold.
There is a version of the uBlaze that's shipped in an XAPP - you just
instantiate a core, and use GCC for development. No EDK needed.

My understanding is that the generated bitstream using any flavor of
uBlaze is without any additional cost (provided that it's used in a
Xilinx chip.)

In the case of Nios II, you can use and develop with the Nios II with
the Quartus II Web Edition because it comes with the OpenCore license
that lets you use IP on an Altera FPGA so long as your development
board is plugged in to the PC (I assume it doesn't matter who's
hardware you use).  The e variant you can use for free, but the other
variants require a license to work when disconnected.  The license you
need is IP-NIOS, and though I can't find an official price listing
anywhere I've seen $US500 being mentioned on forums... and presumably
this allows you to sell as many products as you wish with Nios II
processors on them?
There's a Free-NIOS now. It's not as "good" as the payfor-NIOS, but
it works just fine.

I've stated a whole bunch of assumptions here and I'd appreciate it if
someone could tell me if I'm on the right track.
Any advice on choosing between MicroBlaze and Nios II, or is there
another option I'm missing?
My company wants to spend as little as possible on licensing and/or
development tools (this is their first time using an FPGA in a
product), but my time is effectively free to them (I'm there under a
research grant).  That said, I know the free way is usually the hard
way so if I can make a compelling case for them to spend money it may
make my life a lot easier.
Don't ignore OpenCores. There are a couple of processors there (MIPS,
OpenRISC, etc) that are portable to and supported by GCC variants.

IMnsHO, the value add for NIOS and uBlaze is the ease (speed) of
development - When you graduate you'll find that time goes from "free"
to "priceless".

RK
 
W dniu 5/7/2011 02:11, Alexander Kane pisze:
Just a bit about the project I'm working on: Have an FPGA gathering
and manipulating data, and we need a processor to run the show and to
send the data over a network. At the moment we are planning on using
a soft-processor. Still early stages in the project and and I'm
currently deciding between Cyclone and Spartan. I haven't had any
experience with either Nios II or MicroBlaze (and I believe that these
are the only real options out there if you want strong community and/
or professional support).
I used Nios in one of my projects. Around 16 running cores on 10 fpga's
with single JTAG chain. Really great.

Anyway, what's really confusing me is the licensing issues. I know
these questions have been asked before but I'm still confused.
I also had such problem with Altera - licensing & pricing.
I had to clarify this before I started with my project.
I understand that to use the MicroBlaze processor you either need to
purchase the ISE Embedded Edition or purchase Platform Studio and the
Embedded Development Kit (and use it with ISE WebPACK). However from
what I can find out it says that you're free to put MicroBlaze
processors on as many devices as you wish so long as they remain on
site. I can't find any information about what type of license you
need to include MicroBlaze in a product being sold.

In the case of Nios II, you can use and develop with the Nios II with
the Quartus II Web Edition because it comes with the OpenCore license
that lets you use IP on an Altera FPGA so long as your development
board is plugged in to the PC (I assume it doesn't matter who's
hardware you use). The e variant you can use for free, but the other
variants require a license to work when disconnected. The license you
need is IP-NIOS, and though I can't find an official price listing
anywhere I've seen $US500 being mentioned on forums... and presumably
this allows you to sell as many products as you wish with Nios II
processors on them?
With IP-NIOS Licence you can sell as many products as you want.
Without also but only slowest NIOS version - now is for free.

Without IP-NIOS you can't make flash programming files for FPGA( for
fastest & middle version), you can only download image to FPGA using
JTAG. In other words you have to load image after every power-up.


I've stated a whole bunch of assumptions here and I'd appreciate it if
someone could tell me if I'm on the right track.
Any advice on choosing between MicroBlaze and Nios II, or is there
another option I'm missing?
My company wants to spend as little as possible on licensing and/or
development tools (this is their first time using an FPGA in a
product), but my time is effectively free to them (I'm there under a
research grant). That said, I know the free way is usually the hard
way so if I can make a compelling case for them to spend money it may
make my life a lot easier.
In this case free NIOS version really works . I know only one
disadventage - C/C++ IDE is based on eclips which makes me somtimes upset.

BTW I've never used Xilinx uBlaze or similar - so I can't compare.

Adam
 
Hello,

Alexander Kane wrote:
Just a bit about the project I'm working on: Have an FPGA gathering
and manipulating data, and we need a processor to run the show and to
send the data over a network.
First, make sure that a FPGA is really necessary, as many embedded chips
can do great work already with ready-made IP stacks and such...

Furthermore, you could use Ethernet-enabled coprocessors such
as the Wiznet chips. Quite handy, saves you an OS and RAM and such.

Then here are other VIABLE solutions that I know :

* As mentioned in other posts, check http://milkymist.org/
it's free (as in open source) and it works, using MICO32.
From what I heard by the developer, it uses MICO32 for very
good reasons, after trying other cores.
If you already have a FPGA board, you can download the source
code, tweak it for your specific platform, and see what you get.
At least the TCP/IP stack, compiler, CPU core and even memory interface
are already cared of.

* Actel has ARM solutions, either as soft cores (precompiled and
able to run at around 60MHz) or hard cores (in the latest SmartFusion).
I have not used any but ARM is well known (it's not an obscure ad hoc
"me too" architecture) and in the case of the A3P family, you can order
the chips with the license key for the softcore at no additional cost.
Two points to check : the Actel price/speed points are different
from the competitors, check that your application fits. Then check
how you will add the TCP/IP/ethernet connection, what will your
software stack be, what physical interfaces etc. ?

Good luck !

yg
--
http://ygdes.com / http://yasep.org
 
Thank you, everyone, for your helpful replies. Unfortunately the
funding for this project got pulled yesterday. But at least I've
learnt something from this.

- Alexander
 

Welcome to EDABoard.com

Sponsor

Back
Top