Mapping DSP Algorithms Into Fpgas: Sean Gallagher, Senior DSP Specialist, Xilinx Inc. 215-990-4616
Mapping DSP Algorithms Into Fpgas: Sean Gallagher, Senior DSP Specialist, Xilinx Inc. 215-990-4616
Into FPGAs
Sean Gallagher,Senior DSP Specialist,
Xilinx Inc.
[email protected]
215-990-4616
Agenda
Page 2
History FPGAs for Algorithm Implementation
Page 3
My History With FPGAs
Page 4
Emerging Applications Drive Demand for
Next Generation FPGAs
Industry’s Highest
Lowest Power Industry’s Best
System Performance
and Cost Price-Performance
and Capacity
• Handheld portable • Wireless LTE infrastructure • 100GE line card
ultrasound • 10G PON OLT line card • 300G bridge
• Digital SLR lens • LED backlit and 3D video • Terabit switch fabric
control module displays • 100G OTN
• Software defined radio • Medical imaging • MUXPONDER
• Avionics imaging • RADAR
• ASIC emulation
• Test & Measurement
1 GHz
= 4 MSPS
256 clock cycles
500 MHz
= 500 MSPS
1 clock cycle
Page 6
Flexibility
× +
+
× + × +
× +
Speed Area
Page 8
FPGA + DSP Processor
C6416
Page 9
6 Series Xilinx FPGAs
•Now Shipping
Page 10
Introducing the 7 Series FPGAs
Page 11
Bridging the DSP Performance Gap with 7-Series
•DSP Performance
•4752 GMAC
•7-Series
•6-Series
•2000 GMAC
•Virtex-7
•770 GMAC
•Virtex-
•90 GMAC 6 •Kintex-7
•33 GMAC
•Spartan-6
•Time
•Multi-core DSP Architectures
•* Peak performance for symmetric filters
FPGA Resource
DSP48
B 18
25 x 18 48 P
A MULT
25
25
D 25
+/- C =
Virtex-6 Overview 13
DSP48E1 Slice
B
25x18 48-Bit Accum
DSP48 Tile +
Pre-Add X P
A -
•Interconnect
DSP48E1
Slice +/-
DSP48E1 D =
Slice
Pattern
C Detector
•Filter symmetry
exploited to pre-add
tap delay values and
reduce multiplies by
•Coefficients cn 50%
Greater Flexibility with Fully Independent Multipliers
• DSP48 Tile
•Interconnect
DSP48E1
Slice
DSP48E1
Slice
Category IP Blocks
Interpolate by 2
21
Interesting Algorithms For FPGA
Implementation
22
Passband Polyphase Filters
S( f ) •channels
f
fc fc fc fc fc
§ In a FDM digital communication system a common
requirement is, for each channel:
– translate the channel to baseband
– shape the channel spectrum
– reduce the sample rate to match the channel bandwidth
§ This is the function of a channelizer
§ When the channel spacing’s are equal a
computationally efficient structure for performing the
above functions is the carrier centered polyphase
transform
Channelization 23
Baseband Polyphase Filter
h0 ( n)
h1 (n )
x ( n)
h2 (n ) y ( Mn)
hM −1 (n )
h0 (n) = h0 hM L hN − M
h1 (n) = h1 hM +1 L hN − M +1
M M M L M
hM −1 (n) = hM −1 h2 M −1 L hN −1
Channelization 24
Passband Polyphase Filters
Express the filter coefficient set in terms of a course and vernier index
r1 and r2 respectively
N
h(n) = h(r1 + Mr2 ) r1 =0,K , M − 1, r2 =0,K , −1
M
•Invoke the modulation theorem to convert a prototype baseband filter
to its equivalent carrier centered, or spectrally shifted version
if h(n) ⇔ H (θ )
then h(n)e jθ 0n ⇔ H (θ − θ 0 )
Channelization 25
Passband Polyphase Filters
| H (θ ) | | G (θ ) |
θ
−π θ0 π
Now perform a polyphase partition on the modulated coefficients
g r1 ( r2 ) = h( r1 + Mr2 )e jθ0 ( r1 + Mr2 )
= h(r1 + Mr2 )e jθ 0 r1 e jθ0 Mr2
2π
θ0 = k
M
2π
jk Mr2
jθ 0 r1
g r1 ( r2 ) = h( r1 + Mr2 )e e M
2π
jk r1
= h( r1 + Mr2 )e M
Channelization 27
Passband Polyphase Filters
h0 (n)
h1 (n)
y (Mn, 0)
hM −2 (n)
hM −1 (n)
x ( n)
e j1θ k
h0 (n)
e j1θk
h1 (n)
•Recovering 2 channels from y (Mn, k )
FDM spectra
•The two sets of filters e j ( M −2)θk
employ identical coefficients hM − 2 (n)
•Note: the two sets of filters e j ( M −1)θ k
hM −1 (n)
contain the same data
Channelization 28
Passband Polyphase Filters
y (Mn, 0)
h0 (n)
h1 (n)
x ( n)
e j1θ k
hM − 2 (n)
e j1θ k
hM −1 (n)
y (Mn, k )
•Only one filter is required
because the data is the same in e j ( M −2)θk
both filters on the previous slide
e j ( M −1)θk
•Baseband and carrier centered
polyphase filter, heterodyne and
downsample
Channelization 29
Polyphase Transform
h0 ( n) y ( Mn, 0)
x ( n) h1 (n ) y ( Mn,1)
•M-Point
•IDFT
hM −2 (n ) y( Mn, M − 2)
hM −1 ( n) y ( Mn, M − 1)
Channelization 30
•Passband Polyphase Filters
h0 (n)
h1 (n)
hM −2 (n)
hM −1 (n)
e j1θ k
h0 (n)
•Carrier centered polyphase
e j1θk
filters can also be used for
h1 (n)
constructing frequency
division multiplexed signals
e j ( M −2)θk
•Baseband and carrier
hM − 2 (n) centered polyphase filter,
e j ( M −1)θk heterodyne and upsample
hM −1 (n)
Channelization 31
•Passband Polyphase Filters
h0 (n)
h1 (n)
e j1θ k
hM −2 (n)
e j1θk
hM −1 (n)
M −1 L −1
X ( p, q ) = ∑ ∑
Decompose DFT ( Mp + q )( mL + l )
into two dimensions:
x ( l , m )W N
m=0 l =0
However:
WNNmp = 1, WNmqL = WNmq/ L = WMmq and WNMpl = WNpl/ M = WLpl
M −1
{
L −1
X ( p, q ) = ∑ WNlq ∑ x (l , m)WMmq }WLlp
l =0 m =0
Page 33
Divide and Conquer FFT
{
L −1 M −1
X ( p, q ) = ∑ WNlq ∑ x(l , m)WMmq }WLlp
l =0 m=0
Process Steps:
1. Store signal column-wise
2. Compute the M point DFT for each row
lq
3. Multiply the resulting array by the phase factors WN
4. Compute the L-point DFT of each column
5. Read the resulting array row wise
Page 34
Winograd FFT
Page 35