Sign in

Not a member? | Forgot your Password?

Search compdsp

Search tips

Find us on Facebook!





Free PDF Downloads

A Quadrature Signals Tutorial: Complex, But Not Complicated

Understanding the 'Phasing Method' of Single Sideband Demodulation

Complex Digital Signal Processing in Telecommunications

Introduction to Sound Processing

C++ Tutorial

Introduction of C Programming for DSP Applications

Fixed-Point Arithmetic: An Introduction

Cascaded Integrator-Comb (CIC) Filter Introduction

Discussion Groups

IIR Filter Design Software

Free Online Books

See Also

Embedded SystemsFPGA

Discussion Groups | Comp.DSP | [OT?] what's a FPGA?

There are 32 messages in this thread.

You are currently looking at messages 1 to .


Is this discussion worth a thumbs up?

0

[OT?] what's a FPGA? - Richard Owlett - 2006-03-22 18:22:00

OK already,it is a Field Programmable Gate Array.
I understand, but not grok, the definition.

Googling for   FPGA introduction    was not a satisfying experience.
searching Wikipedia.org was less so

If your life depended on giving a useful URL, what would it be?

Part of the inspiration for this question is recent thread discussing 
VHDL for FPGA to do FIR filter. Ain't that what DSP's are for?

Get the idea I know I'm missing something basic?

I've a "bright" idea but will not expose it to competent criticism until 
I understand just what is a FPGA and what it can/can't do and just how 
"programmable" it is.

PS in my day computers used 6J6's and/or 12AX7's and spoke to 026's ;/


Re: [OT?] what's a FPGA? - Jerry Avins - 2006-03-22 19:35:00

Richard Owlett wrote:
> OK already,it is a Field Programmable Gate Array.
> I understand, but not grok, the definition.
> 
> Googling for   FPGA introduction    was not a satisfying experience.
> searching Wikipedia.org was less so
> 
> If your life depended on giving a useful URL, what would it be?
> 
> Part of the inspiration for this question is recent thread discussing 
> VHDL for FPGA to do FIR filter. Ain't that what DSP's are for?
> 
> Get the idea I know I'm missing something basic?
> 
> I've a "bright" idea but will not expose it to competent criticism until 
> I understand just what is a FPGA and what it can/can't do and just how 
> "programmable" it is.
> 
> PS in my day computers used 6J6's and/or 12AX7's and spoke to 026's ;/

G/Fr/oogle for FPGA vendors and study their data sheets. (Hint: Xilinx)

Jerry
-- 
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯


Re: [OT?] what's a FPGA? - Tim Wescott - 2006-03-22 19:41:00

Richard Owlett wrote:

> OK already,it is a Field Programmable Gate Array.
> I understand, but not grok, the definition.
> 
> Googling for   FPGA introduction    was not a satisfying experience.
> searching Wikipedia.org was less so
> 
> If your life depended on giving a useful URL, what would it be?
> 
> Part of the inspiration for this question is recent thread discussing 
> VHDL for FPGA to do FIR filter. Ain't that what DSP's are for?
> 
> Get the idea I know I'm missing something basic?
> 
> I've a "bright" idea but will not expose it to competent criticism until 
> I understand just what is a FPGA and what it can/can't do and just how 
> "programmable" it is.
> 
> PS in my day computers used 6J6's and/or 12AX7's and spoke to 026's ;/
> 
> 
> 
> 
An FPGA is a collection of little configurable logic blocks, and a 
configurable connector matrix.  Once configured, it acts like a big 
custom logic chip.  You can use it to implement all sorts of glue logic, 
state machines, general-purpose processors, application-specific 
processors, etc.

If my life depended on giving a useful URL I would make peace with my 
maker.  I figured out how FPGA's work by studying FPGA data sheets, 
which you can download from FPGA vendors.

Yes, DSPs are very good at implementing FIR filters.  In the end, 
though, a DSP is limited in throughput by its memory interface and MAC 
architecture.  Today's FPGAs include multiplier blocks, you can make any 
width of memory interface you desire and/or multiple memory interfaces, 
and you can put in any logic that you want in between.  Ultimately, an 
FPGA will be less flexible than a DSP chip in implementing a digital 
signal processing application, but it will be faster (and probably 
consume less power).

I can think of three reasons that you'd want to implement a FIR filter 
in an FPGA:  One, you're going to dedicate the FPGA to the task, and 
it'll be faster than a DSP chip.  Two, you're doing a bunch of other 
things on the FPGA, you need one stinking little FIR filter to complete 
the thing, and you don't want to stick a DSP on the board just for that. 
  Three, an FPGA really isn't the right answer for you but you've either 
been swayed by an FPGA company's applications engineers, or you're just 
good at implementing stuff on FPGAs.

-- 

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

Posting from Google?  See http://cfaj.freeshell.org/google/


Re: [OT?] what's a FPGA? - Steve Underwood - 2006-03-22 21:59:00

Richard Owlett wrote:
> OK already,it is a Field Programmable Gate Array.
> I understand, but not grok, the definition.
> 
> Googling for   FPGA introduction    was not a satisfying experience.
> searching Wikipedia.org was less so
> 
> If your life depended on giving a useful URL, what would it be?
> 
> Part of the inspiration for this question is recent thread discussing 
> VHDL for FPGA to do FIR filter. Ain't that what DSP's are for?
> 
> Get the idea I know I'm missing something basic?
> 
> I've a "bright" idea but will not expose it to competent criticism until 
> I understand just what is a FPGA and what it can/can't do and just how 
> "programmable" it is.
> 
> PS in my day computers used 6J6's and/or 12AX7's and spoke to 026's ;/

FPGA - Field programmable gate array

Field: I've never actually programmed one in a field, unless you 
consider a place still a field after an office block has been built over 
it. (*)

Programmable: The user can programme the thing. It used to be they were 
mostly programmed through flash or EPROM type cells within the device. 
These days most are programmed by loading the required configuration 
into RAM cells within the device.

Gate: Very similar to using a 12AX7 for logic work, but smaller. Used to 
be cooler too, but these days silicon folk are working hard to catch up 
with the 12AX7. Typically FPGAs actually work in logic blocks, rather 
than individual gates. Hence, both the "F" and the "G" lack accuracy.

Array: A collection in a flat sheet. It can be a ginormous collection 
these days. It could be a completely homogeneous collection. It could 
have areas committed to specific types of logic, which can achieve 
better density when those areas match your requirements reasonably well.

The trick here is to work out the join the dots pattern to make the 
array of logic blocks do what you want. You then generate a pattern for 
the programming cells in the FPGA which will realise your join the dots 
pattern, and load it in. Typically these things can automatically boot 
load themselves from an external non-volatile memory, or a processor 
could pump the pattern in.

Regards,
Steve

* - A RAM based FPGA would typically be programmed in a field, or 
anywhere else for that matter, if you switch on the appliance containing 
it in such a location.


Re: [OT?] what's a FPGA? - robert bristow-johnson - 2006-03-22 22:34:00

in article 1...@corp.supernews.com, Richard Owlett at
r...@atlascomm.net wrote on 03/22/2006 18:22:

> OK already,it is a Field Programmable Gate Array.
> I understand, but not grok, the definition.
> 
> Googling for   FPGA introduction    was not a satisfying experience.
> searching Wikipedia.org was less so

wow.  usually WP is good for this sorta thing.  someone (knowledgeable)
needs to write/edit the articles on this.

> If your life depended on giving a useful URL, what would it be?
> 
> Part of the inspiration for this question is recent thread discussing
> VHDL for FPGA to do FIR filter. Ain't that what DSP's are for?

FPGAs are really big.  you can make a state machine out of them.  maybe for
cheaper than putting in a real uP that can do the same thing at the same
speed.  it doesn't surprise me that people make little dedicated DSPs out of
them (and they might have some chip area left over for other little chores).

> Get the idea I know I'm missing something basic?

FPGAs came around right when i was getting out of this hardcore hardware, so
this is from one ignorant to another.  i dealt with straight TTL and CMOS
logic, PALs, the AMD 2900 bit-slice stuff, and wiring good old
microprocessors to memory and periphs.  sorta ca. 1980 sorta stuff.  biggest
thing i ever wired up was a simple 68000 based thingie.

Richard, did you deal with PALs (sometimes called "PLA" instead)?  FPGAs are
sorta like really big PALs that you can program like it's a peripheral on a
computer bus.  VHDL is some kinda language for programming these things (at
least XILINX, if some other make of FPGA uses VHDL, i'm too ignorant about
it).

> I've a "bright" idea but will not expose it to competent criticism until
> I understand just what is a FPGA and what it can/can't do and just how
> "programmable" it is.

oh, take a chance!  i, at least, won't pick on you.

> PS in my day computers used 6J6's and/or 12AX7's and spoke to 026's ;/

other than the Heathkit HW-100 when i was a teenage ham radio guy, i hadn't
had much experience with tubes.  diddled with them a little for guitar amp
purposes and have an idea of the V-I curves and such, but building a real
computer with them sounds frightful.


-- 

r b-j                  r...@audioimagination.com

"Imagination is more important than knowledge."


Re: [OT?] what's a FPGA? - Allan Herriman - 2006-03-22 22:57:00

On Wed, 22 Mar 2006 17:22:44 -0600, Richard Owlett
<r...@atlascomm.net> wrote:

>OK already,it is a Field Programmable Gate Array.
>I understand, but not grok, the definition.
>
>Googling for   FPGA introduction    was not a satisfying experience.
>searching Wikipedia.org was less so
>
>If your life depended on giving a useful URL, what would it be?
>
>Part of the inspiration for this question is recent thread discussing 
>VHDL for FPGA to do FIR filter. Ain't that what DSP's are for?
>
>Get the idea I know I'm missing something basic?
>
>I've a "bright" idea but will not expose it to competent criticism until 
>I understand just what is a FPGA and what it can/can't do and just how 
>"programmable" it is.
>
>PS in my day computers used 6J6's and/or 12AX7's and spoke to 026's ;/


You're probably wondering why you would use something like an FPGA
when you have a DSP or general purpose microprocessor available to
you.

Here are some apps:

- Really fast stuff.
Clock rates on FPGAs are about an order of magnitude behind current
hi-end microprocessors.
The advantage of an FPGA is that there is the potential for massive
parallelism.   Your FPGA design with (hypothetically) 50 MACs running
in parallel at 200MHz is way faster than any general purpose
processor.
It's quite possible to clock small parts of an FPGA design at up to
about 1GHz, but you wouldn't want to do that for something large.

- You get to design your own memory interfaces.  Want two  independent
DDR SDRAM interfaces?  Well, just code them in.

- You can design all sorts of oddball peripherals, like 17 channels of
500MHz timers with capture inputs.

- When you want a high level of integration that can't be achieved
with an off-the-shelf part.
I'm seeing a lot of boards that are basically empty except for an FPGA
+ some I/O buffers.


When NOT to use an FPGA.
- When you think of yourself as a 'programmer' or 'software person'
rather than a 'hardware engineer'.

- When you want really low power consumption.

- When you want really low cost.

- When you don't need the special features of an FPGA.  If you can use
a microprocessor, do so.


Disclaimer: I use large FPGAs for high end stuff, and this colours my
opinions somewhat.  There are smaller FPGAs and CPLDs that are quite
cheap (< US$10 in huge volumes), but I don't use them.


Regards,
Allan


Re: [OT?] what's a FPGA? - Steve Underwood - 2006-03-23 01:03:00

Allan Herriman wrote:
> When NOT to use an FPGA.
> - When you think of yourself as a 'programmer' or 'software person'
> rather than a 'hardware engineer'.
> 
> - When you want really low power consumption.
> 
> - When you want really low cost.
> 
> - When you don't need the special features of an FPGA.  If you can use
> a microprocessor, do so.
> 
> 
> Disclaimer: I use large FPGAs for high end stuff, and this colours my
> opinions somewhat.  There are smaller FPGAs and CPLDs that are quite
> cheap (< US$10 in huge volumes), but I don't use them.

I'd say you missed the biggest factor saying when not to use an FPGA.

Algorithm complexity seems like the most critical factor in many 
designs. You can churn through a bunch of simple filter algorithms at 
enormous speed using an FPGA approach. Try something more complex, like 
a speech codec. Implement something that complex in an FPGA usually 
dragged you down to building a state machine. That ends up being little 
more than a programmble DSP you built from scratch and for which you 
need to develop your own assembler. An off the shelf programmable DSP 
usually beat an FPGA into the dust for complex algorithms.

The other big factor is turnaround time. You can take a C model and 
recompile it for a programmable DSP. You might only need to hand 
optimise a few small kernels to get respectable speed. Despite all the C 
based hardware design tools around today, you will generally get into 
some serious architectural design to do anything effective with an FPGA. 
  There are many ways a problem might map to a hardware implementation, 
and that is largely up to you.

Look at DSPs oriented towards specific applications, like comms or 
video. They usually add a few hardware accelerators for things which 
hardware does well, and software does poorly. Those accelerators are 
doing the kinds of thing an FPGA excels at.

Regards,
Steve


Re: [OT?] what's a FPGA? - Jon Harris - 2006-03-23 01:26:00

"robert bristow-johnson" <r...@audioimagination.com> wrote in message 
news:C0478174.12106%r...@audioimagination.com...
> in article 1...@corp.supernews.com, Richard Owlett at
> r...@atlascomm.net wrote on 03/22/2006 18:22:
>
>> OK already,it is a Field Programmable Gate Array.
>> I understand, but not grok, the definition.
>>
>> Googling for   FPGA introduction    was not a satisfying experience.
>> searching Wikipedia.org was less so
>
> wow.  usually WP is good for this sorta thing.  someone (knowledgeable)
> needs to write/edit the articles on this.

I briefly skimmed the WP article (http://en.wikipedia.org/wiki/FPGA) and it 
actually seemed quite good to me.  Of course, I've programmed FPGAs, so I'm 
reading it from the perspective of someone who already knows what one is!


Re: [OT?] what's a FPGA? - Richard Owlett - 2006-03-23 04:46:00

Jon Harris wrote:
> "robert bristow-johnson" <r...@audioimagination.com> wrote in message 
> news:C0478174.12106%r...@audioimagination.com...
> 
>>in article 1...@corp.supernews.com, Richard Owlett at
>>r...@atlascomm.net wrote on 03/22/2006 18:22:
>>
>>
>>>OK already,it is a Field Programmable Gate Array.
>>>I understand, but not grok, the definition.
>>>
>>>Googling for   FPGA introduction    was not a satisfying experience.
>>>searching Wikipedia.org was less so
>>
>>wow.  usually WP is good for this sorta thing.  someone (knowledgeable)
>>needs to write/edit the articles on this.
> 
> 
> I briefly skimmed the WP article (http://en.wikipedia.org/wiki/FPGA) and it 
> actually seemed quite good to me.  Of course, I've programmed FPGAs, so I'm 
> reading it from the perspective of someone who already knows what one is! 
> 
> 

Well, that was the article I found ;)
It was focused too much on the fine detail than on the "why use one?".

What turned out to be useful to me was the broad strokes several replies 
used which helped define what were the questions I really wanted to ask.

Now with those questions framed, the Wikipedia article is much more 
useful. And the hyper links address my request for "useful URL's".

Thank you all.
Now for a long session of reading.


Re: [OT?] what's a FPGA? - Ron N. - 2006-03-23 05:10:00

Richard Owlett wrote:
> OK already,it is a Field Programmable Gate Array.
> I understand, but not grok, the definition.
>
> Googling for   FPGA introduction    was not a satisfying experience.
> searching Wikipedia.org was less so
>
> If your life depended on giving a useful URL, what would it be?
>
> Part of the inspiration for this question is recent thread discussing
> VHDL for FPGA to do FIR filter. Ain't that what DSP's are for?
>
> Get the idea I know I'm missing something basic?
>
> I've a "bright" idea but will not expose it to competent criticism until
> I understand just what is a FPGA and what it can/can't do and just how
> "programmable" it is.
>
> PS in my day computers used 6J6's and/or 12AX7's and spoke to 026's ;/

The first electronic DSP was a field programmable heap of arithmetic
and logic.  To program the Eniac, the women spent hours/days hooking
various elements together with patch cables.  Then, after Von Neuman
published some of the ideas of the Moore school team, processors
came pre-wired, you got the functional units hooked together the
way the CPU architected wanted, even if a mismatch for your algorithm.
Need a 17.5-bit adder?  Tough.  Use the 16 or 32-bit one and live
with it.  FPGA's go back to letting the user hook together the
elements (small lookup tables, MACs and flops) the way the user
wants.  "Field" is anything outside of the semi FAB line.  There
are limitations.  From any gate, you hope to find an unused wire
nearby going in the direction you want.  FPGA's are incredably
wasteful because over 90+% of the chip is taken up with switches to
connect up a mass of mostly useless wires, only some of which are
going in a direction your design needs, and with left over switches
and gates you can't use.  However this waste looks very attractive
after you see the bill for custom tooling an ASIC in the range of
a large fraction of million dollars minimum, not even including
design, plus a 3 month wait to see if you got it right or have to
wait another 3 months.

FPGA's and DSP's are pretty much Turing complete (when hooked to a
standard off-the-shelf infinite size memory chip).  You can implement
a DSP CPU inside an FPGA or simulate an FPGA in a DSP processor
with enough memory.  If your algorithm fits within the DSP functional
units connected the way the chip architect put it together, then a
DSP is fine.  If you need one more MAC or one more bit in an adder...
with some big FPGA's you can program your own 73-bit adders hooked
to 47 parallel MACs for a 1-cycle FIR filter if you need.  With a DSP
you write a bigger program, and it goes slower... and slower...


IMHO. YMMV.
-- 
rhn A.T nicholson d.0.t C-o-M


| 1 | | 3 | 4 |