Electronics > FPGA

FPGA EEVBlog segments / Xilinx buyer's remorse

(1/11) > >>

Now I know Dave's busy, and he doesn't need to explain anything because he's always got many things on his plate, but there was mention of some FPGA segments for the EEVBlog. I wonder if licencing/development issues stunted that idea, for the same reason that he's indicated that he won't do Altium Designer tutorials. (Note -- I fully 100% support this reasoning -- no point doing hobbyist videos that start with "fork out a few hundred dollars" as step 1).

Many (specifically, six) years ago, I bought a Xilinx Spartan-3E starter kit for a hobbyist-friendly $180 or thereabouts. I opened it up, played with it for a bit, and discovered that the software that came with it was an evaluation that expired after some set period.  This disillusioned me, and put me off playing with it any further once that period elapsed.

Fast-forward to 2014, and I find this thing sitting in the cupboard and I think to myself, "I was young back then. Maybe I misunderstood the licence period issue, maybe I can still develop with this thing." So I download Xilinx ISE Webpack (or something), and 6GB and only a little effort later, I've implemented and tested a circuit of mind-blowing complexity two NAND gates! Hooray! Now, on to the most important part of most (?) FPGA projects: the soft-core. It strikes me that most FPGA solutions (indeed, most digital circuits these days) require some kind of CPU somewhere to oversee the operation of the system (whether it be a dedicated MCU/CPU, or a soft-core onboard the FPGA). This is the bit that stuns me: in order to use Microblaze, Xilinx's soft core, I apparently have to shell out $500+ for a Xilinx EDK licence. I just can't justify that for playing around; but if I can't play around, I can't discover what this board is capable of. In other words, it's a $180 catch-22 doorstop.

This Spartan-3E starter kit has the unenviable distinction of being the only thing I've ever bought that has hit me with buyer's remorse twice.

What's particularly perplexing to me is that Xilinx makes less than 5% of its revenue* from development tools. How does this even make sense as a corporate strategy? Even well-implemented licencing systems** create road-blocks for everyone involved. It must cost money for them to maintain a licencing system, it'll cause no end of headaches and lost productivity amongst the companies using Xilinx tools, and any companies out there using Altium tools won't be able to freely experiment with Xilinx tools. Does it really make sense to suggest that the increased adoption of Xilinx FPGAs resulting from a free*** software ecosystem might be less than the 5% increase in hardware revenue it'd take to cover the hypothetical total loss in software revenue?

Time to turn this rant into a pragmatic question. Has anyone succeeded in developing a Xilinx FPGA solution with a soft-core without forking out hundreds? How? Eval licenses and vouchers with dev boards don't count. Can you generate 30-day eval licences over and over again, or does it only allow one eval per product per MAC address?

* Source -- and they've got a healthy margin on hardware production costs, so this can be translated as very approximately 5% of profit.
** the Xilinx licence system involves receiving licences by emails and having to download and manually install them, so not well-implemented then
*** Free as in beer.

I hear you. Not only do you pay through the nose for the IC, it's then a big chunk of money for the dev tools (which are pretty counterintuitive anyway...)

I have been planning to try this: https://github.com/m-labs/lm32 but haven't got around to it yet. I know the MiSoC guys have it working though.

Oh, and the LM32 has gcc support

edit: http://www.xilinx.com/products/intellectual-property/picoblaze.htm ?

Hi RS20.

The 'free' stuff is out there, you just have to look away from the vendor's own solutions  - the exception being http://en.wikipedia.org/wiki/LatticeMico32, which can run on pretty much any FPGA (not sure if you actually should be doing that though!).

Have a look at  ZPUino http://www.alvie.com/zpuino/ - 32-bit micro with an Arduino interface.

I've also played around with the AVR8 core (http://papilio.cc/index.php?n=Papilio.ArduinoCore), and put a character mode VGA interface onto it. Might be a good use case for those who like the Arduino /  AVR stuff.

I've ported socz80 (http://sowerbutts.com/socz80/) to a new board in an evening for that old time CP/M feel - however a 125MHz Z80 with 8MB RAM is a bit OTT.


A processor is a fairly inefficient use of FPGA resources, which is why we are now starting to see embedded ARMs.
Unless you have the spare FPGA space available (e.g. you need the pin count, which dictates die size) it will often be cheaper and simpler to use a seperate processor.

As regards EDK, a while ago there was a devboard that came with a version of EDK that was locked to the device type on the board - not sure of there was any time or other limitations on this. 

Look at the LM32 softcore from Lattice. I recently did a project with that softcore on a Xilinx Spartan 6 using the free Xilinx Webpack ISE 14.7. It has GCC toolchain support. All in all it is pretty cool.



[0] Message Index

[#] Next page

There was an error while thanking
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod