FPGA Soft Core CPUs

Parts obsolescence is biting again, and at least one of my EEs is insisting that we spin replacement boards with soft-core processors in FPGAs.

There are several things I don't like about that.

First, how robust are these systems. What if power is lost during updating the configuration device?

Second, I don't like the holy wars among our EEs. Most of them use Altera and wouldn't touch Xilinx to save their lives. But one guy uses only Xilinx and won't give the Altera rep the time of day. This hasn't bothered me up until now, when we put together a peripheral that is accessed to a microcontroller or DSP, because we define an interface and they meet it. I don't need to care who the FPGA source is.

But if we're talking soft core, I'm not going to allow our embedded software department get saddled with supporting both NIOS and Micro Blaze.

So third, I'd be grateful for any experiences with either soft core, or even better both, with a comparison between the two.

And does anybody have any experience with the synthesizable ARM soft core for FPGA? Unless there's a serious handicap, I'd prefer ARM if we do soft core, we've already good tools and programmer experience.

Any and all comments, real or delusional, welcome.

--
Jack Klein http://JK-Technology.Com
FAQs for
news:comp.lang.c http://c-faq.com/
news:comp.lang.c++ http://www.parashift.com/c++-faq-lite/news:alt.comp.lang.learn.c-c++
http://www.club.cc.cmu.edu/~ajo/docs/FAQ-acllc.html
Reply to
Jack Klein
Loading thread data ...

Do you already have an FPGA on the board? If not, I think you'd be bloody crazy to go soft-core. Your EE's just want new toys to play with if they're pushing to stick an FPGA on there solely for that reason...

If you already have an FPGA, how much headroom do you have in the device? How much bigger will you need to go to add a soft-core in there? How much grunt do you need? I'm guessing a little if you're considering ARM. What's the price difference in FPGA silicon?

I've had quite a bit of experience with NIOS in a number of different projects. Overall it's been relatively successful, though one project ended up in the trash-can because of robustness issues that we couldn't pin down - using uCOS-II and 3rd-party IP stack and we couldn't prove it wasn't our code, though a port of our code to a micro ran without problems. So to be clear, I'm pointing my finger at the software libraries, not the NIOS-II itself.

Oh yeah, the IDE is Eclipse (which I hate with a passion) and the debugger is so buggy it's next-to-useless. So bear that in mind.

They really come into their own when you need to glue logic/peripherals to the core that can also go inside the FPGA. Having said that, a lot of the stuff might already be tacked onto a micro anyway - SPI, I2C etc.

For the record, I wouldn't touch Xilinx with a 10-foot clown pole either.

Regards,

--
Mark McDougall, Engineer
Virtual Logic Pty Ltd, 
21-25 King St, Rockdale, 2216
Ph: +612-9599-3255 Fax: +612-9599-3266
Reply to
Mark McDougall

llc.html

Hi Jack,

I am one who loves to play around with soft-cores, yet I would also stay unless you have REAL valid reasons to use a soft-core do not go that path. I bet your EE guys can not give valid reasons (or that I would be able to invalidate their reasons)

1) obsolete - dont fool your self, FPGA vendor soft-core do get obsoleted as well! 2) FPGA vendor soft-core is actually a client-trap vendor lock-in

now, Cortex-M3 RTL code is really beatiful, small and easy, basically you just select ITCM/DTCM sizes, number NVIC interrupts, and you are done and it useable on any FPGA with enough resources, so truly vendor independant

optionally there free Coldfire (original freescale) core available for Cyclone-3 (for other FPGAs there is license fee)

Antti

Reply to
Antti

?? Do you think FPGA's don't go obsolete as well ?

There is a lot more to go wrong in a fpga flow, so unless you NEED the fpga for another reason, this is not a good basis for a decision.?

What parts have gone obsolete, and why ?

There are things you can do, to mitigate obsolescence - like chosing multi sourced parts, and designing your code and PCBs, so that a Physical part swap, is not a high-impact step.

-jg

Reply to
-jg

news:alt.comp.lang.learn.c-c++http://www.club.cc.cmu.edu/~ajo/docs/FAQ-acllc.html

Hi Antti,

Do you mean Cortex-M1? (Cortex-M3 do not have TCM interface :-) )

Hi Jack, Currently you can access Cortex-M1 with :

1) Actel

- Design using Libero and SoftConcole

- Library of AMBA components available

- Royality free

- Allow easy reuse of IP blocks with AMBA interface Note: The early version of SoftConcole does not support TCM, please check with distributor to see if this has been improved.

2) Altera Cortex-M1 Altera kit (contact Arrow Electronics)

- Design using SOPC builder

- Library of peripheral components available

- Free royal for 1000 units (according to

formatting link
Note: Use Avalon interface with SOPC builder rather than AMBA

3) Synplicity used to have a program called ReadyIP. Not sure if they are still doing it.

4) License it directly from ARM

- access to RTL so you can retarget to any FPGA

- include scripts for major FPGA tools and FPGA devices

- Use AMBA interface, and TCM support

- peripheral IP not included (you can possible find those in your FPGA development tools, on the Internet, books, or develop them on your own).

Hope this helps. regards, Joseph

Reply to
Joseph Yiu

s
e

-acllc.html

cortex-m1...)

sorry, my mistake of course M1 :) I have synthesized M3 for Xilinx too, but it far more larger and too complicated (too much resources)

M1 however is real nice thing, real small too, in terms of FPGA resources

Antti

Reply to
Antti

[Warning: my company sells tools.]

Our latest RapidiTTy FPGA tools target both Xilinx and Altera FPGAs (others in the pipeline). You can migrate between targets with a couple of mouse clicks.

The tools have a fully-integrated soft core with a cost-effective licencing model.

Michael Pont

formatting link

Reply to
Michael

Brand X's EDK toolchain and philosophy are built on the presumption that the user wants to build a Linux system in the FPGA, and it will all run on one of the eval kits. "It will run" doesn't mean that "it will have excellent performance" or "be cost-effective for a production system."

Unless you are greatly constrained by board space, an external microprocessor or microcontroller will almost always be a better choice, for both cost and performance reasons.

-a

Reply to
Andy Peters

What is the reason that Your opinion about Xilinx is so negative?

Thanks in advance, Rene

Reply to
Rene

r.

ise 10.1 project file issues mainly, but not only i had another one also just a few minutes ago, power failure, then ise file corrupted this time recovery did take only 2 hours

im not that negative, but X could hire some real programmer, or at least some real testers to checkout their releases Antti

Reply to
Antti

ISE vX.Y. It is complete and utter rubbish. Absolute garbage. Crap. Piece of sh*t. (You get the point?!?)

Others claim that Xilinx is OK if you steer clear of ISE (the GUI) and use command-line tools. I have no comment on that, except I have one project that synthesises a mux with up to 16 inputs. On Altera, I have no problem with 16 inputs. On Xilinx, the synthesis craps out after about 12. I'm not saying my design in this instance is particularly good - I inherited part of the design - but at least it works under Altera.

Regards,

--
Mark McDougall, Engineer
Virtual Logic Pty Ltd, 
21-25 King St, Rockdale, 2216
Ph: +612-9599-3255 Fax: +612-9599-3266
Reply to
Mark McDougall

Let me see... I get a vague inkling that You are not impressed with the qualitiy of the ISE pack, is that correct? ;-)

Hmmm, both Your and Antti's story don't sound very positive when it comes to ISE. It is really a PITA when software is very unreliable. I recently bought a Nexys2 board, I hope I am not going to regret it. Fortunately for now it is only for hobby purposes, am looking forward to start experimenting with it. Let's hope that in some time the imperfections in the ISE get ironed out.

Thanks for both of Your opinions.

Take care, Rene

Reply to
Rene

ce

use

t

em

not

rt

one big issue is "user-stress" it makes the tools to fail more badly/ often

I do use ISE/GUI/EDK and it all works, but as with everything problems to happen and they cost time and nerves then

Antti

Reply to
Antti

I expect that ARM instruction set has gotten uglier over time (like everyone else's), but it used to be fairly simple. Simple enough that you could emulate it in software on some other processor, with good performance. If you can emulate an ARM instruction in 10 native instructions, and your native processor is 10x as fast as an FPGA, go with emulation.

FPGAs are fun and all, but the don't buy much speed in a serial process like instruction execution for a simple processor.

Reply to
mac

fastest FPGA's go to 1.5GHz fabric speeds.

10x would mean a 15GHz processor :)

yes, with 15GHz processor ARM emulation makes sense...

Antti

Reply to
Antti

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.