ÄúµÄλÖãºÍøÕ¾Ê×Ò³ > µçÆ÷άÐÞ×ÊÁÏÍø > ÕýÎÄ >
FPGAÈëÃÅ»ù´¡ÖªÊ¶
À´Ô´£º ÈÕÆÚ£º2013-12-7 10:01:32 ÈËÆø£º±êÇ©£º
fpgaÈëÃÅ֪ʶ»¹Ó¦¸Ã°üº¬fpga¹¤×÷ÔÀí¡¢fpgaµÄ»ù±¾Ìص㡢fpgaоƬ½á¹¹µÈ»ù´¡µÄ֪ʶ£¬ÏÂÃæÐ¡±à´ÓÒÔϼ¸¸ö·½ÃæÀ´¶ÔfpgaÈëÃÅ֪ʶ½øÐмòµ¥µÄ½éÉÜ¡£
fpga¹¤×÷ÔÀí
fpga²ÉÓÃÁËÂß¼µ¥ÔªÕóÁÐlcaÕâÑùÒ»¸ö¸ÅÄÄÚ²¿°üÀ¨¿ÉÅäÖÃÂ߼ģ¿éclb¡¢Êä³öÊäÈëÄ£¿éiobºÍÄÚ²¿Á¬ÏßÈý¸ö²¿·Ö¡£fpgaÀûÓÃСÐͲéÕÒ±í(16×1ram)À´ÊµÏÖ×éºÏÂß¼£¬Ã¿¸ö²éÕÒ±íÁ¬½Óµ½Ò»¸öd´¥·¢Æ÷µÄÊäÈë¶Ë£¬´¥·¢Æ÷ÔÙÀ´Çý¶¯ÆäËûÂß¼µç·»òÇý¶¯i/o£¬Óɴ˹¹³ÉÁ˼´¿ÉʵÏÖ×éºÏÂß¼¹¦ÄÜÓÖ¿ÉʵÏÖʱÐòÂß¼¹¦ÄܵĻù±¾Âß¼µ¥ÔªÄ£¿é£¬ÕâЩģ¿é¼äÀûÓýðÊôÁ¬Ïß»¥ÏàÁ¬½Ó»òÁ¬½Óµ½i/oÄ£¿é¡£fpgaµÄÂß¼ÊÇͨ¹ýÏòÄÚ²¿¾²Ì¬´æ´¢µ¥Ôª¼ÓÔØ±à³ÌÊý¾ÝÀ´ÊµÏֵģ¬´æ´¢ÔÚ´æ´¢Æ÷µ¥ÔªÖеÄÖµ¾ö¶¨ÁËÂß¼µ¥ÔªµÄÂß¼¹¦ÄÜÒÔ¼°¸÷Ä£¿éÖ®¼ä»òÄ£¿éÓëi/o¼äµÄÁª½Ó·½Ê½,²¢ ÖÕ¾ö¶¨ÁËfpgaËùÄÜʵÏֵŦÄÜ, ¼Óµçʱ£¬fpgaоƬ½«epromÖÐÊý¾Ý¶ÁÈëÆ¬ÄÚ±à³ÌramÖУ¬ÅäÖÃÍê³Éºó£¬fpga½øÈ빤×÷״̬¡£µôµçºó£¬fpga»Ö¸´³É°×Ƭ£¬ÄÚ²¿Âß¼¹ØÏµÏûʧ£¬Òò´Ë£¬fpgaÄܹ»·´¸´Ê¹Óá£fpgaµÄ±à³ÌÎÞÐëרÓõÄfpga±à³ÌÆ÷£¬Ö»ÐëÓÃͨÓõÄeprom¡¢prom±à³ÌÆ÷¼´¿É¡£µ±ÐèÒªÐÞ¸Äfpga¹¦ÄÜʱ£¬Ö»Ð軻һƬeprom¼´¿É¡£ÕâÑù£¬Í¬Ò»Æ¬fpga£¬²»Í¬µÄ±à³ÌÊý¾Ý£¬¿ÉÒÔ²úÉú²»Í¬µÄµç·¹¦ÄÜ¡£fpgaÊÇÓÉ´æ·ÅÔÚÆ¬ÄÚramÖеijÌÐòÀ´ÉèÖÃÆä¹¤×÷״̬µÄ£¬Òò´Ë£¬¹¤×÷ʱÐèÒª¶ÔƬÄÚµÄram½øÐбà³Ì¡£Óû§¿ÉÒÔ¸ù¾Ý²»Í¬µÄÅäÖÃģʽ£¬²ÉÓò»Í¬µÄ±à³Ì·½Ê½¡£
fpgaµÄ»ù±¾Ìصã
1)²ÉÓÃfpgaÉè¼Æasicµç·(רÓü¯³Éµç·)£¬Óû§²»ÐèҪͶƬÉú²ú£¬¾ÍÄܵõ½ºÏÓõÄоƬ¡£
2)fpga¿É×öÆäËüÈ«¶¨ÖÆ»ò°ë¶¨ÖÆasicµç·µÄÖÐÊÔÑùƬ¡£
3)fpgaÄÚ²¿ÓзḻµÄ´¥·¢Æ÷ºÍi/oÒý½Å¡£
4)fpgaÊÇasicµç·ÖÐÉè¼ÆÖÜÆÚ ¶Ì¡¢¿ª·¢·ÑÓà µÍ¡¢·çÏÕ Ð¡µÄÆ÷¼þÖ®Ò»¡£
5) fpga²ÉÓøßËÙcmos¹¤ÒÕ£¬¹¦ºÄµÍ£¬¿ÉÒÔÓëcmos¡¢ttlµçƽ¼æÈÝ¡£
¿ÉÒÔ˵£¬fpgaоƬÊÇСÅúÁ¿ÏµÍ³Ìá¸ßϵͳ¼¯³É¶È¡¢¿É¿¿Ð﵀ ¼ÑÑ¡ÔñÖ®Ò»¡£
fpgaоƬ½á¹¹
ĿǰÖ÷Á÷µÄfpgaÈÔÊÇ»ùÓÚ²éÕÒ±í¼¼ÊõµÄ£¬ÒѾԶԶ³¬³öÁËÏÈǰ°æ±¾µÄ»ù±¾ÐÔÄÜ£¬²¢ÇÒÕûºÏÁ˳£Óù¦ÄÜ(Èçram¡¢Ê±ÖÓ¹ÜÀíºÍdsp)µÄÓ²ºË(asicÐÍ)Ä£¿é¡£fpgaоƬÖ÷ÒªÓÉ7²¿·ÖÍê³É£¬·Ö±ðΪ£º¿É±à³ÌÊäÈëÊä³öµ¥Ôª¡¢»ù±¾¿É±à³ÌÂß¼µ¥Ôª¡¢ÍêÕûµÄʱÖÓ¹ÜÀí¡¢Ç¶Èë¿éʽram¡¢·á¸»µÄ²¼Ïß×ÊÔ´¡¢ÄÚǶµÄµ×²ã¹¦Äܵ¥ÔªºÍÄÚǶרÓÃÓ²¼þÄ£¿é¡£
1. ¿É±à³ÌÊäÈëÊä³öµ¥Ôª(iob)
¿É±à³ÌÊäÈë/Êä³öµ¥Ôª¼ò³Æi/oµ¥Ôª£¬ÊÇоƬÓëÍâ½çµç·µÄ½Ó¿Ú²¿·Ö£¬Íê³É²»Í¬µçÆøÌØÐÔ϶ÔÊäÈë/Êä³öÐźŵÄÇý¶¯ÓëÆ¥ÅäÒªÇó¡£ÎªÁ˱ãÓÚ¹ÜÀíºÍÊÊÓ¦¶àÖÖµçÆ÷±ê×¼£¬fpgaµÄiob±»»®·ÖΪÈô¸É¸ö×é(bank)£¬Ã¿¸öbankµÄ½Ó¿Ú±ê×¼ÓÉÆä½Ó¿Úµçѹvcco¾ö¶¨£¬Ò»¸öbankÖ»ÄÜÓÐ Ò»ÖÖvcco£¬µ«²»Í¬bankµÄvcco¿ÉÒÔ²»Í¬¡£Ö»ÓÐÏàͬµçÆø±ê×¼µÄ¶Ë¿Ú²ÅÄÜÁ¬½ÓÔÚÒ»Æð£¬vccoµçѹÏàͬÊǽӿڱê×¼µÄ»ù±¾Ìõ¼þ¡£

i/o¿éÄÚ²¿½á¹¹Í¼
µäÐ͵ÄiobÄÚ²¿½á¹¹Ê¾Òâͼ
2. ¿ÉÅäÖÃÂß¼¿é(clb)
clbÊÇfpgaÄڵĻù±¾Âß¼µ¥Ôª¡£clbµÄʵ¼ÊÊýÁ¿ºÍÌØÐÔ»áÒÀÆ÷¼þµÄ²»Í¬¶ø²»Í¬£¬µ«ÊÇÿ¸öclb¶¼°üº¬Ò»¸ö¿ÉÅäÖÿª¹Ø¾ØÕ󣬴˾ØÕóÓÉ4»ò6¸öÊäÈ롢һЩ Ñ¡Ð͵ç·(¶à·¸´ÓÃÆ÷µÈ)ºÍ´¥·¢Æ÷×é³É¡£¿ª¹Ø¾ØÕóÊǸ߶ÈÁé»îµÄ£¬¿ÉÒÔ¶ÔÆä½øÐÐÅäÖÃÒԱ㴦Àí×éºÏÂß¼¡¢ÒÆÎ»¼Ä´æÆ÷»òram¡£
4. ǶÈëʽ¿éram(bram)
´ó¶àÊýfpga¶¼¾ßÓÐÄÚǶµÄ¿éram£¬Õâ´ó´óÍØÕ¹ÁËfpgaµÄÓ¦Ó÷¶Î§ºÍÁé»îÐÔ¡£¿éram¿É±»ÅäÖÃΪµ¥¶Ë¿Úram¡¢Ë«¶Ë¿Úram¡¢ÄÚÈݵØÖ·´æ´¢Æ÷ (cam)ÒÔ¼°fifoµÈ³£Óô洢½á¹¹¡£cam´æ´¢Æ÷ÔÚÆäÄÚ²¿µÄÿ¸ö´æ´¢µ¥ÔªÖж¼ÓÐÒ»¸ö±È½ÏÂß¼£¬Ð´Èë camÖеÄÊý¾Ý»áºÍÄÚ²¿µÄÿһ¸öÊý¾Ý½øÐбȽϣ¬²¢·µ»ØÓë¶Ë¿ÚÊý¾ÝÏàͬµÄËùÓÐÊý¾ÝµÄµØÖ·£¬Òò¶øÔÚ·ÓɵĵØÖ·½»»»Æ÷ÖÐÓй㷺µÄÓ¦ÓᣳýÁË¿éram£¬»¹¿ÉÒÔ½« fpgaÖеÄlutÁé»îµØÅäÖóÉram¡¢romºÍfifoµÈ½á¹¹¡£ÔÚʵ¼ÊÓ¦ÓÃÖУ¬Ð¾Æ¬ÄÚ²¿¿éramµÄÊýÁ¿Ò²ÊÇÑ¡ÔñоƬµÄÒ»¸öÖØÒªÒòËØ¡£
5. ·á¸»µÄ²¼Ïß×ÊÔ´
²¼Ïß×ÊÔ´Á¬Í¨fpgaÄÚ²¿µÄËùÓе¥Ôª£¬¶øÁ¬Ïߵij¤¶ÈºÍ¹¤ÒÕ¾ö¶¨×ÅÐźÅÔÚÁ¬ÏßÉϵÄÇý¶¯ÄÜÁ¦ºÍ´«ÊäËÙ¶È¡£fpgaоƬÄÚ²¿ÓÐ×ŷḻµÄ²¼Ïß×ÊÔ´£¬¸ù¾Ý¹¤ÒÕ¡¢³¤¶È¡¢¿í¶ÈºÍ·Ö²¼Î»ÖõIJ»Í¬¶ø»®·ÖΪ4À಻ͬµÄÀà±ð¡£µÚÒ»ÀàÊÇÈ«¾Ö²¼Ïß×ÊÔ´£¬ÓÃÓÚоƬÄÚ²¿È«¾ÖʱÖÓºÍÈ«¾Ö¸´Î»/ÖÃλµÄ²¼Ïß;µÚ¶þÀàÊdz¤Ïß×ÊÔ´£¬ÓÃÒÔÍê³ÉоƬ bank¼äµÄ¸ßËÙÐźź͵ڶþÈ«¾ÖʱÖÓÐźŵIJ¼Ïß;µÚÈýÀàÊǶÌÏß×ÊÔ´£¬ÓÃÓÚÍê³É»ù±¾Âß¼µ¥ÔªÖ®¼äµÄÂß¼»¥Á¬ºÍ²¼Ïß;µÚËÄÀàÊÇ·Ö²¼Ê½µÄ²¼Ïß×ÊÔ´£¬ÓÃÓÚרÓÐʱÖÓ¡¢¸´Î»µÈ¿ØÖÆÐźÅÏß¡£
ÔÚʵ¼ÊÖÐÉè¼ÆÕß²»ÐèÒªÖ±½ÓÑ¡Ôñ²¼Ïß×ÊÔ´£¬²¼¾Ö²¼Ï߯÷¿É×Ô¶¯µØ¸ù¾ÝÊäÈëÂß¼Íø±íµÄÍØÆË½á¹¹ºÍÔ¼ÊøÌõ¼þÑ¡Ôñ²¼Ïß×ÊÔ´À´Á¬Í¨¸÷¸öÄ£¿éµ¥Ôª¡£´Ó±¾ÖÊÉϽ²£¬²¼Ïß×ÊÔ´µÄʹÓ÷½·¨ºÍÉè¼ÆµÄ½á¹ûÓÐÃÜÇС¢Ö±½ÓµÄ¹ØÏµ¡£
6. µ×²ãÄÚǶ¹¦Äܵ¥Ôª
ÄÚǶ¹¦ÄÜÄ£¿éÖ÷ÒªÖ¸dll(delay locked loop)¡¢pll(phase locked loop)¡¢dspºÍcpuµÈÈí´¦ÀíºË¡£ÏÖÔÚÔ½À´Ô½·á¸»µÄÄÚǶ¹¦Äܵ¥Ôª£¬Ê¹µÃµ¥Æ¬fpga³ÉΪÁËϵͳ¼¶µÄÉè¼Æ¹¤¾ß£¬Ê¹Æä¾ß±¸ÁËÈíÓ²¼þÁªºÏÉè¼ÆµÄÄÜÁ¦£¬Öð²½Ïòsocƽ̨¹ý¶É¡£
dllºÍpll¾ßÓÐÀàËÆµÄ¹¦ÄÜ£¬¿ÉÒÔÍê³ÉʱÖӸ߾«¶È¡¢µÍ¶¶¶¯µÄ±¶ÆµºÍ·ÖƵ£¬ÒÔ¼°Õ¼¿Õ±Èµ÷ÕûºÍÒÆÏàµÈ¹¦ÄÜ¡£
7. ÄÚǶרÓÃÓ²ºË
ÄÚǶרÓÃÓ²ºËÊÇÏà¶Ôµ×²ãǶÈëµÄÈíºË¶øÑԵģ¬Ö¸fpga´¦ÀíÄÜÁ¦Ç¿´óµÄÓ²ºË(hard core)£¬µÈЧÓÚasicµç·¡£ÎªÁËÌá¸ßfpgaÐÔÄÜ£¬Ð¾Æ¬Éú²úÉÌÔÚоƬÄÚ²¿¼¯³ÉÁËһЩרÓõÄÓ²ºË¡£ÀýÈ磺ΪÁËÌá¸ßfpgaµÄ³Ë·¨ËÙ¶È£¬Ö÷Á÷µÄfpga Öж¼¼¯³ÉÁËרÓó˷¨Æ÷;ΪÁËÊÊÓÃͨÐÅ×ÜÏßÓë½Ó¿Ú±ê×¼£¬ºÜ¶à¸ß¶ËµÄfpgaÄÚ²¿¶¼¼¯³ÉÁË´®²¢ÊÕ·¢Æ÷(serdes)£¬¿ÉÒÔ´ïµ½ÊýÊ®gbpsµÄÊÕ·¢ËÙ¶È¡£
½áÊøÓï
Á˽âÏÖ³¡¿É±à³ÌÃÅÕóÁÐ(fpga)µÄһЩ»ù±¾ÖªÊ¶¶ÔÓÚÏëÒª¿ª·¢ºÍ±à³ÌÓû§ÊÇÊ®·Ö±ØÒªµÄ¡£±¾ÎÄÖ÷ÒªÊÇÕë¶Ô³õ¼¶µÄfpga°®ºÃÕß¶Ô fpgaÈëÃÅ֪ʶ½øÐмòµ¥µÄ×ܽᣬfpgaÈëÃÅÐèÒªÁ˽âfpgaµÄ¹¤×÷ÔÀí¡¢»ù±¾Ìص㡢ÒÔ¼°fpgaоƬµÄ¹¹³ÉºÍ¹¦ÄÜÄ£¿éµÈ¸÷¸ö·½Ã档ϣÍûͨ¹ýÔĶÁ±ÊÕßµÄÕâÆªfpgaÈëÃÅ֪ʶ½éÉÜÎÄÕ¿ÉÒÔ¶ÔÏëÒªÁ˽âfpgaµÄÄúÓÐËù°ïÖú¡£
¡¾¿´¿´ÕâÆªÎÄÕÂÔڰٶȵÄÊÕ¼Çé¿ö¡¿
Ïà¹ØÎÄÕÂ
- ÉÏһƪ£º µçÁ÷¼ì²âµç×è
- ÏÂһƪ£º ³£Óõç×èÐÔÄܵıȽÏ