-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
3/26 ·s®Ñ¨ì¡I 3/19 ·s®Ñ¨ì¡I 3/14 ·s®Ñ¨ì¡I 12/12 ·s®Ñ¨ì¡I
ÁʮѬyµ{¡EQ & A¡E¯¸°È¯d¨¥ª©¡E«ÈªA«H½c
¢x 3ds Max¢x Maya¢x Rhino¢x After Effects¢x SketchUp¢x ZBrush¢x Painter¢x Unity¢x
¢x PhotoShop¢x AutoCad¢x MasterCam¢x SolidWorks¢x Creo¢x UG¢x Revit¢x Nuke¢x
¢x C#¢x C¢x C++¢x Java¢x ¹CÀ¸µ{¦¡¢x Linux¢x ´O¤J¦¡¢x PLC¢x FPGA¢x Matlab¢x
¢x Àb«È¢x ¸ê®Æ®w¢x ·j¯Á¤ÞÀº¢x ¼v¹³³B²z¢x Fluent¢x VR+AR¢x ANSYS¢x ²`«×¾Ç²ß¢x
¢x ³æ´¹¤ù¢x AVR¢x OpenGL¢x Arduino¢x Raspberry Pi¢x ¹q¸ô³]­p¢x Cadence¢x Protel¢x
¢x Hadoop¢x Python¢x Stm32¢x Cortex¢x Labview¢x ¤â¾÷µ{¦¡¢x Android¢x iPhone¢x
¥i¬d®Ñ¦W,§@ªÌ,ISBN,3dwoo®Ñ¸¹
¸Ô²Ó®ÑÄy¤ÀÃþ

°ò¤_FPGAªº¼Æ¦r«H¸¹³B²z¡]²Ä2ª©¡^

( ²Åé ¦r)
§@ªÌ¡G°ª¨È­xÃþ§O¡G1. -> ¹q¤l¤uµ{ -> FPGA
ĶªÌ¡G
¥Xª©ªÀ¡G¹q¤l¤u·~¥Xª©ªÀ°ò¤_FPGAªº¼Æ¦r«H¸¹³B²z¡]²Ä2ª©¡^ 3dWoo®Ñ¸¹¡G 41984
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¯Ê®Ñ¡j
¡i¤£±µ¨ü­qÁÊ¡j

¥Xª©¤é¡G7/1/2015
­¶¼Æ¡G436
¥úºÐ¼Æ¡G0
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ²Åé ª© )
¡i¤£±µ¨ü­qÁÊ¡j
ISBN¡G9787121263583
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

±À ÂË §Ç
ÀHµÛFPGA¾¹¥ó³W¼Ò¤Î©Ê¯àªº¤£Â_´£¤É¡A¥¦¤w¸g¶V¨Ó¶V¼sªx¦aÀ³¥Î¤_¦UÃþ¦æ·~À³¥Î¤¤¡A¤×¨ä¬O¦b¤@¨Ç°ª©Ê¯à­pºâªºÀ³¥Î¤¤¡AFPGA§êºt¤F¤Q¤À­«­nªº§@¥Î¡C¤£¦P¤_³q¥ÎªºDSP³B²z¾¹µ²ºc¡AFPGA¤º³¡¶°¦¨¤FÂ×´IªºDSP¥\¯à³æ¤¸¥H¹ê²{°ª³t¦}¦æ¹Bºâ¡A¦Ó§@¬°¤@¦WFPGAªº³]­p¤H­û¡A¦p¦ó¥R¤À§Q¥Î³o¨ÇDSP¥\¯à³æ¤¸´N¦¨¬°¹ê²{³Ì²×©Ê¯àªºÃöÁä©Ò¦b¡C°ª¨È­x¥ý¥Íªº³o¥»®Ñ´N§¹¬ü¦a¸Ñ¨M¤F³o¤@°ÝÃD¡A¥L§Q¥Î¨ä­Ó¤H¦h¦~±q¨ÆFPGA³]­p¬ãµo¡B§Þ³N¤ä«ùªºÄ_¶Q¸gÅç¡A±N¤@¨Ç¬Ý¦ü´_Âøªº°ÝÃD²`¤J²L¥X¦aªí­z¥X¨Ó¡C¦b³o¥»®Ñ¤¤¡A§@ªÌ¤£¶È¤¶²Ð¤F¾¹¥ó©³¼hµw¥óµ²ºcªº¯SÂI¤Î³n¥ó¶}µo¤u¨ãªº¨Ï¥Î§Þ¥©¡A¤]ªá¤F¤j¶q½g´T¤¶²Ð¦p¦ó¦³®Ä¦a§Q¥ÎFPGA¨Ó¹ê²{±`¥Îªº¤@¨Ç¼Æ¦r«H¸¹³B²z¹Bºâ¥\¯à¡A¦P®É¡A¥»®Ñ¤¤©Ò´£¨Ñªº¤j¶q­S¨Ò¤Î¤@¨Ç¹ê¥Î§Þ¥©¬Û«H¤]·|µ¹ÅªªÌ±a¨Ó«Ü¦hª½±µªºÀ°§U¡C
¥»®Ñ«D±`¾A¥Î¤_FPGA¬ãµo¤uµ{®v¤Îµw¥óºâªk¤uµ{®v¡A¦P®É¹ï¨ä¥L¬ÛÃöªº¤uµ{§Þ³N¤H­û¤Î¬ã¨s¤H­û¤]·|¦³©ÒÀ°§U¡C


±i ¹ç
ÁÉÆF«ä¹q¤l¬ì§Þ¡]¤W®ü¡^¦³­­¤½¥q
¨È¤Ó°ÏÀ³¥Î©Ý®i¸g²z
§Ç
¦b·í«e¤j²³³Ð·~¡B¸U²³³Ð·sªº·s§Î¶Õ¤U¡A¨Ì¦«¤¬Ápºô©M¤j¼Æ¾Úªº¤u·~4.0®É¥N¤w¸g¨ì¨Ó¡C­n¹ê²{´¼¼z¤u¼tªº´¼¯à¤Æ¥Í²£¡A»Ý­n§Q¥Î¼s°ì¤À¥¬ªº±´´ú³]³Æ¡A³q¹L¼e±a²¾°Êªº¤¬Ápºôµ¸¡A°õ¦æ´¼¯à¿Ä¦XªºªA°È¾÷¨î¡A¶i¦æ±M®aª¾ÃѪº·|¶E§P¨M¡A¤~¥i¯à¨ã³Æ´¼¼zªº¯S©º¡C¦b¹ïÀò¨úªº«H®§¶i¦æ¼Æ¦r³B²z©M¼Æ¾Ú¿Ä¦X®É¡A¼Æ¦r«H¸¹³B²z¡]DSP¡^§Þ³N¬O¥²¤£¥i¯Êªº¤â¬q¡A¦Ó¥BÀHµÛ¦UºØÀ³¥Îªº§Ö³tµo®i¡A­n¨D³B²zªº³t²v©M¹F¨ìªº©Ê¯à¤£Â_´£°ª¡A³o»Ý­n³q¹Lµw¥ó©M³n¥ó¨â­Ó¤è­±¨Ó¹ê²{¡C
¥Ø«e¥b¾ÉÅé¤uÃÀ¤w¹F¨ì28nm¬Æ¦Ü§ó¤pªº¤Ø¤o¡AXilinx¤½¥q¦b±À¥X°ïÅ|ªº3D «Ê¸Ë¥þ¥i½sµ{FPGA ©M´O¤JÂù®ÖARM CortexA9ªº¥þ¥i½sµ{SOC¤§¦Z¡A¤S±À¥X¨ã¦³ASIC¯Å§OÀu¶ÕªºUltraSCALE FPGA ©MUltraSCALE MPSOCµ¥¾¹¥ó¡A³o¨Ç¾¹¥ó¤ºªºÅÞ¿è³æ¤¸¥i¹F¨ì4¸U­Ó¡ADSP¼Ò¶ôªº¼Æ¶q³Ì¦h¹F¨ì11904­Ó¡A³Ì°ªªº©Ê¯à¹F¨ì21213 GMAC¡A³o·¥¤j¦a´£°ª¤FDSPªº³B²z¯à¤O¡A©Ò¥HFPGA¬O¦W°Æ¨ä¹êªº¦}¦æ³B²z¤ÞÀº¡C¦Ó¥t¤@¤è­±¡AFPGA¤S¨ã³Æ²{³õ¥i½sµ{ªº¯S©Ê¡A¥i¥H¸`¬Ù²£«~§ë¸êªº¦¨¥»¡AÁYµu¤F²£«~ªº¤W¥«®É¶¡¡A¥[§Ö¤F¾AÀ³¤£¦P¥Î¤á»Ý¨Dªº¨B¥ï¡A¨Ï¤§¦¨¬°ASIC ªº¦³¤OÄvª§¹ï¤â¡C
¦b³]­p¤u¨ã¤è­±¡AXilinx¤½¥q¤]±À¥X¤F·s¤@¥Nªº¶}µo¤u¨ãVivado¡C¬°¤F¨ÏFPGA¦¨¬°¶}µo¼Æ¦r«H¸¹³B²z¨t²Îªº³]­p¥­»O¡A°w¹ï¥HDSPºâªk¬°¥Dªº³]­p¡A±À¥X°ª¼h¦¸ºî¦X¤u¨ãVivado HLS¥H¤ÎSystem Generator¡]SysGen¡^µ¥¤u¨ã¡C«eªÌ¥i¥H¹ê²{±qC»y¨¥´y­zªººâªk¨ìRTL¯Åºôªí¤å¥óªºÂà´«¡A¦ZªÌ¥i¥H³q¹L°ò¤_¼Ò«¬ªº³]­p¤èªk¥é¯u©MÀu¤Æ¨t²Î¼Ò«¬¦}¦Û°Ê¥Í¦¨RTLºôªí¤å¥ó¡AÀ³¥Î³o¨Ç¥Í¦¨ªººôªí¤å¥ó¥i¥Hª½±µ¶i¦æFPGAªºµw¥ó¹ê²{¡A¤£¶È¥[§Ö¤F³]­pªº¹Lµ{¡A¦Ó¥BÁÙ¯à«OÃÒ³]­pªº¥¿½T©Ê¡A¦P®É´î¤Ö³]­pªº­¡¥N¹Lµ{¡C
°ª¨È­x½s¼gªº¡m°ò¤_FPGAªº¼Æ¦r«H¸¹³B²z¡n¡]²Ä2ª©¡^¤@®Ñ¦b²Ä1ª©ªº°ò¦¤W¼W¥[¤F³\¦h¤º®e¡A¥R¹ê¤F§ó¦hªº³]­p­S¨Ò¡C¥þ®Ñ²­n¤¶²Ð¤F³Ì·sªºXilinx 7¨t¦CFPGA¬[ºc¡BVivado³Ì·s³]­p¤u¨ãªº¶}µo¬yµ{¥H¤Î·sªº¶°¦¨ÅÞ¿è¤ÀªR»ö¡]ILA¡^©MµêÀÀ¿é¤J/¿é¥X¡]VIO¡^½Õ¸Õ¤u¨ã¡A¤ÀªR¤F¼Æ¦r«H¸¹³B²z¨t²Îªº¬[ºc¡B©Ê¯à©M¼Æ¾Ú®æ¦¡µ¥¡C¦b¦¹°ò¦¤W²`¤J¤ÀªR¤F°ò¤_FPGA¹ê²{¦UºØ¼Æ¦r«H¸¹³B²zºâªkªº¤uµ{¹ê¨Ò¡A¥]¬A°ò¥»ªº¥[´î­¼°£¡B²Ö¥[¡B¶}¤è©MCORDICµ¥DSPºâªk¡A ¥H¤Î¸g¨åªºFIRÂoªi¾¹¡B¼Æ¦rÀW²v¦X¦¨¾¹¡B¦h¬ÛÂoªi¾¹¡BCICÂoªi¾¹©M°ò2/°ò4 FFTµ¥DSPºâªk¡A§@ªÌ¹ïºâªk§@¤F¸ÔºÉªº²z½×¤ÀªR¡Aµ¹¥X¬M®g¨ìFPGA ¬[ºcªº³]­p¤è®×¥H¤Î¹ïÀ³¨ìSysGenªº³]­p¼Ò«¬©ÎMatlabµ{§Ç¥N½X¡C¹ï¤_ŪªÌ¡AµL½×¬O§Q¥ÎMatlab©MSimulinkªº°ò¤_¼Ò«¬ªº³]­p¤èªkÀò±oºôªí¤å¥ó¡A©ÎªÌ§Q¥ÎIP®w¤¤ªºDSP®Ö¶i¦æ°Ñ¼Æ³]¸m¡A³o¨Ç¤º®e³£¬O¶i¦æDSP¨t²Î³]­p¸ÔºÉªº³]­p«ü¾É©M°Ñ¦Ò¡A¶i¤@¨B¥i¥H¤è«K¦a§¹¦¨FPGAªºµw¥ó¹ê²{¡CÄݤ_Xilinx ªºUltraFastªº³]­p·Ç«h©M½s½X­·®æ¦b³Ì¦Z¤@³¹¤]§@¤F¸ÔºÉªº¤ÀªR¡A¥]¬A±q¨t²Îªº¨¤«×¹ï¦P¨B©M²§¨B®ÉÄÁ«H¸¹¡B´_¦ì«H¸¹ªº³]­p¦Ò¼{¡A¥H¤Î±qµw¥ó¸ê·½ªº¨¤«×¨Ï½s½X­·®æ©Mºâªk¬M®g¯à°÷»PFPGA ªº¬[ºc¬Û¾AÀ³¡AŪªÌ¥i¥H¿í±q³o¨Ç«OÃÒ³]­p¦¨¥\ªºÃöÁä­n¨D¡A§Q¥Î¥»®Ñ¤¤´£¨Ñªº°ò¥»ºâªk©M¸g¨åºâªk¬°°Ñ¦Ò¡A³Ð·s¦aºc«Ø¹ê»ÚÀ³¥Î©Ò­n¨Dªº¦UÃþ¤£¦PDSP¨t²Î¡C
³n¥ó¡Bµw¥ó©MI/O§¡¥i½sµ{ªº¥þ¥i½sµ{FPGA¤w¸g¶V¨Ó¶V¼sªx¦a¦bDSP³]­p¤¤±o¨ìÀ³¥Î¡C¥»®Ñ¹ïŪªÌ§Q¥ÎFPGA¹ê²{¼Æ¦r«H¸¹³B²z¨t²Î¬O¤@¥»«Ü¦nªº³]­p«ü¾É©M°Ñ¦Ò®ÑÄy¡C

©s¾Ë¤¸
2015¦~4¤ë10¤é¤_²MµØ¶é

«e ¨¥
±q20¥@¬ö80¦~¥N²Ä¤@ÁûFPGA²£¥Í¨ì¥Ø«e¬°¤î¡AFPGA´N±q¥¼°±¤î¨ä§Ö³tµo®iªº¨B¥ï¡C¦Ó´N¦b­è­è¹L¥hªº¤T¦~¨½¡A¥b¾ÉÅé·~¬Éµo¥Í¤F¤T¦¸¨ã¦³¨½µ{¸O·N¸qªº¨Æ¥ó¡GXilinx¤½¥q±À¥X¤F²Ä¤@¥N3Dªä¤ù¡A¨Ï±oFPGA¤º³¡ÅÞ¿è³W¼Ò¹F¨ì¤F2M¡FXilinx¤½¥q±À¥X¤F´O¤JÂù®ÖARM Cortex-A9ªº¥þ·s¤@¥N¤ù¤W¥i½sµ{¡]SoC¡^FPGA¡A¶i¤@¨B´£¤É¤FFPGAªº¥\¯à©M¶°¦¨«×¡A¦³§U¤_PCBªº¤p«¬¤Æ¡FXilinx¤½¥q±À¥X¤F·s¤@¥N¶}µo¤u¨ãVivado¡A¦³¤O¤ä«ù7¨t¦CFPGA¡A´£°ª¤F¥Í²£®Ä²v¡C¦¹¥~¡AXilinx¤½¥qÁÙ±À¥X¤F°ª¼h¦¸ºî¦X¤u¨ãVivado HLS¡A¹ê²{¤F±qC/C++¨ìRTLªºÂà´«¡A¦³§Q¤_´_ÂøºâªkªºFPGA¹ê²{¡CµL½×¬OFPGAªº¤uÃÀ¤ô¥­ÁÙ¬O¨ä¶}µo¤u¨ã¡A³£¦³¤Fªø¨¬ªºµo®i¡A³o¬°¥HFPGA¬°¥­»Oªº¼Æ¦r«H¸¹³B²z¨t²Îªº¶}µo´£¨Ñ¤F±j¤jªº¤ä«ù¡A¤]¥[³t¤F¼Æ¦r«H¸¹³B²z¨t²Î¬[ºcªºÅÜ­²¡A¦P®É¤]¨Ï±oFPGA¦b§ó¦hªº»â°ìÀò±oÀ³¥Î¡C
¥»®Ñ¥H¼Æ¦r«H¸¹³B²z²z½×¬°°ò¦¡Aµ²¦XXilinx 7¨t¦CFPGA¬[ºc¡A²`¤J±´°Q¤F°ò¤_FPGA¹ê²{¦UºØ¼Æ¦r«H¸¹³B²zºâªkªº¤uµ{¤èªk¡A³o¨Çºâªk¬J¥]¬A¶Ç²Îªº°ò¥»ºâªk¡]¦pFIR¼Æ¦rÂoªi¾¹¡B¼Æ¦rÀW²v¦X¦¨¾¹µ¥¡^¡A¤]¥]¬A¸û¬°´_ÂøªºFFTºâªk¡F¬J¯A¤Î³æ³t²v¨t²Î¤]¯A¤Î¦h³t²v¨t²Î¡F¬J¦³§»Æ[¤Wªº²z½×Á¿¸Ñ¡A¤]¦³·LÆ[¤Wªº¤uµ{¹ê²{²Ó¸`©M§Þ¥©ªº»¡©ú¡A¦P®É±NFPGA³]­p«ä·Q¦³¾÷¦a³e¬ï¨ä¤¤¡C¥þ®Ñ¦@¤K³¹¤º®e¡C¨ä¤¤¡A²Ä1³¹±q¤º³¡µ²ºc¡B³]­p¬yµ{¡B½Õ¸Õ¤èªk¤T­Ó¤è­±¤¶²Ð¤FFPGA§Þ³N²{ª¬¡F²Ä2³¹¤¶²Ð¤F¥HFPGA¬°¥­»Oªº¼Æ¦r«H¸¹³B²z¨t²Îªº³]­p¤èªk©Mª`·N¨Æ¶µ¡F²Ä3³¹¤¶²Ð¤F¼Æ¦r«H¸¹³B²z¤¤ªº°ò¥»ºâªk¦bFPGA¤Wªº¹ê²{¤èªk¡A±q²³æªº¥[ªk¹Bºâ¨ì¸û¬°´_ÂøªºCORDICºâªk³£²[»\¨ä¤¤¡F²Ä4³¹¦Ü²Ä7³¹µ²¦X¤j¶q¹ê¨Ò­«ÂI¤¶²Ð¤F¼Æ¦r«H¸¹³B²zªº¸g¨åºâªk¦bFPGA¤Wªº¹ê²{¤èªk¡A¥]¬AFIRÂoªi¾¹¡Bª½±µ¼Æ¦rÀW²v¦X¦¨¾¹¡B¦h¬ÛÂoªi¾¹¡BCICÂoªi¾¹¡B¥b±aÂoªi¾¹©MFFTºâªkµ¥¡C²Ä8³¹Á¿­z¤Fªö¥ÎXilinx FPGA¹ê²{¼Æ¦r«H¸¹³B²zªº¤@¨Ç²Ó¸`°ÝÃD¡A¨ÏŪªÌ¯à°÷²`¤J²z¸ÑFPGAªº©³¼h¬[ºc¡AÆF¬¡¹B¥ÎFPGA¤º³¡¦UºØ¸ê·½¡A±q¦Ó¨Ïºâªkµ²ºc¥i¥H«Ü¦n¦a¬M®g¨ìFPGA©³¼h¬[ºc¤¤¡C
·PÁ²MµØ¤j¾Ç¹q¤l¤uµ{¨t©s¾Ë¤¸±Ð±Â¬°¥»®Ñ¼¶§Ç¡A·PÁÂÁÉÆF«ä¹q¤l¬ì§Þ¡]¤W®ü¡^¦³­­¤½¥q¨È¤Ó°ÏÀ³¥Î©Ý®i¸g²z±i¹ç¥ý¥Í¬°¥»®ÑÃD¼g±ÀÂË»y¡C
¦¹¥~¡A§@ªÌÁÙ­n·PÁÂÁÉÆF«ä¹q¤l¬ì§Þ¡]¤W®ü¡^¦³­­¤½¥q¥_¤¤°ê°Ï´ë¹D¾P°â¸g²z¤ý¼y®ü¥ý¥Í¡B¨È¤Ó°Ï¥«³õ¶Ç¼½¸g²z±i«T°¶¤k¤h¡B¤j¾Ç­p¹º¨È¤Ó°Ï¸g²z³°¨ÎµØ¥ý¥Í¡B¬ì³q¼Æ¦r§Þ³N¡]­»´ä¡^¦³­­¤½¥q°ª¯ÅÁ`ºÊÁ³¹¥ß¥ý¥Í©M¹q¤l¤u·~¥Xª©ªÀ¹q¤l«H®§¥Xª©¤ÀªÀªÀªø¤ý·q´É¥ý¥Í¡A·PÁ§A­Ìªº¤j¤O¤ä«ù©MÀ°§U¡I
»P²Ä1ª©¬Û¤ñ¡A²Ä2ª©ªº¾ãÅé®Ø¬[¦}¨S¦³ÅܤơA¦ý¨C³¹³£¼W¥[¤F·sªº¤º®e¡C³o¨Ç·sªº¤º®e¨Ï±o¥»®Ñ§ó¥[Â׬աA¦ý§Y«K¦p¦¹¡A¤]Ãø§K¦³¤£¨¬¤§³B¡C¦pªG±z¦b¾\Ū¹Lµ{¤¤µo²{¥ô¦ó¿ù»~©Î¹ï¦Aª©¦³¥ô¦ó«Øij¡A½Ðµo°e¶l¥ó¦Ügao_xilinx@126.com¡C

½sµÛªÌ





¦Z °O
¤T¦~¡A¡m°ò¤_FPGAªº¼Æ¦r«H¸¹³B²z¡n²Ä1ª©¥Xª©¡F¦A¤T¦~¡A¡m°ò¤_FPGAªº¼Æ¦r«H¸¹³B²z¡n²Ä2ª©§¹¤u¡CÂIÀ»¶l¥óµ¹¥Xª©ªÀµo°e¤å½Z®É¡A¤ß¤¤¦}¨S¦³µ·²@¦pÄÀ­«­tªº·Pı¡A¸£®ü¨½¯B²{ªº¬O²Ä3ª©À³¸Ó¸É¥Rªº¤º®e¡K¡K
²@¤£¦j±i¦aÁ¿¡A³o¤T¦~·í¤¤¡A°£¤F°µ¦n¥»Â¾¤u§@©M¿ý¨îºôµ¸½Òµ{¡§Vivado¤Jªù»P´£°ª¡¨¡A¯à©â¥X¨Óªº®É¶¡³£¥Î¤_¼g§@¥»®Ñ¤F¡C¦³¨­Ã䪺ªB¤Í¥]¬A¤@¨Ç¦P¤¯³£¤£¸Ñ¦a°Ý¹L¡G¬°¤°¤\¦Aª©³ºµM¤S¥Î¤F¤T¦~¡H³o¨ä¤¤ªº­ì¦]·íµM¤£¬O¤@¥y¸Ü¯à»¡²M·¡ªº¡C¥u¯à»¡¦p¦¹¯Ó®É³Ì¥D­nªº­ì¦]¬O¡A²Ä2ª©¼g±o§óÁ}Ãø¡A¨C¤@­Ó³¹¸`³£³¡¤À©Î¥þ³¡¥X²{¹L­«¼g¡C®Ú¾Ú¾ãÅ骺«ä¸ô¤@Ãä¼g¤@ÃäµZ¿i¡AÁ`·QµÛªí¹FªººÉ¶q²M´·¤S¤£Åã·Ðº¾¡A¯à¦b¤@©wµ{«×¤WÀ°§U¨º¨Ç¦p§Ú·í¦~¨«¦b¤Jªù±´¯Á¤§¸ôªº¤H¡C¤_¬O±`±`¦b¼g§@¹Lµ{¤¤²`·P¦Û¤v»y¨¥ªº¹¼¥F¡A¤S·Q¨ì­Õ­Yº¡½g³£¬O¤å¦r¡A¬O§_·|Åã±o³æ¤@¦Ó¬\Àê¡AŪªÌ¬O§_·|ı±o¯ÁµMµL¨ý¡A©Î¤£ª¾©Ò¤ª¥H¦Ü¤_µLªk¹ý©³²z¸Ñ¡C¦n¦bÁÙ¦³¨ä¥Lªºªí¹F¤è¦¡¡AÄ´¦p¹Ï¡Bªí©Mµ{§Ç¡C¥»®ÑÁ`¦@¦³592±i¹Ï¡B134­Óªí¡B53­ÓMatlab¥N½X¡B42­ÓSystem Generator¼Ò«¬¡B9­ÓVHDL¥N½X©M6­ÓTcl¸}¥»¡C°l¨D¹Ï¤å¦}­Z¡A³o¤]¬O§Ú¼g§@¥»®Ñ¹ï¦Û¤v´£¥Xªº¤@­Ó­n¨D¡C
¤£±o¤£·P¹Ä¡Aµw¥ó¬ÛÃöªº®Ñ¯uªº¤£¦n¼g¡C¼g¨ì¤F¬Y­Ó²Ó¸`³Bµo²{¬O¤£¬O¬[ºc¦p¦¹³o¯ë§ï°Ê¤@¤U·|§ó²M´·¡F¹Ï¡Bªí±q¥t¤@­Ó¨¤«×µe¬O¤£¬O·|§ó¥Í°Ê¡A¦³®É¬Æ¦Üµe¥X¨â´T¹Ï¹ï¤ñ¾Ü¨äÀu¡F¦A¥[¤W®Ñ¤¤©Ò¦³¤Þ¥Îªº¤½¦¡¡A¥þ³¡¸g¹L¤F­«·sÅçÃÒ¡C®a¤H¤]´¿°Ý¡A¦³¥²­n¦p¦¹¶Ü¡H³o¼Ë°µ¡A¥u¬O¬°¤F¹ý©³·d²M§ËÀ´¡A¹ï¦Û¤v¬O´£°ª¡A¹ïŪªÌ¬O­t³d¡C§Ú¥»¬O»{¯uªº¤H¡A¦Ó¼g®Ñ°µ¾Ç°Ý§ó¬O¦º½W¡C²ö­Y³o¯ë¡A¤]´N¹ï¤£°_¤@ª½¥H¨Ó¤ä«ù§Ú¬Û«H§ÚªºªB¤Í­Ì¤F¡I
´X¦~«e¡A¦ñÀHµÛ¡§¤¤°ê¹Ú¡¨¤§­·¡A²Ä¤@¦¸³Q°Ý¤Î¨º¥y¡§§Aªº¹Ú·Q¬O¤°¤\¡¨®É¡A¡§¼g®Ñ¡A¾Ç²ß¡A¦A¼g®Ñ¡¨§Ú¤£°²«ä¯Áªº²æ¤f¦Ó¥X¡C¦ó¨ä©¯¡A·í¦~¿ï¾Ü¤F¡§¹q¤l¤uµ{¡¨³o­Ó§Ú²`·Rªº±M·~¡C¡§¸ôº©º©¨ä­×»·¤¼¡A§^±N¤W¤U¦Ó¨D¯Á¡¨¡A¥¼¨Óªº§Ú¥²±N·|§ó¥[¥Î¤ß¡B¶Vµo§V¤O¡A¥H·PÁ©M¦^³ø¤@¸ô¤W¤ä«ù©MÀ°§U§Úªº¿Ë¤H¡BªB¤Í­Ì¡I
°ª¨È­x
2015¦~4¤ë1¤é
¤º®e²¤¶¡G

¥»®Ñ³ò¶Xilinx·s¤@¥N28nm¤uÃÀªä¤ù7¨t¦CFPGA¡Aµ²¦XXilinx·s¤@¥N¶}µo¤u¨ãVivado¥H¤Î°w¹ïºâªk¶}µoªºVivado HLS©MSystem Generator¡AÁ¿¸Ñ¤F¼Æ¦r«H¸¹³B²z¤¤ªº¸g¨åºâªk¦bFPGA¤Wªº¹ê²{¤èªk¡C²Ä2ª©«O«ù¤F²Ä1ª©ªº¥DÃD¡X¡X¦p¦ó±N²z½×ºâªkÂà¤Æ¬°¤uµ{¹ê²{¡A·s¼W¤FºâªkªºMatlab¥N½X´y­z¡F¼W¥[¤F³¡¤ÀºâªkªºSystem Generator¼Ò«¬¡C Á¿¸Ñ¤FFPGA¹ê²{®Éªº¤@¨Ç²Ó¸`°ÝÃD¦p´_¦ì¡B¸ó®ÉÄÁ°ì³]­pµ¥¡C

¥Ø¿ý¡G

²Ä ³¹ ²{³õ¥i½sµ{ªù°}¦C§Þ³N¤ÀªR 1
1.1 FPGA¤º³¡µ²ºc¤ÀªR 1
1.1.1 FPGA¦b¤j³W¼Ò¶°¦¨¹q¸ô¤¤ªº©w¦ì 1
1.1.2 ¶Ç²ÎªºFPGA¤º³¡µ²ºc¤ÀªR 2
1.1.3 SoC FPGA¤º³¡µ²ºc¤ÀªR 7
1.2 FPGA³]­p¬yµ{¤ÀªR 9
1.2.1 ¶Ç²ÎªºFPGA³]­p¬yµ{ 9
1.2.2 SoC FPGA³]­p¬yµ{ 13
1.3 FPGA½Õ¸Õ¤èªk¤ÀªR 16
1.3.1 ILA¨Ï¥Î¤èªk 16
1.3.2 VIO¨Ï¥Î¤èªk 18
°Ñ¦Ò¤åÄm 19
²Ä ³¹ ¸ó¶VÂE·¾¡G±qºâªk¨ìµw¥ó¹ê²{ 20
2.1 ¼Æ¦r«H¸¹³B²z¨t²Î¬[ºc¤ÀªR 20
2.2 ¼Æ¦r«H¸¹³B²z¨t²Î³]­p¤èªk 24
2.2.1 ¶Ç²ÎªºRTL³]­p¤èªk 24
2.2.2 °ò¤_¼Ò«¬ªº³]­p¤èªk 27
2.2.3 °ª¼h¦¸ºî¦X³]­p¤èªk 30
2.2.4 ¤TºØ³]­p¤èªkªº¿Ä¦X 32
2.3 FPGA³]­p©Ê¯à´y­z«ü¼Ð 33
2.4 FPGA³]­p¤¤ªº¼Æ¾Ú®æ¦¡ 36
2.4.1 ¯BÂI¼Æ°ò¦ª¾ÃÑ 36
2.4.2 ©wÂI¼Æ°ò¦ª¾ÃÑ 39
2.4.3 ¯BÂI¼Æ»P©wÂI¼Æªº¤ñ¸û 44
2.4.4 ¯BÂI¼Æ¨ì©wÂI¼ÆªºÂà´« 45
2.5 Xilinx¶}µo¤u¨ã¹ï¯BÂI¼Æ»P©wÂI¼Æªº¤ä«ù 47
2.5.1 System Generator¹ï¯BÂI¼Æ»P©wÂI¼Æªº¤ä«ù 47
2.5.2 Vivado HLS¹ï¯BÂI¼Æ»P©wÂI¼Æªº¤ä«ù 51
°Ñ¦Ò¤åÄm 53
²Ä ³¹ ¼Æ¦r«H¸¹³B²z¤¤ªº°ò¥»¹Bºâ 54
3.1 ¥[ªk¹Bºâ 54
3.1.1 ¤@¦ì¥þ¥[¾¹ 54
3.1.2 ¤G¶i¨î¥[ªk­ì²z 55
3.1.3 ´_¼Æ¥[ªk 58
3.1.4 ¥[ªk¾ð»P¥[ªkÃì 59
3.2 ²Ö¥[¹Bºâ 60
3.2.1 ²Ö¥[­ì²z 60
3.2.2 ¶¶§Ç²Ö¥[¾¹ 60
3.2.3 ·Æ°Ê²Ö¥[¾¹ 61
3.3 ­¼ªk¹Bºâ 63
3.3.1 ¤G¶i¨î­¼ªk­ì²z 63
3.3.2 °ò¤_²¾¦ì¬Û¥[ªº­¼ªk¾¹ 65
3.3.3 °ò¤_ROMªº­¼ªk¾¹ 67
3.3.4 »P©T©w¼Æ¬Û­¼ªº­¼ªk¾¹¡]KCM¡^ 73
3.3.5 ´_¼Æ­¼ªk 76
3.4 °£ªk¹Bºâ 77
3.4.1 °ò¤_«ì´_§E¼Æ¡]Restoring¡^ºâªkªº°£ªk¾¹ 77
3.4.2 °ò¤_¤£«ì´_§E¼Æ¡]Non-Restoring¡^ºâªkªº°£ªk¾¹ 80
3.4.3 °ò¤_¯Å¼Æ®i¶}ºâªkªº°£ªk¾¹ 84
3.4.4 °ò¤_Newton-Raphsonºâªkªº°£ªk¾¹ 87
3.5 ¶}¤è¹Bºâ 89
3.5.1 °ò¤_¤£«ì´_§E¼Æºâªkªº¶}¤è¹Bºâ 89
3.5.2 °ò¤_«D½u©ÊIIRÂoªi¾¹ºâªkªº¶}¤è¹Bºâ 95
3.5.3 ´_¼Æ¨D¼Ò 100
3.6 CORDICºâªk 103
3.6.1 CORDICºâªk¤§¶ê©P¨t²Î¤Î¨ä¼Æ¾ÇÀ³¥Î 103
3.6.2 CORDICºâªk¤§½u©Ê¨t²Î¤Î¨ä¼Æ¾ÇÀ³¥Î 113
3.6.3 CORDICºâªk¤§Âù¦±¨t²Î¤Î¨ä¼Æ¾ÇÀ³¥Î 116
3.6.4 ²Î¤@ªºCORDICºâªk§Î¦¡ 120
3.6.5 CORDICºâªkªºµw¥ó¹ê²{ 121
°Ñ¦Ò¤åÄm 126
²Ä ³¹ FIR¼Æ¦rÂoªi¾¹ 127
4.1 FIRÂoªi¾¹°ò¥»²z½× 127
4.1.1 ª½±µ«¬µ²ºcªºFIRÂoªi¾¹ 127
4.1.2 Âà¸m«¬µ²ºcªºFIRÂoªi¾¹ 129
4.1.3 ½u©Ê¬Û¦ìFIRÂoªi¾¹ 131
4.2 ¦ê¦æFIRÂoªi¾¹ 133
4.2.1 °ò¤_²¾¦ì±H¦s¾¹ªº¦ê¦æFIRÂoªi¾¹ 133
4.2.2 °ò¤_ÂùºÝ¤fRAMªº¦ê¦æFIRÂoªi¾¹ 136
4.2.3 ¨t¼Æ¹ïºÙªº¦ê¦æFIRÂoªi¾¹ªº³]­p 139
4.2.4 ¨âºØ¦ê¦æµ²ºcªºFIRÂoªi¾¹©Ê¯à¤ñ¸û 142
4.3 ¥þ¦}¦æFIRÂoªi¾¹ 143
4.3.1 °ò¤_ª½±µ«¬µ²ºcªº¥þ¦}¦æFIRÂoªi¾¹ 143
4.3.2 °ò¤_Âà¸m«¬µ²ºcªº¥þ¦}¦æFIRÂoªi¾¹ 144
4.3.3 °ò¤_¯ß°Êµ²ºcªº¥þ¦}¦æFIRÂoªi¾¹ 145
4.3.4 ¨t¼Æ¹ïºÙªº¥þ¦}¦æFIRÂoªi¾¹ªº³]­p 147
4.3.5 ¤TºØ¥þ¦}¦æµ²ºcªºFIRÂoªi¾¹©Ê¯à¤ñ¸û 148
4.4 ¥b¦}¦æFIRÂoªi¾¹ 148
4.4.1 °ò¤_²¾¦ì±H¦s¾¹ªº¥b¦}¦æFIRÂoªi¾¹ 148
4.4.2 °ò¤_¦h¤ùÂùºÝ¤fRAMªº¥b¦}¦æFIRÂoªi¾¹ 153
4.4.3 °ò¤_³æ¤ù³æºÝ¤fRAMªº¥b¦}¦æFIRÂoªi¾¹ 155
4.4.4 ¨t¼Æ¹ïºÙªº¥b¦}¦æFIRÂoªi¾¹ªº³]­p 159
4.4.5 ¤TºØ¥b¦}¦æµ²ºcªºFIRÂoªi¾¹©Ê¯à¤ñ¸û 162
4.5 ¤À¥¬¦¡FIRÂoªi¾¹ 162
4.5.1 ¤À¥¬¦¡ºâªk­ì²z 162
4.5.2 ¦ê¦æ¤À¥¬¦¡FIRÂoªi¾¹ 164
4.5.3 ¥þ¦}¦æ¤À¥¬¦¡FIRÂoªi¾¹ 169
4.5.4 ¥b¦}¦æ¤À¥¬¦¡FIRÂoªi¾¹ 169
4.5.5 ¤TºØ¤À¥¬¦¡FIRÂoªi¾¹©Ê¯à¤ñ¸û 171
4.6 §Ö³t¨÷¿n«¬FIRÂoªi¾¹ 171
4.6.1 ½u©Ê¨÷¿nªº­pºâ¤èªk¤Î¹Bºâ¶q¤ÀªR 172
4.6.2 ¶ê©P¨÷¿nªº­pºâ¤èªk¤Î¹Bºâ¶q¤ÀªR 174
4.6.3 ±q½u©Ê¨÷¿n¨ìFFTªº¸ó¶V 177
4.6.4 ­pºâªø¼Æ¾Ú§Ç¦C½u©Ê¨÷¿nªº¨âºØºâªk 179
4.6.5 À³¥Î­«Å|«O¯dªk¹ê²{°ª¶¥FIRÂoªi¾¹ 185
4.7 ¦h³q¹DFIRÂoªi¾¹ 188
4.8 ¦hÀWÅTFIRÂoªi¾¹ 192
4.9 Á`Åé©Ê¯à¤ÀªR 194
°Ñ¦Ò¤åÄm 196
²Ä ³¹ ª½±µ¼Æ¦rÀW²v¦X¦¨ 197
5.1 °ò¤_IIRÂoªi¾¹ªºDDS 197
5.2 °ò¤_LUTªºDDS 199
5.2.1 ±`³W«¬°ò¤_LUTªºDDS 199
5.2.2 ³q¹LLFSR§ïµ½SFDR 206
5.2.3 ³q¹LTaylor¯Å¼Æ§ïµ½SFDR 209
5.2.4 §Q¥Î¹ïºÙ©ÊÀ£ÁY¦sÀxªi§Î 210
5.3 °ò¤_Âù¼Ò¤¬½èºâªkªºDDS 213
5.3.1 Âù¼Ò¤¬½èºâªkªº°ò¥»­ì²z 213
5.3.2 Âù¼Ò¤¬½èºâªkªºµw¥ó¹ê²{ 216
5.4 °ò¤_CORDICºâªkªºDDS 217
5.5 ¦h³q¹DDDS 221
5.6 ¦h¸ô¦}¦æDDS 222
5.7 ²£¥Í¨ä¥Lªi§Î 225
°Ñ¦Ò¤åÄm 226
²Ä ³¹ ¦h³t²v«H¸¹³B²z 227
6.1 ©â¨ú©M©â¨úÂoªi¾¹ 227
6.2 ´¡­È©M´¡­ÈÂoªi¾¹ 231
6.3 ¤À¼Æ³t²vªºÂà´« 232
6.4 ¤»­ÓùÚµ¥¦¡¤Î¨ä¨å«¬À³¥Î 233
6.5 ¦h¬ÛÂoªi¾¹ 237
6.5.1 ¦h¬Û©â¨úÂoªi¾¹ªº°ò¥»²z½× 237
6.5.2 ¦h¬Û©â¨úÂoªi¾¹ªºµw¥ó¹ê²{ 241
6.5.3 ¦h¬Û´¡­ÈÂoªi¾¹ªº°ò¥»²z½× 261
6.5.4 ¦h¬Û´¡­ÈÂoªi¾¹ªºµw¥ó¹ê²{ 266
6.6 CICÂoªi¾¹ 268
6.6.1 CICÂoªi¾¹°ò¥»²z½× 268
6.6.2 CICÂoªi¾¹ªº¦ì¼Wªø°ÝÃD 273
6.6.3 CICÂoªi¾¹À³¥Î¤_©â¨ú¨t²Î¤¤ 274
6.6.4 CICÂoªi¾¹À³¥Î¤_´¡­È¨t²Î¤¤ 282
6.7 ¥b±aÂoªi¾¹ 284
6.7.1 ¥b±aÂoªi¾¹ªº°ò¥»²z½× 284
6.7.2 ¥b±aÂoªi¾¹À³¥Î¤_©â¨ú¨t²Î¤¤ 286
6.7.3 ¥b±aÂoªi¾¹À³¥Î¤_´¡­È¨t²Î¤¤ 288
°Ñ¦Ò¤åÄm 291
²Ä ³¹ §Ö³t³Å¨½¸­ÅÜ´« 292
7.1 ±qDFT¨ìFFT 292
7.2 °ò2 FFT³B²z¾¹ 293
7.2.1 °ò2 FFTºâªk­ì²z 293
7.2.2 °ò2 FFTºâªk¯S©º¤ÀªR 299
7.2.3 °ò2­ì¦ì¹BºâFFT³B²z¾¹ 302
7.2.4 °ò2 SDF¬y¤ôµ²ºcFFT³B²z¾¹ 313
7.2.5 °ò2 MDC¬y¤ôµ²ºcFFT³B²z¾¹ 322
7.3 °ò4 FFT³B²z¾¹ 329
7.3.1 °ò4 FFTºâªk­ì²z 329
7.3.2 °ò4 FFTºâªk¯S©º¤ÀªR 340
7.3.3 °ò4 SDF¬y¤ôµ²ºcFFT³B²z¾¹ 342
7.3.4 °ò4 MDC¬y¤ôµ²ºcFFT³B²z¾¹ 345
7.3.5 °ò4 SDC¬y¤ôµ²ºcFFT³B²z¾¹ 349
7.4 ´XºØ¬y¤ôµ²ºcFFT³B²z¾¹ªº¤ñ¸û 356
7.5 IFFT»PFFTªºÃö¨t 356
°Ñ¦Ò¤åÄm 357
²Ä ³¹ ¤@¨Ç²Ó¸`°ÝÃD 358
8.1 LUT¤£¥u¬OÅÞ¿è¨ç¼Æµo¥Í¾¹ 358
8.2 ¦X²z¨Ï¥ÎIJµo¾¹ 363
8.2.1 ÁקK¹L¦h±±¨î¶° 363
8.2.2 ÁקK¨Ï¥ÎÂê¦s¾¹ 365
8.3 Block RAM¤£¥u¬O¼Æ¾Ú¦sÀx 366
8.3.1 Block RAM°t¸m¤è¦¡ 366
8.3.2 Block RAMÀ³¥Î®×¨Ò 367
8.4 DSP48E1¤£¥u¬O­¼ªk¾¹ 373
8.4.1 DSP48E1°ò¥»µ²ºc 373
8.4.2 DSP48E1À³¥Î®×¨Ò 381
8.5 Ãö¤_´_¦ì 399
8.6 ¸ó®ÉÄÁ°ìªº³]­p 401
8.6.1 ¦P¨B®ÉÄÁªº¸ó®ÉÄÁ°ì³]­p 401
8.6.2 ²§¨B®ÉÄÁªº¸ó®ÉÄÁ°ì³]­p 410
°Ñ¦Ò¤åÄm 422
¦Z°O 423
§Ç¡G