beginner's question

What is different between general micro-controller and FPGA soft processor?

Speed? Cost? Easy to use? Easy to learn?

I am curiouse if the soft controller will replace the regular microcontroller?

Xilinx said they implement 32-bit RISC controller with a lot of benefits. Would that replace ARM?

Reply to
kathy
Loading thread data ...

On the same process, a soft processor will always be slower, but soft processors have other benefits : You can deploy more than one very easily, and can choose the resource level. The FPGA process tends to be leading edge, so that reduces the actual speed penalty - but at the cost of static Icc. Soft processors can also readily connect to the other logic

On a pure silicon basis, a soft processor will always be more expensive. BUT if you already have the FPGA for other tasks, the _incremental_ cost of a soft processor can be quite low.

Improving all the time :) A weakness of soft processors, is code memory/boot memory has to be separate. That's a lot of PCB traces, and much EMC...

A valid alterative would be to use an external Flash Microcontroller, with a high speed serial data interface to the FPGA, for example.

Reasonably, given that you will be doing the FPGA Logic design as well.

Complement is a better description than replace, tho I am sure the Marketing Depts of the FPGA vendors would claim otherwise.... It is quite common to see a number of microcontroller and micro-processor/DSP working together in a single product.

Xilinx also offer PowerPC cores. If the Soft processor was a universal solution, ask yourself why would they bother doing that ?

-jg

Reply to
Jim Granville

Just to add to what Jim says, a big difference is that soft processors don't go obsolete. Cheers, Syms.

Reply to
Symon

Another consideration is that soft processors allow customization. It is relatively easy to add a special purpose hardware DSP function to a soft micro.

Using off the shelf components requires a new component for a new function.

Reply to
Chris Alexander

The problem with a soft processor is that you are never finished. I am sitting with various versions of NIOS and their related SDKs. Cost is also high. A Cyclone with config chip + RAM and Flash will be several times the cost of a gemeral micro. I have several projects where that kind of cost is no problem. Another drawback is small to medium quantity manufacturing requires extra config steps.

Advantages with a soft core are plenty. The speed problem is counteracted by the capability of hard wired silicon co-processing. Once you learn your tool set (NIOS in my case) then the rest is easy. Be careful not to replace your trusty PIC or 8051 with a FPGA. If your 8051 can do the job then use your

8051, end of story. As soon as you have equal trade-off point then look at FPGAs. I have several access control applications where I need direct interfacing to passive readers, plenty of serial lines, large storage and medium speed (20-60 MHz). NIOS on a Cyclone serves me well. I still use Atmel 8051s on many other parts of my system because of the low cost. FPGAs can also save you a lot on board space, if your application requires a certain amount of resources. As soon as your board requires plenty of I/O (several 8255s), lot of memory (16 to 32 bit), more UARTs and other peripherals then a FPGA with a soft core will look more attractive. If you can get away with one or two AVRs, 8051 or PICs then use those chips. If your board starts looking like an old mini-computer's main CPU board (i.e. very large) then look at the FPGA. I have several design constraints like euro card size that I have to comply with.

Smaller is not always cheaper. A 32 bit FPGA core will require 32 data lines, 20 + address lines and several control lines. This excludes your other I/O. Also you will require a config PROM (unless you are using a Actel Flash based FPGA). Your PCB ends up complicated and multilayered. And don't think of staying double sided and going longer tracks. Your super duper FPGA has very fast rise times that will play "ring-ring" with long tracks.

Power supplies: Hmm. Big problem. Your common micros usually run of a single power supply. So you can power the device from a single 5V or 3V3 power supply. FPGAs are not good at this. Most of the newer devices requires at least 2 power supplies, namely 3V3 for I/O and some other obscure voltage for the core (e.g. 1.5V). Try to find a cheap 1.5V regulator. Also do the math with the drop voltage times the current drawn. Another problem is the inrush current on SRAM devices (like Altera and Xilinx devices). They can suck up like 1A of current during startup, and then draw very little afterwards. This requires using a higher current regulator. Your will end up with at least one switcher and one linear regulator. Extra cost. FPGAs are not cheap on power. If your system can afford it then go for it. A FPGA is not a 10mA max device. Go and check the specs.

So do the trade offs: Cost/ Complexity/ Tools/ PCB layers/Size/ Power/Availability/Copy protection.... the list is long.

Each device fills a market. There is no real threat of FPGAs taking over ARM CPUs. After you have done your trade-offs you will find the optimal solution. I chose NIOS because it fills about 50% of my systems's requirements.

Are soft core CPUs cool? Yes. Do I use them for everything? No!

Victor Schutte

snipped-for-privacy@zertec.co.za

formatting link

Reply to
Victor Schutte

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.