uv 9:;/ 17m8 99,
TRANSCRIPT
()
·(*
2014!"
27#"
6$
ElectronicSci&Tech/Jun15,2014
!!!
"#$%&#'()#
*+,
!"#$
:20131230Ustu
:vwüxyÙuFß��à³
(BK2012237)%&'(
:�Zz
(1984—),$
,�f�
。'(*+
:iº
\��
。Email:lidaxi716@126com
UV 9:;/ 17m8 99, <: 9de��
5�Ð
(��ä?Xde÷ þÄ7�'
,�� ��÷
222061)
4
5
O¦
FFTº¢FA
FPGAÁ¼Tâ9
IP�
。À@FA· }sUj{~^pº¢ÁÂ[|Ø^ºj
4k�
FFT9�ü�T
、T`ë}
、YmFxºTâ
。�@
Veriloḡ°��
,O@
ModelSimkl
,º
ISE~g^�Ñ
,J
Xilinx��9
Virtex-5xc5vfx70t»nNª
200MHz9§¥ÁÂqr
,^ºst.x�hi9^º½°¦¸�vê²c
。
678
{~��¤A�
;¼Tâ
;Âʼ�f��ù
9:;<=
TN91172 >?@AB
A >CD=
1007-7820(2014)06-046-05
ResearchonandImplementationofReconfigurableFFTIPCoreBasedonFPGA
LIDaxi(ComputerDivision,JiangsuAutomationResearchInstitution,Lianyungang222061,China)
Abstract AreconfigurableIPcoreimplementedonFPGAisdescribed.ThisFFTarchitectureisbasedonabutterflyprocesswhichemployspipelinearchitectureandfastparallelmultiplier.Animplementationof4kpointsbasedonthisIPwiththereconfigurablepoints,datawidthandradixisperformed.ThisIPisrealizedbyVerilogandsimulatedbyModelSim.ItissynthesizedbyISEanddownloadedtoVirtex5xc5vfx70tthatrunsat200MHzclock.Theexperimentalresultandperformancecomparisonshowthatithasbettercapabilityandspeedthanexitingreportedrealizations.
Keywords FFT;reconfiguration;FPGA
�{AÂc
、�G
、I,
、/(²x<MN´
,JK
,-²xbc*4~¤¥5Á
、5©64
FFTýþ
。
{£K²z�ó¶
(FPGA)|�?E�ü^`
a
,WjÁ=JK,-²xþ¬4wx¨!
。E
FPGAz{
FFT²xyWjf'bc2¾
、¦J`4dg
,
@½Wjºr½Ù$ï
、̂�$`4d[
。�F
FPGAz{4JK,-²xbcWj$54z½Bmøø
B
,hu«Ú±z{bcü^U¦u;<
[1]。�F
FPGA4f'z{
FFTI4jé?«¬
:(1)h¥«
¬
,/*EOÖùɲxyh¥ýþ
,u0$54Jà
*4�¤¥ýþ
,ª/f'ó¾$#
,¼�
FPGA�~
z{$#gJ4
FFT½$Zý·
。(2)U¥«¬
,*
E�Öùɲxyb^ýþ
,>E4z��5$Õ
,ª
ýþÁ6$ú
[2]。���U¥«¬4���z{��
?�
FPGA�z{4ÂÒ
FFTIPÄ
,Wj&øgJ
ÂÒ
(z{
0~4096gäèÂÒ
)、Jàõ|Â
Ò
、¢ñ�ÂÒ4AB
。
(
�K;�
�
2BÁþ¬s{Â�
,íðC�ïÉ&^Y
B4þ¬
。�
4FFTþ¬#-14�
2FFTþ¬YB
,
ª�x��±
,E$#4�Jߤ�áÔÕýþ?
J
,ª~²µ
(Óf'
)º�Y=>ZAk
[3]。95
FFT²xÁ64
4ÖA~kvûç|*E�g_¨!
、
h¥ýþ
、ÒLùɲx¾ÅJ[m5�J¨!
[4]。
(
(
U ) `aU��K
gJ
N|
24ªJ?ü
,,
x(n)ÅÌ
n4CF¢
^éÐ
x(2r)=x1(r)x(2r+1)=x2(r}),r=0,1,…,N2-1 (1)
Î,
DFTXZ
X(k)=DFT[x(n)]=∑N-1
n=0x(n)WknN =∑
N/2-1
r=0x(2r)W2rkN +
∑N/2-1
r=0x(2r+1)W(2r+1)kN =∑
N/2-1
r=0x1(r)W
2rkN +W
kN∑N/2-1
r=0x2(r)W
2rkN
(2)
(
)
U + `aU��K
U�
2þ¬b
,0F
Ngjìöµ¶
x(n)4
DFTÌͽN¢ñ<ºj
[5]
X(k)=∑N/4-1
n=0x(4n)W4nkN +∑
N/4-1
n=0x(4n+1)W(4n+1)kN +
∑N/4-1
n=0x(4n+2)W(4n+2)kN +∑
N/4-1
n=0x(4n+3)W(4n+3)kN (3)
0³
(3)¤¥º¸BÞ�È
64
5�Ð
:78
FPGA2ÑÒÓ
FFTIPÔmnde
()
·(*
!!!
"#$%&#'()#
*+,
X(k) = ∑N/4-1
n=0x1(n)W
nkN/4 +W
kN∑N/4-1
n=0x2(n)W
nkN/4 +
W2kN∑N/4-1
n=0x3(n)W
nkN/4+W
3kN∑N/4-1
n=0x4(n)W
nkN/4 (4)
)
7m8 99, <: 9:¾R;
{j4
FFTIPÄ�f'z{½ïWXh¥6
ÂÒu@
,Ï948FE
、8�g
、FE<ºU�g¨
Y<ɳÀ4:?AEz{
[6],_EB$«
,·Â¤
Dï@4 þýþ¸m0 þ�5m þ½Ù4Ð
^
[7-8]。ÂÒ
FFTIPÄkvz{
FFTþ¬�g
、F
E<h¥XµJ4ÂÒ��
,ýþ
FFTÝÞgJ
、
&ø&sJàõ|
、ùÉýþ�J
、&ø&s
FIFO/
64ÂÒ
,56ï@DE3'À
IP=E4Ð^
,¤
D�?EFmJàýþ¸4
FFTýþ
[9]。ÂÒ
FFTIP
ĦuÐ^o/
1÷0
。
z
1 FFTº¢
IP��¿Ö�
o/
1÷0
,̄ IPA~àn
RAM、ROM、±�q
r¾Ï
、wõ¾Ï
、¢£Jà+µ¾Ï
、ÂÒùÉý
þ¾Å
、©6Lª¾Ïm&sJà+µ¾Ï
,Din_Rm
Din_I|
FFT&øJà4z'mú'
,Dout_Rm
Dout_I|
FFTºÞ¨�4z'mú'
。RAM1m
RAM2e
¯�
FFT«AѲ´4&øJà
,RAM3m
RAM4e
¯�
FFT«AѲ´4 þ¨�
,RAM1m
RAM2、RAM3
m
RAM4¶Zÿ!¨!
。±�qr¾ÏA~q
r=
RAMÅøJàm�
RAM�sJà4±�
。
ROM´e¯�
FFTÐ~4÷Ý.T
。
)
(
<: 9±²<=
� ÂÒ
FFT²x
,/ª¡¨!o/
2÷0
,�
*E�
2ùÉm�
4ùÉýþé?ÂÒ«³
,4E
¢£
。&øJàz'mú'¢ºe¯
,Ð
4Ö
RAM,Zz{0�¬�&ø�¬�&s
,/¾Ï!
^o/
2÷0
。
z
2 FFTIP�U�z
74
()
·(*
5�Ð
:78
FPGA2ÑÒÓ
FFTIPÔmnde
!!!
"#$%&#'()#
*+,
o/
2÷0
,�'&øJà4zJ'¢
Din_R、ú
J'¢
Din_I,Ât&øJà4±�,-
ADR,}Ť
ø
RAM_ADDR¾Å
,¢£Y¤4½g:;,ï@g
J412Jà²ø
RAM¾Å
,¼&øJà4zJmú
JÂt/±�§Xk4½"
,RDY&s
1。BIT_SFT¾Åb^&øJà±�4wõºÞ
,z{CF¢P
。
¼Jà±�§Xk½
,RDY&s
1,¼
RAM_ADDRÓ
BIT_SFT�é־Ŵ4�־ŧXk½
,Ú#
r
RAM¾Å
,,�'JàÅøÈ
RAM4êE±�
。
RAM´4JàãYÂÒgJ~^×
,¤ø
NUM_IN¾Å
,/´&s4Jà
DOR/DOIM|ãY�
2ùÉÓ
�
4ùÉýþ4Jàáµ
。��12Jà¤øùÉý
þ¾Å
BUTTERFLY,ùɾÅIÑ
U_SELECT¾Å¢
£ùÉýþ4¢ñ�
,z{�
2ùÉýþ
、�
4ùÉý
þ4ÂÒ¦u
。/´
R4_FFT|�
4ùÉýþ¾Å
,
R2_FFT|�
2ùÉýþ¾Å
,ùÉýþѲ´÷Ð4
÷Ý.Te¯�
ROM_RAT¾Å´
,ßࢣï@¢
ñ�4ùÉýþ
,BUTTERFLY¾ÅqrÛD4±�
,
¢£/ þѲ´4÷Ý.T
。¼ùÉýþb^×
,
¨�Jà¤ø
U_CNORM¾Å
,¤¥áµLªm©6
²x
;/´
PR,-|E êE4©6,-
,PR[1∶0]94
3?©6
,OVF,-|Jà$s,-
,ÌÒ
1©
ª
FFT̈�JàVs�©0TU
,Î~ÌÍ;õ²x
ÂG§Jà§Z
。¼Jà&øb^×
,̈�Jà¤ø
NUM_OUT¾Å
,èF
DITþ¬&s¨�Âܵɳ
&s
,÷jÐ~
NUM_OUT¤¥±�Lª
,FFTºÞ¨
¡×4¨�zJ'¢
Dout_R,úJ'¢|
Dout_I,±
�,-|
R_ADDR,ÂÝZ4áµmɳ&s
。
)
)
7m8>Ï?Íb@
�
FFTIPÄ4ùÉýþ¾Å� ´
,ùɾÅ4
ýþѲ
:o�Ö½g:;|,À¨gU÷Ý.T=
Ì4zJ̬¤¥ þ
;oòÖ½g:;|,=Ì´
4zJ¤¥LÔýþ
;�o�Ö½g:;| þ=Ì
¨�U�¨g4LÔýþ
,),ùÉýþ¾Å4¨�
&s
。ÂÒùÉýþIÑ��
2m�
4é?¢ñ�
ØÙDÞ�z{
,/¾Ï/o/
3÷0
。
z
3 ¼Tâ|Ø^º�¼z
o/
3÷0
,Jà&ø½u,-
EN,-Ò
1,Î
ªÖùÉýþ¾Å4Jà&ø¾Ï
NUM_IN、÷Ý.
T¾Ï
ROM_RAT、¢ñ�¢£¾Ï
U_SELECT¤ø
>u°±
;START,-Ò
1,΢ñ�¢£¾Å
U_SELECT
¾Ïº2¤ø°±Ä
。ßàE �Ò
,o�¢£
�
2þ¬ùÉýþ¾Å
,Î,&øJà4z'mú'
²ø
R2_FFT¾Ï
;o�¢£�
4þ¬ùÉýþ¾Å
,
Î,&øJà4z'mú'²ø
R4_FFT¾Ï
;o�
¢£*Y�
,ÎÐ~�°±Ä´LøÈÉ3'
,§Z�
�¢�
。¼ùÉýþb^½
,FFTýþ¨�Jà4z
J'¢
Dout_R[nb+2∶0],úJ'¢
Dout_I[nb+2∶0]#&øJà4õJ
[nb∶0];<�
3õ
,EF©6Lª
¾Ï¤¥©6��
。
ùÉýþ4÷Ý.Te¯�
ROM_RAT´
,/´
e¯��
4ýþm�
2ýþ4÷Ý.T
,z'mú'
¢ºe¯
,I�',-
EN0/>u
,Z��
ROMe¯�Ù4�E
,ï@¢ñ�4÷Ý.TmE
,IÑ
±�,-
ADR¢���
。
*
23
、A÷Rp;�¥ÉB
,� 4
IPĤ¥�F
ModelSim4��
,�Ò
½gz�Z
200MHz,Jàõ|Z
36õ
,��
2m�
4é?¢ñ�À
,¢£
1024gm
4096g4ýþ��
,
/��/(oÀ÷0
。
84
5�Ð
:78
FPGA2ÑÒÓ
FFTIPÔmnde
()
·(*
!!!
"#$%&#'()#
*+,
z
4 200MHz1024�F
2FFT̂ºklst
z
5 200MHz1024�F
4FFT̂ºklst
/
4|
1024g4�
2þ¬��¨�
,��?þ¬
Àb^Jà%ø4½ÙgZ
1131μs,b^¨�&s
4½ÙgZ
1234μs,ýþ½ÙZ
103μs。/
5|
1024g4�
4þ¬��¨�
,�¯?þ¬Àb^Jà
%ø4½Ùg
513μs,b^¨�&s4½Ùg|
616μs,ýþ½ÙZ
83μs。
z
6 200MHz4096�F
2FFT̂ºklst
z
7 200MHz4096�F
4FFT̂ºklst
/
6|
4096g4�
2þ¬��¨�
,��?þ¬
Àb^Jà%ø4½Ùg
5331μs,b^¨�&s4
½Ùg|
5741μs,ýþ½ÙZ
40μs。/
7|
4096g4�
4þ¬��¨�
,�¯?þ¬Àb^Jà%ø
4½ÙgZ
2457μs,b^¨�&s4½Ùg|
2869μs,ýþ½ÙZ
412μs。_Y¦§¢E
Xilinxmn4
Virtex-5xc5vfx70ty'¤¥ÍY
、ÚAÚ_m½µ¢£
。,�È4Jà
U/(� z{¤¥#$
,/³J4�5
,Ât�
200MHz½gIJÀï@gJ4
FFT²xy¤¥�?
²xÐ~4½Ù
,U��
[10]Þþ×�È4Jl0#
o©
1÷0
。
¦
1 FFTC`DlnE
²xy
FFTgJ
Jà|6
/bit½gz�
/MHz²x½Ù
/μsÂÒ
z�Ï
��
[10]1024 32 290 1266
4096 32 290 575
��
1024 36 200
4096 36 200
103(�
2) 467
83(�
4) 596
40(�
2) 985
412(�
4) 1342
+
RST
��� 4ÂÒ
FFTIPÄWjÇÈB~
、é=
;<m� =E4Ag
,z{¢ñ�ÂÒ
、õ|
ÂÒ
、&ø&sgJÂÒ
。�¦§¨�Â^s
,�
�Jà4ÂÒ
IPÄWj¨!2¾t�Ef'�5
¤¼4Ag
,�
FPGA´Âz{5ÁJK,-²x
,�
²xÁ6mÇÈB«ÁYjd[
。tu²xgJ4Ò
L
,/dSB,YLªÃ
。
(���
53�
)
94
ÕÖ
:78
DSP2Ñ×ØÇÙÚÛÜ2mn
()
·(*
!!!
"#$%&#'()#
*+,
z
9 öÓd
z
10 x�8RzØ
è�/"
,*�ö«¬qr4_B¤z,-4
z�&s_B6k
、©65
、�É/E
、í�P®°Ö
×u@~
,®0¯¤z,-rry4ÆD«Ú
,ý¥$
Z/E
,568²DE~^
[7]。
+
RST
��9s��?�F
DSPäÎ_B¤z,-rr
y4z{«_
,àfqr�� 1x
,�ö�� Ѳ
´÷Ðb^4.��é
。�E
DSPBÁ4ýþÁ6
,
z½qr_B¤z,-
。bc¿-Z
TMS320F28124
DSP�SDZýþ²xt´É©D�S�qrJK
¸¤z,-
,h�E
D/AÝÞy
DAC8565¤¥J¾Ý
Þ
,W×*,-Lx&s¾"¤z,-
,̄�¿¤z,
-rry4r<\n!6
。
qr>?
[1] ��´
,̈78
.�&54r<°J
[J].?(jk�
9
,2008(5):38-42.[2]
5:�
,�y;
,Ü<
.�F
TMS320F28124
DSP-Pb
c�
[J].̀n`T´$$Ø
,2009,31(1):83-85.[3]
�´$
,=~
,4�>
,<
.TMS320X281xDSP1xt
C²
µºr
[M].pq
:pq����#$s}~
,2008.[4]
f.ª
.TMS320F281xDSP1xtDEzÃ
[M].pq
:p
q����#$s}~
,2007.[5]
�Ýl
.�F
DSP4JK,-rry�
[M].wq
:w
qx8#$
,2009.[6]
z-�
.�F
DDS4¤z,-rry4deUz{
[D].RS
:Rp8�#$
,2005.[7]
X??
,ñ@ª
,�Å^
,<
.�F
ARM+DSPÂ!4
�&5¤Î,-rry�
[J].w(`X
,2010,3(20):
檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪
141-144.
(N��
49�
)
qr>?
[1] z��
,A�
.WindowsEFÀ
FFTOÄh¥þ¬4�
z{
[J]. þÄkvUr<
,2010(9):74-77.[2]
v!B
.JK,-²x
[M].pq
:�%#$s}~
,2003.[3]
C�
,vDj
,E�
.�F
CUDA4òó̬m
FFTB
u#ñ
[J]. þÄ8²
,2009,35(10):7-10.[4]
zF
,�¿é
,?�ª
,<
.�?
FFTh¥²xÄ4� U
z{
[J].RS`Tjk#$$Ø
:äWj$}
,2010,37(4):630-635.
[5] �G~
,�Õ�
,H8I
,<
.�?�Fh¥ þ4BÁ
FFTIP�
[J]. þÄUJK8²
,2010,38(4):139-141.
[6] fbJ
,�K
,LM±
.�?5Áh¥
FFT²xy4
VLSI¨!�
[J].̀TkvDE
,2004(12):45-48.
[7] GHISSONIS,COSTAE,MONTEIROJ,etal.Combinationofconstantmatrixmultiplicationandgate-levelapproachesforareaandpowerefficienthybridradix-2dit/fftrealization[C].201118thIEEEInternationalConferenceonElectronics,CircuitsandSystems(ICECS),2011:567-570.
[8] MATEUSBF,EDUARDOA,CésardaCosta,etal.MartinsdesignofpowerefficientbutterfliesfromRadix-2DITFFTusingaddercompressorswithanewXORgatetopology[J].AnalogIntegratedCircuitsandSignalProcessing,2012,73(3):945-954.
[9] �¬
,�$
,�N
.Eg
FFT�
TS201�45�z{
[J].pqx8#$$Ø
,2010,30(1):88-91.[10]
f%
,��
,O_�
.�?ÏÄtz½
FFTþ¬¾Ï�
Uz{
[J].Rp8�#$$Ø
,2009,27(2):240-244.
35