Combined Microprocessor and FPGA

O

Oliver Mattos

Guest
Hi,

I normally use a microcontrollers for my projects - I have used PIC's
and AVR's - I mainly use them for the quick and easy programming etc.
(Arduinos are great!)

I've come across a case where a microprocessor can't meet my
performance requirements though, but parts of my problem is very
parallel, so an FPGA would be good. The entire thing is too complex
to do all in VHDL or something - I prefer C/C++ for the complex stuff.

The exact use case is doing some linear arithmetic, using that to
calculate a pointer, and outputting the data at that memory location
serially to an IO device. Throughput needs to be around 3Mbits/sec,
where each bit will require the above operations, but no bit depends
on any other.

Does any company sell a microprocessor what has a few thousand logic
elements of FPGA "on the side", which can interface fast with the
microprocessor, for example through shared memory. Ideally this would
be cheap (ie. tens of dollars rather than hundreds of dollars), and
easy to use (I don't want to have to be defining my own DMA controller
or something...)

I know one can implement a CPU on an FPGA, but all the CPU's I can
find seem to be small and slow, and they somehow don't seem to be the
same "point and click" ease of programming an Arduino - they also
require development kits costing thousands of dollars. Also I need it
to be self contained - ie. a chip and maybe a crystal clock. I don't
really want to have to give it 3 regulated power supplies, 2 clocks,
and an external program flash memory and controller.

Ideas welcome!

Thanks
Oliver
 
On Oct 17, 3:31 pm, Oliver Mattos <omat...@gmail.com> wrote:
Hi,

I normally use a microcontrollers for my projects - I have used PIC's
and AVR's - I mainly use them for the quick and easy programming etc.
(Arduinos are great!)

I've come across a case where a microprocessor can't meet my
performance requirements though, but parts of my problem is very
parallel, so an FPGA would be good.  The entire thing is too complex
to do all in VHDL or something - I prefer C/C++ for the complex stuff.

The exact use case is doing some linear arithmetic, using that to
calculate a pointer, and outputting the data at that memory location
serially to an IO device.  Throughput needs to be around 3Mbits/sec,
where each bit will require the above operations, but no bit depends
on any other.

Does any company sell a microprocessor what has a few thousand logic
elements of FPGA "on the side", which can interface fast with the
microprocessor, for example through shared memory.  Ideally this would
be cheap (ie. tens of dollars rather than hundreds of dollars), and
easy to use (I don't want to have to be defining my own DMA controller
or something...)

I know one can implement a CPU on an FPGA, but all the CPU's I can
find seem to be small and slow, and they somehow don't seem to be the
same "point and click" ease of programming an Arduino - they also
require development kits costing thousands of dollars.  Also I need it
to be self contained - ie. a chip and maybe a crystal clock.  I don't
really want to have to give it 3 regulated power supplies, 2 clocks,
and an external program flash memory and controller.

Ideas welcome!

Thanks
Oliver
Check out the Lattice XP and XP2 parts and their 32 or 8 bit micros.
I don't know what "fast" means in engineering terms, so I can't say
which will work for you, but I'm sure one will. I'm pretty sure both
of these processors are "free" since they are supposed to be open
source.

Rick
 
"Oliver Mattos" <omattos@gmail.com> wrote in message
news:11e5aa7b-def8-44a5-81b3-ab627929f61c@a36g2000yqc.googlegroups.com...
"fast" probably isn't an issue, provided I can...

By "fast" I mean memory mapped IO or DMA or something rather than an
SPI link between an FPGA and a microcontroller...
Any FPGA will have a fast set of I/O which will interface with virtually any
micro. It just depends on the address and data widths you need, plus
control signals.
 
These look interesting. I've always built programmers from scratch
for microcontrollers, - is that sort of thing possible with these, or
would purchasing just one Lattice XP chip be no use without full
development kit(s)?

How steep is the learning curve? For example, If I wanted to write a
"flashing LED" program in C, and want to get it running on that FPGA
in a soft-CPU, how long would it take to figure out and get working?
As far as i know you dont need to use Lattice's free soft processor on
Lattice FPGA. You could buy a FPGA kit from Digilent and use lattic
processor on it. You could also buy a kit from e-bay. I am sure you ca
find everythink you need for under 100 dollars incluiding some sort o
download cable.

But the how fast question was aimed on the processor. How much processin
power you need?

And learning FPGA is not difficult as long you have some basic logic desig
background. You just need to learn some HDL language. As you like C i woul
recomend you Verilog. Before trying to use the soft processor i woul
recomend you spend a week just with the FPGA. Make yourself some simpl
design. After that go for the processor. As far as i remember to use th
Lattice processor you are going to use the Eclipse. But i dont think i
much more complicated than any other processor. If you are a good
programmer you can program any processor in one day.

Cya

---------------------------------------
Posted through http://www.FPGARelated.com
 
I don't know what "fast" means in engineering terms, so I can't say
"fast" probably isn't an issue, provided I can offload the hard work
to fpga logic, which it looks like this will let me do.

Check out the Lattice XP and XP2 parts and their 32 or 8 bit micros.
These look interesting. I've always built programmers from scratch
for microcontrollers, - is that sort of thing possible with these, or
would purchasing just one Lattice XP chip be no use without full
development kit(s)?

How steep is the learning curve? For example, If I wanted to write a
"flashing LED" program in C, and want to get it running on that FPGA
in a soft-CPU, how long would it take to figure out and get working?
 
"fast" probably isn't an issue, provided I can...
By "fast" I mean memory mapped IO or DMA or something rather than an
SPI link between an FPGA and a microcontroller...
 
On Oct 17, 5:48 pm, Oliver Mattos <omat...@gmail.com> wrote:
I don't know what "fast" means in engineering terms, so I can't say

"fast" probably isn't an issue, provided I can offload the hard work
to fpga logic, which it looks like this will let me do.

Check out the Lattice XP and XP2 parts and their 32 or 8 bit micros.

These look interesting.  I've always built programmers from scratch
for microcontrollers, - is that sort of thing possible with these, or
would purchasing just one Lattice XP chip be no use without full
development kit(s)?

How steep is the learning curve?  For example, If I wanted to write a
"flashing LED" program in C, and want to get it running on that FPGA
in a soft-CPU, how long would it take to figure out and get working?
I gave advice to someone here once who was a programmer wanting to do
FPGA work in VHDL. He basically did everything different from the way
I would have done it and made it all work, so there is more than one
way to skin a cat. For example, I would write a flashing LED program
(as you are thinking). He wanted to write a "Hello World" program...
and did.

I can't say how hard it is to use the CPU core as I have not done that
yet. I do know that you don't have to recompile the FPGA code to
change the program in the CPU. You can update the bitstream with new
data in the on chip RAM blocks using a utility. If your program is
external, then you don't even need to do that. My LFXP3C device takes
around 15 to 20 seconds to reload via USB JTAG cable. I haven't seen
a development board that doesn't use JTAG to configure the FPGA. You
can either load directly to the RAM or your can burn it into the
Flash. Going to RAM might be noticeably faster, I haven't tried it.

As to the development kit, you can typically get free ones from the
FPGA companies, but without hardware tools. In the case of Lattice,
it may be without a simulator but that may not be true anymore. I
find a simulator essential, so I paid about $900 for the low end tool
with a simulator, no complaints. You can buy tools from others, but
they universally need the "back end" tools from the FPGA company, the
place and route tool and bit stream generator. Most companies don't
release full info on the internal tools so no one else can provide a
full tool set without these parts from the manufacturer.

BTW, in the vein of doing things differently from software folks, I
would do most designs fully in the FPGA without a CPU unless I had to
save space. A stored program CPU can save a lot of logic in an FPGA.
But software is a lot harder to debug in my opinion.

Rick
 
Oliver Mattos <omattos@gmail.com> writes:

Does any company sell a microprocessor what has a few thousand logic
elements of FPGA "on the side", which can interface fast with the
microprocessor, for example through shared memory. Ideally this would
be cheap (ie. tens of dollars rather than hundreds of dollars), and
easy to use (I don't want to have to be defining my own DMA controller
or something...)
Yes, Actel Smartfusion. It's a hard ARM Cortex M3 with hard basic
peripherals and some programmable logic around that. Also, single 3.3V
power supply. SW tools are free from Actel or you can buy from IAR or
Keil. Eval kit is $99.

I had a visit from Actel recently, SmartFusion seems very interesting,
but I've never designed anything with their FPGAs.

It's also interesting to note that Xilinx is going to do the same
thing in their 7 series, hard ARM with hard peripherals ready to go,
programmable logic around it.
 
Another option would be an XMOS device:

http://www.xmos.com

They can replace FPGAs in many applications, and are much easier to
use.
 
On 10/18/2010 04:13 AM, Anssi Saari wrote:
Oliver Mattos<omattos@gmail.com> writes:

Does any company sell a microprocessor what has a few thousand logic
elements of FPGA "on the side", which can interface fast with the
microprocessor, for example through shared memory. Ideally this would
be cheap (ie. tens of dollars rather than hundreds of dollars), and
easy to use (I don't want to have to be defining my own DMA controller
or something...)

Yes, Actel Smartfusion. It's a hard ARM Cortex M3 with hard basic
peripherals and some programmable logic around that. Also, single 3.3V
power supply. SW tools are free from Actel or you can buy from IAR or
Keil. Eval kit is $99.

I had a visit from Actel recently, SmartFusion seems very interesting,
but I've never designed anything with their FPGAs.

It's also interesting to note that Xilinx is going to do the same
thing in their 7 series, hard ARM with hard peripherals ready to go,
programmable logic around it.
I remember a point ten years or so ago when we considered the Atmel
FPSLIC (too small, too Atmel), the Altera Cyclone (too Altera), and the
Xilinx part with the embedded PowerPC (too PowerPC).

We ended up with a plain old Xilinx chip talking to the same little DSP
that we were putting in a bunch of other boards at the same time, with a
nice fast memory-mapped interface.

So, don't overlook a plain old FPGA (or CPLD even) attached to a plain
old processor with the high-speed interconnect of your choice.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
 
On Oct 18, 7:13 am, Anssi Saari <a...@sci.fi> wrote:
Oliver Mattos <omat...@gmail.com> writes:
Does any company sell a microprocessor what has a few thousand logic
elements of FPGA "on the side", which can interface fast with the
microprocessor, for example through shared memory.  Ideally this would
be cheap (ie. tens of dollars rather than hundreds of dollars), and
easy to use (I don't want to have to be defining my own DMA controller
or something...)

Yes, Actel Smartfusion. It's a hard ARM Cortex M3 with hard basic
peripherals and some programmable logic around that. Also, single 3.3V
power supply. SW tools are free from Actel or you can buy from IAR or
Keil. Eval kit is $99.

I had a visit from Actel recently, SmartFusion seems very interesting,
but I've never designed anything with their FPGAs.

It's also interesting to note that Xilinx is going to do the same
thing in their 7 series, hard ARM with hard peripherals ready to go,
programmable logic around it.
He is looking for something inexpensive and the SmartFusion devices
are not that. Although the OP has only said he doesn't want to pay
hundreds of dollars, which does leave the field pretty wide open.

As a CPU with FPGA, I see the SmartFusion as an interesting device.
But combined with the analog I see it as much more limited. The
analog converters are not all that fast and don't have much
resolution. The A<>D conversion world covers a very wide range speed/
resolution and a lot of apps won't be suitable to the limitations of
SmartFusion capabilities.

Rick
 
"Tim Wescott" <tim@seemywebsite.com> wrote in message
news:8cSdnWRZLOGECCHRnZ2dnUVZ_rWdnZ2d@web-ster.com...
On 10/18/2010 04:13 AM, Anssi Saari wrote:
Oliver Mattos<omattos@gmail.com> writes:

Does any company sell a microprocessor what has a few thousand logic
elements of FPGA "on the side", which can interface fast with the
microprocessor, for example through shared memory. Ideally this would
be cheap (ie. tens of dollars rather than hundreds of dollars), and
easy to use (I don't want to have to be defining my own DMA controller
or something...)

Yes, Actel Smartfusion. It's a hard ARM Cortex M3 with hard basic
peripherals and some programmable logic around that. Also, single 3.3V
power supply. SW tools are free from Actel or you can buy from IAR or
Keil. Eval kit is $99.

I had a visit from Actel recently, SmartFusion seems very interesting,
but I've never designed anything with their FPGAs.

It's also interesting to note that Xilinx is going to do the same
thing in their 7 series, hard ARM with hard peripherals ready to go,
programmable logic around it.

I remember a point ten years or so ago when we considered the Atmel FPSLIC
(too small, too Atmel), the Altera Cyclone (too Altera), and the Xilinx
part with the embedded PowerPC (too PowerPC).

We ended up with a plain old Xilinx chip talking to the same little DSP
that we were putting in a bunch of other boards at the same time, with a
nice fast memory-mapped interface.

So, don't overlook a plain old FPGA (or CPLD even) attached to a plain old
processor with the high-speed interconnect of your choice.
I agree. It can be cost effective, but the best part is that the FPGA code
syntheses and fitting is so much faster than a design incorporating a
MicroBlaze or equivalent. Sometimes the FPGA code can also be stored in the
CPU memory saving a FPGA Flash memory device.
 
Oliver Mattos <omattos@gmail.com> wrote:

"fast" probably isn't an issue, provided I can...

By "fast" I mean memory mapped IO or DMA or something rather than an
SPI link between an FPGA and a microcontroller...
Recent micros will do SPI at >50MHz and have a DMA controller to
transfer the data internally. If you want memory mapped I/O then you
are moving towards a system-on-chip.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
nico@nctdevpuntnl (punt=.)
--------------------------------------------------------------
 
Hi,

I normally use a microcontrollers for my projects - I have used PIC's
and AVR's - I mainly use them for the quick and easy programming etc.
(Arduinos are great!)

I've come across a case where a microprocessor can't meet my
performance requirements though, but parts of my problem is very
parallel, so an FPGA would be good. The entire thing is too complex
to do all in VHDL or something - I prefer C/C++ for the complex stuff.

The exact use case is doing some linear arithmetic, using that to
calculate a pointer, and outputting the data at that memory location
serially to an IO device. Throughput needs to be around 3Mbits/sec,
where each bit will require the above operations, but no bit depends
on any other.

Does any company sell a microprocessor what has a few thousand logic
elements of FPGA "on the side", which can interface fast with the
microprocessor, for example through shared memory. Ideally this would
be cheap (ie. tens of dollars rather than hundreds of dollars), and
easy to use (I don't want to have to be defining my own DMA controller
or something...)

I know one can implement a CPU on an FPGA, but all the CPU's I can
find seem to be small and slow, and they somehow don't seem to be the
same "point and click" ease of programming an Arduino - they also
require development kits costing thousands of dollars. Also I need it
to be self contained - ie. a chip and maybe a crystal clock. I don't
really want to have to give it 3 regulated power supplies, 2 clocks,
and an external program flash memory and controller.

Ideas welcome!

Thanks
Oliver
Hi Oliver,

SmartFusion would give you what you need, and probably more. The CPU is
100 MHz ARM Cortex-M3 with a full subsystem (DMA, eNVM, memory controller
SPI/I2C/UART, 10/100 Ethernet, etc.) The A2F200 version has 200,000 syste
gates (equivalent to 4,608 flip-flops). And a collection of analog block
(incl. ADCs, DACs and comparators). The Evaluation Kit (A2F-EVAL-KIT) has
list price of $99.

From a chip standpoint, I believe this should meet your criteria. The tool
are available for free on Actel's website.

Regarding the unit pricing posted by some online distributors, the volum
pricing is much lower. Our local representative can give you a quote fo
larger volumes, if you want.

I'd love to hear your feedback after you try it. This device is only
months old and we're constantly working on making it easier to design with
For this, we welcome user comments. We're very passionate abou
SmartFusion. And, I hope, like many people already have, you feel th
same.

Happy design!

Christian Plante
Director of Marketing
Low-Power and Mixed-Signal FPGAs
Actel Corp.





---------------------------------------
Posted through http://www.FPGARelated.com
 
On Oct 21, 8:18 pm, "cplante" <christian.plante@n_o_s_p_a_m.actel.com>
wrote:
Hi,

I normally use a microcontrollers for my projects - I have used PIC's
and AVR's - I mainly use them for the quick and easy programming etc.
(Arduinos are great!)

I've come across a case where a microprocessor can't meet my
performance requirements though, but parts of my problem is very
parallel, so an FPGA would be good.  The entire thing is too complex
to do all in VHDL or something - I prefer C/C++ for the complex stuff.

The exact use case is doing some linear arithmetic, using that to
calculate a pointer, and outputting the data at that memory location
serially to an IO device.  Throughput needs to be around 3Mbits/sec,
where each bit will require the above operations, but no bit depends
on any other.

Does any company sell a microprocessor what has a few thousand logic
elements of FPGA "on the side", which can interface fast with the
microprocessor, for example through shared memory.  Ideally this would
be cheap (ie. tens of dollars rather than hundreds of dollars), and
easy to use (I don't want to have to be defining my own DMA controller
or something...)

I know one can implement a CPU on an FPGA, but all the CPU's I can
find seem to be small and slow, and they somehow don't seem to be the
same "point and click" ease of programming an Arduino - they also
require development kits costing thousands of dollars.  Also I need it
to be self contained - ie. a chip and maybe a crystal clock.  I don't
really want to have to give it 3 regulated power supplies, 2 clocks,
and an external program flash memory and controller.

Ideas welcome!

Thanks
Oliver

Hi Oliver,

SmartFusion would give you what you need, and probably more. The CPU is a
100 MHz ARM Cortex-M3 with a full subsystem (DMA, eNVM, memory controller,
SPI/I2C/UART, 10/100 Ethernet, etc.) The A2F200 version has 200,000 system
gates (equivalent to 4,608 flip-flops). And a collection of analog blocks
(incl. ADCs, DACs and comparators). The Evaluation Kit (A2F-EVAL-KIT) has a
list price of $99.

From a chip standpoint, I believe this should meet your criteria. The tools
are available for free on Actel's website.

Regarding the unit pricing posted by some online distributors, the volume
pricing is much lower. Our local representative can give you a quote for
larger volumes, if you want.

I'd love to hear your feedback after you try it. This device is only 6
months old and we're constantly working on making it easier to design with.
For this, we welcome user comments. We're very passionate about
SmartFusion. And, I hope, like many people already have, you feel the
same.

Happy design!

Christian Plante
Director of Marketing
Low-Power and Mixed-Signal FPGAs
Actel Corp.
Yes, the SmartFusion device is interesting, but not practical for many
designs due to the cost, >$40. Is the high price because of the
inherent complexity of building the part or is the price point set
high because it is an early entry in the field and we can expect to
see this as a $10 part sometime in the next year or so? At $40 it is
more expensive than using separate components and so would only find
niche markets. At $10 I have no doubt it would sell like hotcakes...
at IHOP!

Rick
 
On Oct 21, 8:18=A0pm, "cplante" <christian.plante@n_o_s_p_a_m.actel.com
wrote:
Hi,

I normally use a microcontrollers for my projects - I have used PIC's
and AVR's - I mainly use them for the quick and easy programming etc.
(Arduinos are great!)

I've come across a case where a microprocessor can't meet my
performance requirements though, but parts of my problem is very
parallel, so an FPGA would be good. =A0The entire thing is too complex
to do all in VHDL or something - I prefer C/C++ for the complex stuff.

The exact use case is doing some linear arithmetic, using that to
calculate a pointer, and outputting the data at that memory location
serially to an IO device. =A0Throughput needs to be around 3Mbits/sec,
where each bit will require the above operations, but no bit depends
on any other.

Does any company sell a microprocessor what has a few thousand logic
elements of FPGA "on the side", which can interface fast with the
microprocessor, for example through shared memory. =A0Ideally thi
would
be cheap (ie. tens of dollars rather than hundreds of dollars), and
easy to use (I don't want to have to be defining my own DMA controller
or something...)

I know one can implement a CPU on an FPGA, but all the CPU's I can
find seem to be small and slow, and they somehow don't seem to be the
same "point and click" ease of programming an Arduino - they also
require development kits costing thousands of dollars. =A0Also I nee
it
to be self contained - ie. a chip and maybe a crystal clock. =A0
don't
really want to have to give it 3 regulated power supplies, 2 clocks,
and an external program flash memory and controller.

Ideas welcome!

Thanks
Oliver

Hi Oliver,

SmartFusion would give you what you need, and probably more. The CPU i
a
100 MHz ARM Cortex-M3 with a full subsystem (DMA, eNVM, memor
controller=
,
SPI/I2C/UART, 10/100 Ethernet, etc.) The A2F200 version has 200,00
syste=
m
gates (equivalent to 4,608 flip-flops). And a collection of analo
blocks
(incl. ADCs, DACs and comparators). The Evaluation Kit (A2F-EVAL-KIT
has=
a
list price of $99.

From a chip standpoint, I believe this should meet your criteria. Th
too=
ls
are available for free on Actel's website.

Regarding the unit pricing posted by some online distributors, th
volume
pricing is much lower. Our local representative can give you a quot
for
larger volumes, if you want.

I'd love to hear your feedback after you try it. This device is only 6
months old and we're constantly working on making it easier to desig
wit=
h.
For this, we welcome user comments. We're very passionate about
SmartFusion. And, I hope, like many people already have, you feel the
same.

Happy design!

Christian Plante
Director of Marketing
Low-Power and Mixed-Signal FPGAs
Actel Corp.

Yes, the SmartFusion device is interesting, but not practical for many
designs due to the cost, >$40. Is the high price because of the
inherent complexity of building the part or is the price point set
high because it is an early entry in the field and we can expect to
see this as a $10 part sometime in the next year or so? At $40 it is
more expensive than using separate components and so would only find
niche markets. At $10 I have no doubt it would sell like hotcakes...
at IHOP!

Rick
Hi Rick,

I don't disagree with that. There's another device in the hopper: A2F06
(60,000 gates). Information about it is already on our website. It's no
sampling yet and we haven't set the final pricing either. But you can gues
it's going to be much lower than the A2F200 and probably more in line wit
your expectations.

It's still very early in the product's life. Thus, the current pricin
found on online distributor sites. Thus, it's fair to say that pricing wil
be much lower next year.

In the same vein, I would expect that the acquisition of Actel by Microsem
will also bring economies of scale that should impact SmartFusion's cost
structure in the long term.

In short, we're not ready for IHOP yet, but we're working on it. :)

Christian

---------------------------------------
Posted through http://www.FPGARelated.com
 
On Oct 18, 11:44 am, Tim Wescott <t...@seemywebsite.com> wrote:
On 10/18/2010 04:13 AM, Anssi Saari wrote:



Oliver Mattos<omat...@gmail.com>  writes:

Does any company sell a microprocessor what has a few thousand logic
elements of FPGA "on the side", which can interface fast with the
microprocessor, for example through shared memory.  Ideally this would
be cheap (ie. tens of dollars rather than hundreds of dollars), and
easy to use (I don't want to have to be defining my own DMA controller
or something...)

Yes, Actel Smartfusion. It's a hard ARM Cortex M3 with hard basic
peripherals and some programmable logic around that. Also, single 3.3V
power supply. SW tools are free from Actel or you can buy from IAR or
Keil. Eval kit is $99.

I had a visit from Actel recently, SmartFusion seems very interesting,
but I've never designed anything with their FPGAs.

It's also interesting to note that Xilinx is going to do the same
thing in their 7 series, hard ARM with hard peripherals ready to go,
programmable logic around it.

I remember a point ten years or so ago when we considered the Atmel
FPSLIC (too small, too Atmel), the Altera Cyclone (too Altera), and the
Xilinx part with the embedded PowerPC (too PowerPC).

We ended up with a plain old Xilinx chip talking to the same little DSP
that we were putting in a bunch of other boards at the same time, with a
nice fast memory-mapped interface.

So, don't overlook a plain old FPGA (or CPLD even) attached to a plain
old processor with the high-speed interconnect of your choice.
Agree 100%

I've designed a little dsPIC + Spartan 3A board that loads the FPGA up
from a micro SD card:

http://members.cox.net/ebrombaugh1/synth/dsPIC_fpga/index.html

Uses a relatively fast SPI port for configuration and control, but has
an option for a parallel interface as well. Micro SD is DOS FAT
formatted so the bitstream is saved on it as a normal file which the
dsPIC finds & loads at powerup.

Eric
 
On Oct 17, 2:31 pm, Oliver Mattos <omat...@gmail.com> wrote:
Hi,

I normally use a microcontrollers for my projects - I have used PIC's
and AVR's - I mainly use them for the quick and easy programming etc.
(Arduinos are great!)

I've come across a case where a microprocessor can't meet my
performance requirements though, but parts of my problem is very
parallel, so an FPGA would be good.  The entire thing is too complex
to do all in VHDL or something - I prefer C/C++ for the complex stuff.
Oliver, take a look at mbed, which is an ARM Cortex-M3 based
microcontroller, 32 bit instruction set, running at 100 MHz. It may
have the performance you want without needing any additional
hardware. They're $60 in stock at Mouser. mbed is aimed at easing
the task of building a prototype. To do this the development
environment (C/C++) is hosted online so you don't have to install any
tools, dongles, or ICE hardware. You just need a computer and a USB
cable to the mbed. After you compile online save the resulting .bin
file to your mbed (which appears as a flash drive) and the new
firmware is installed and ready to go.

Also, the microcontroller peripherals have been abstracted into C++
classes so you don't have to refer to the device datasheet for
register definitions. Just instantiate an AnalogIn (for example) and
use it.

over at www.mbed.org you can read more and look at the shared
libraries and programs people have created.

--steve
 
On Oct 22, 2:13 pm, "cplante"
<christian.plante@n_o_s_p_a_m.n_o_s_p_a_m.actel.com> wrote:
On Oct 21, 8:18=A0pm, "cplante" <christian.plante@n_o_s_p_a_m.actel.com
wrote:
Hi,

I normally use a microcontrollers for my projects - I have used PIC's
and AVR's - I mainly use them for the quick and easy programming etc.
(Arduinos are great!)

I've come across a case where a microprocessor can't meet my
performance requirements though, but parts of my problem is very
parallel, so an FPGA would be good. =A0The entire thing is too complex
to do all in VHDL or something - I prefer C/C++ for the complex stuff..

The exact use case is doing some linear arithmetic, using that to
calculate a pointer, and outputting the data at that memory location
serially to an IO device. =A0Throughput needs to be around 3Mbits/sec,
where each bit will require the above operations, but no bit depends
on any other.

Does any company sell a microprocessor what has a few thousand logic
elements of FPGA "on the side", which can interface fast with the
microprocessor, for example through shared memory. =A0Ideally this
would
be cheap (ie. tens of dollars rather than hundreds of dollars), and
easy to use (I don't want to have to be defining my own DMA controller
or something...)

I know one can implement a CPU on an FPGA, but all the CPU's I can
find seem to be small and slow, and they somehow don't seem to be the
same "point and click" ease of programming an Arduino - they also
require development kits costing thousands of dollars. =A0Also I need
it
to be self contained - ie. a chip and maybe a crystal clock. =A0I
don't
really want to have to give it 3 regulated power supplies, 2 clocks,
and an external program flash memory and controller.

Ideas welcome!

Thanks
Oliver

Hi Oliver,

SmartFusion would give you what you need, and probably more. The CPU is
a
100 MHz ARM Cortex-M3 with a full subsystem (DMA, eNVM, memory
controller> >,
SPI/I2C/UART, 10/100 Ethernet, etc.) The A2F200 version has 200,000
syste> >m
gates (equivalent to 4,608 flip-flops). And a collection of analog
blocks
(incl. ADCs, DACs and comparators). The Evaluation Kit (A2F-EVAL-KIT)
has> > a
list price of $99.

From a chip standpoint, I believe this should meet your criteria. The
too> >ls
are available for free on Actel's website.

Regarding the unit pricing posted by some online distributors, the
volume
pricing is much lower. Our local representative can give you a quote
for
larger volumes, if you want.

I'd love to hear your feedback after you try it. This device is only 6
months old and we're constantly working on making it easier to design
wit> >h.
For this, we welcome user comments. We're very passionate about
SmartFusion. And, I hope, like many people already have, you feel the
same.

Happy design!

Christian Plante
Director of Marketing
Low-Power and Mixed-Signal FPGAs
Actel Corp.

Yes, the SmartFusion device is interesting, but not practical for many
designs due to the cost, >$40.  Is the high price because of the
inherent complexity of building the part or is the price point set
high because it is an early entry in the field and we can expect to
see this as a $10 part sometime in the next year or so?  At $40 it is
more expensive than using separate components and so would only find
niche markets.  At $10 I have no doubt it would sell like hotcakes...
at IHOP!

Rick

Hi Rick,

I don't disagree with that. There's another device in the hopper: A2F060
(60,000 gates). Information about it is already on our website. It's not
sampling yet and we haven't set the final pricing either. But you can guess
it's going to be much lower than the A2F200 and probably more in line with
your expectations.
Do me a favor, when you talk of the size of FPGA fabric, don't use
"gates". That is a meaningless metric since there is no standard way
to evaluate a design in terms of gates. A much better metric which is
easy to measure is 4-input LUTs. They exist in your device, so rather
than estimating, you can just count them. I wouldn't say that about
Xilinx. They estimate "logic cells" rather than use LUTs. They seem
to be smart guys, but they clearly don't know how to count!!!

The A2F060 might be a good device for some, but I have two problems
with it. The analog does not measure up, I need 2 channels of ADC/
DAC, preferably 16 bit 96 kHz sample rate. With only 1500 LUTs it may
not be large enough for my designs. Oh yeah, one other nit is the
package. CS and BGAs are nice for some apps, but for low cost apps a
100 pin QFP is much better. It costs extra to drill the tiny vias you
need for these parts. No point in having a $10 part if it requires
you to spend $10 extra on the PWB.


It's still very early in the product's life. Thus, the current pricing
found on online distributor sites. Thus, it's fair to say that pricing will
be much lower next year.
That is good to hear.

In the same vein, I would expect that the acquisition of Actel by Microsemi
will also bring economies of scale that should impact SmartFusion's cost
structure in the long term.
That will be interesting to see.


In short, we're not ready for IHOP yet, but we're working on it. :)
Ok, but if you do go there, stay away from the spaghetti dinner
special!!!

Rick
 
On Oct 21, 5:18 pm, "cplante" <christian.plante@n_o_s_p_a_m.actel.com>
wrote:
Hi,

I normally use a microcontrollers for my projects - I have used PIC's
and AVR's - I mainly use them for the quick and easy programming etc.
(Arduinos are great!)

I've come across a case where a microprocessor can't meet my
performance requirements though, but parts of my problem is very
parallel, so an FPGA would be good.  The entire thing is too complex
to do all in VHDL or something - I prefer C/C++ for the complex stuff.

The exact use case is doing some linear arithmetic, using that to
calculate a pointer, and outputting the data at that memory location
serially to an IO device.  Throughput needs to be around 3Mbits/sec,
where each bit will require the above operations, but no bit depends
on any other.

Does any company sell a microprocessor what has a few thousand logic
elements of FPGA "on the side", which can interface fast with the
microprocessor, for example through shared memory.  Ideally this would
be cheap (ie. tens of dollars rather than hundreds of dollars), and
easy to use (I don't want to have to be defining my own DMA controller
or something...)

I know one can implement a CPU on an FPGA, but all the CPU's I can
find seem to be small and slow, and they somehow don't seem to be the
same "point and click" ease of programming an Arduino - they also
require development kits costing thousands of dollars.  Also I need it
to be self contained - ie. a chip and maybe a crystal clock.  I don't
really want to have to give it 3 regulated power supplies, 2 clocks,
and an external program flash memory and controller.

Ideas welcome!

Thanks
Oliver

Hi Oliver,

SmartFusion would give you what you need, and probably more. The CPU is a
100 MHz ARM Cortex-M3 with a full subsystem (DMA, eNVM, memory controller,
SPI/I2C/UART, 10/100 Ethernet, etc.) The A2F200 version has 200,000 system
gates (equivalent to 4,608 flip-flops). And a collection of analog blocks
(incl. ADCs, DACs and comparators). The Evaluation Kit (A2F-EVAL-KIT) has a
list price of $99.

From a chip standpoint, I believe this should meet your criteria. The tools
are available for free on Actel's website.
Christian,

Is there a tutorial that explains the design flow for the ProASIC3L
devices that can use the ARM Cortex-M1 core? I've got all of the tools
but I have no idea where to begin. My local FAE has not gotten back to
me with an answer to this question.

Ideally, the microprocessor core will coexist with some completely
independent datapath logic.

Thanks,
-a
 

Welcome to EDABoard.com

Sponsor

Back
Top