1. Ãæ»ýÓëËٶȵÄƽºâÓ뻥»»
ÕâÀïµÄÃæ»ýÖ¸Ò»¸öÉè¼ÆÏûºÄFPGA/CPLDµÄÂß¼×ÊÔ´µÄÊýÁ¿£¬¶ÔÓÚFPGA¿ÉÒÔÓÃÏûºÄµÄFF£¨´¥·¢Æ÷£©ºÍLUT£¨²éÕÒ±í£©À´ºâÁ¿£¬¸üÒ»°ãµÄºâÁ¿·½Ê½¿ÉÒÔÓÃÉè¼ÆËùÕ¼µÄµÈ¼ÛÂß¼
ËÙ¶ÈÖ¸Éè¼ÆÔÚоƬÉÏÎȶ¨ÔËÐÐËùÄÜ´ïµ½µÄ×î¸ßƵÂÊ£¬Õâ¸öƵÂÊÓÉÉè¼ÆµÄʱÐò×´¿öÀ´¾ö¶¨£¬ÒÔ¼°Éè¼ÆÂú×ãµÄʱÖÓÒªÇó£ºPAD to PAD time ¡¢Clock Setup Time¡¢Clock Hold Time¡¢Clock-to-Output DelayµÈÖÚ¶àʱÐòÌØÕ÷Á¿ÃÜÇÐÏà¹Ø¡£
Ãæ»ýºÍËÙ¶ÈÕâÁ½¸öÖ¸±ê¹á´©FPGA/CPLDÉè¼ÆµÄʱÖÓ£¬ÊÇÉè¼ÆÖÊÁ¿µÄÆÀ¼ÛµÄÖÕ¼«±ê×¼ ¡ª¡ª Ãæ»ýºÍËÙ¶ÈÊÇÒ»¶Ô¶ÔÁ¢Í³Ò»µÄì¶ÜÌå¡£
ÒªÇóÒ»¸öͬʱ¾ß±¸Éè¼ÆÃæ»ý×îС¡¢ÔËÐÐƵÂÊ×î¸ßÊDz»ÏÖʵµÄ¡£¸ü¿ÆѧµÄÉè¼ÆÄ¿±êÓ¦¸ÃÊÇÔÚÂú×ãÉè¼ÆʱÐòÒªÇ󣨰üÀ¨¶ÔÉè¼ÆƵÂʵÄÒªÇ󣩵ÄÇ°ÌáÏ£¬Õ¼ÓÃ×îСµÄоƬÃæ»ý¡£»òÕßÔÚËù¹æ¶¨µÄÃæ»ýÏ£¬ÊÇÉè¼ÆµÄʱÐòÓàÁ¿¸ü´ó¡¢ÆµÂÊÅܵĸü¸ß¡£ÕâÁ½ÖÖÄ¿±ê³ä·ÖÌåÏÖÁËÃæ»ýºÍËٶȵÄƽºâµÄ˼Ïë¡£¡¡¡¡
2. Ó²¼þÔÔò
Ó²¼þÔÔòÖ÷ÒªÕë¶ÔHDL´úÂë±àд¶øÑÔ£ºVerilogÊDzÉÓÃÁËCÓïÑÔÐÎʽµÄÓ²¼þµÄ³éÏó£¬ËüµÄ±¾ÖÊ×÷ÓÃÔÚÓÚÃèÊöÓ²¼þ£¬ËüµÄ×îÖÕʵÏÖ½á¹ûÊÇоƬÄÚ²¿µÄʵ¼Êµç·¡£ËùÒÔÆÀÅÐÒ»¶ÎHDL´úÂëµÄÓÅÁÓµÄ×îÖÕ±ê×¼ÊÇ£ºÆäÃèÊö²¢ÊµÏÖµÄÓ²¼þµç·µÄÐÔÄÜ£¬°üÀ¨Ãæ»ýºÍËÙ¶ÈÁ½¸ö·½Ãæ¡£
³õѧÕßƬÃæ×·Çó´úÂëµÄÕû½à¡¢¼ò¶Ì£¬ÊÇ´íÎóµÄ£¬ÊÇÓëHDLµÄ±ê×¼±³µÀ¶ø³ÛµÄ¡£ÕýÈ·µÄ±àÂë·½·¨£¬Ê×ÏÈÒª×öµ½¶ÔËùÐèʵÏÖµÄÓ²¼þµç·ÐØÓгÉÖñ£¬¶Ô¸Ã²¿·ÖµÄÓ²¼þµÄ½á¹¹ºÍÁ¬½ÓÊ®·ÖÇåÎú£¬È»ºóÔÙÓÃÊʵ±µÄHDLÓï¾ä±í´ï³öÀ´¼´¿É¡£
3. ϵͳÔÔò
ϵͳÔÔò°üº¬Á½¸ö²ã´ÎµÄº¬Ò壺¸ü¸ß²ãÃæÉÏ¿´£¬ÊÇÒ»¸öÓ²¼þϵͳ£¬Ò»¿éµ¥°åÈçºÎ½øÐÐÄ£¿é»¨·ÑºÍÈÎÎñ·ÖÅ䣬ʲôÑùµÄËã·¨ºÍ¹¦ÄÜÊʺϷÅÔÚFPGAÀïÃæʵÏÖ£¬Ê²Ã´ÑùµÄËã·¨ºÍ¹¦ÄÜÊʺϷÅÔÚDSP/CPUÀïÃæʵÏÖ£¬ÒÔ¼°FPGAµÄ¹æÄ£¹ÀËãÊý¾Ý½Ó¿ÚÉè¼ÆµÈ¡£¾ßÌåµ½FPGAÉè¼Æ¾ÍÒª¶ÔÉè¼ÆµÄÈ«¾ÖÓиöºê¹ÛÉϵĺÏÀí°²ÅÅ£¬±ÈÈçʱÖÓÓò¡¢Ä£¿é¸´Óá¢Ô¼Êø¡¢Ãæ»ý¡¢ËٶȵÈÎÊÌ⣬ÔÚϵͳÉÏÄ£¿éµÄÓÅ»¯×îΪÖØÒª¡£
±ÈÈçFPGAÒ»°ã´¥·¢Æ÷×ÊÔ´·á¸»£¬CPLDµÄ×éºÏÂß¼×ÊÔ´¸ü¼Ó·á¸»¡£FPGA/CPLDÒ»°ãÊÇÓɵײã¿É±à³ÌÓ²¼þµ¥Ôª¡¢BRAM¡¢²¼Ïß×ÊÔ´¡¢¿ÉÅäÖÃIOµ¥Ôª¡¢Ê±ÖÓ×ÊÔ´µÈ¹¹³É¡£¡¡¡¡
Ò»°ãµÄFPGAϵͳ¹æ»®µÄ¼ò»¯Á÷³Ì
4. ͬ²½Éè¼ÆÔÔò
Òì²½µç·µÄÂß¼ºËÐÄÊÇÓÃ×éºÏÂß¼µç·ʵÏÖ£¬±ÈÈçÒì²½µÄFIFO/RAM¶ÁдÐźţ¬µØÖ·ÒëÂëµÈµç·¡£µç·µÄÖ÷ÒªÐźš¢Êä³öÐźŵȲ¢²»ÒÀÀµÓÚÈκÎÒ»¸öʱÖÓÐÔÐźţ¬²»ÊÇÓÉʱÖÓÐźÅÇý¶¯FF²úÉúµÄ¡£Ò첽ʱÐòµç·µÄ×î´óȱµãÊÇÈÝÒײúÉúë´Ì£¬ÔÚ²¼¾Ö²¼Ïߺó·ÂÕæºÍÓÃÂß¼·ÖÎöÒǹ۲âʵ¼ÊÐźÅʱ£¬ÕâÖÖë´ÌÓÈÆäÃ÷ÏÔ¡£
ͬ²½Ê±Ðòµç·µÄºËÐÄÂß¼Óø÷ÖÖ¸÷ÑùµÄ´¥·¢Æ÷ʵÏÖ£¬µç·µÄÖ÷ÒªÐźš¢Êä³öÐźŶ¼ÊÇÓÉij¸öʱÖÓÑØÇý¶¯´¥·¢Æ÷²úÉú³öÀ´µÄ¡£Í¬²½Ê±Ðòµç·¿ÉÒԺܺõıÜÃâë´Ì£¬²¼¾Ö²¼Ïߺó·ÂÕ棬ºÍÓÃÂß¼·ÖÎöÒDzÉÑùʵ¼Ê¹¤×÷ÐźŶ¼Ã»ÓÐë´Ì¡£¡¡¡¡
5. ƹÅÒ²Ù×÷
¡° ƹÅÒ²Ù×÷ ¡± ÊÇÒ»¸ö³£³£Ó¦ÓÃÓÚÊý¾ÝÁ÷¿ØÖƵĴ¦Àí¼¼ÇÉ£¬
6. ´®²¢×ª»»Éè¼Æ¼¼ÇÉ
´®²¢×ª»»ÊÇ FPGA Éè¼ÆµÄÒ»¸öÖØÒª¼¼ÇÉ£¬ËüÊÇÊý¾ÝÁ÷´¦ÀíµÄ³£ÓÃÊֶΣ¬Ò²ÊÇÃæ»ýÓëËٶȻ¥»»Ë¼ÏëµÄÖ±½ÓÌåÏÖ¡£´®²¢×ª»»µÄʵÏÖ·½·¨¶àÖÖ¶àÑù£¬¸ù¾ÝÊý¾ÝµÄÅÅÐòºÍÊýÁ¿µÄÒªÇ󣬿ÉÒÔÑ¡ÓüĴæÆ÷¡¢ RAM µÈʵÏÖ¡£
7. Á÷Ë®Ïß²Ù×÷Éè¼Æ˼Ïë
Ê×ÏÈÐèÒªÉùÃ÷µÄÊÇ£¬ÕâÀïËù½²ÊöµÄÁ÷Ë®ÏßÊÇÖ¸Ò»ÖÖ´¦ÀíÁ÷³ÌºÍ˳Ðò²Ù×÷µÄÉè¼Æ˼Ï룬²¢·Ç FPGA ¡¢ ASIC Éè¼ÆÖÐÓÅ»¯Ê±ÐòËùÓÃµÄ ¡°Pipelining¡± ¡£
Á÷Ë®Ïß´¦ÀíÊǸßËÙÉè¼ÆÖеÄÒ»¸ö³£ÓÃÉè¼ÆÊֶΡ£Èç¹ûij¸öÉè¼ÆµÄ´¦ÀíÁ÷³Ì·ÖΪÈô¸É²½Ö裬¶øÇÒÕû¸öÊý¾Ý´¦ÀíÊÇ ¡° µ¥Á÷Ïò ¡± µÄ£¬¼´Ã»Óз´À¡»òÕßµü´úÔËË㣬ǰһ¸ö²½ÖèµÄÊä³öÊÇÏÂÒ»¸ö²½ÖèµÄÊäÈ룬Ôò¿ÉÒÔ¿¼ÂDzÉÓÃÁ÷Ë®ÏßÉè¼Æ·½·¨À´Ìá¸ßϵͳµÄ¹¤×÷ƵÂÊ¡£
8. Êý¾Ý½Ó¿ÚµÄͬ²½·½·¨
Êý¾Ý½Ó¿ÚµÄͬ²½ÊÇ FPGA/CPLD Éè¼ÆµÄÒ»¸ö³£¼ûÎÊÌ⣬ҲÊÇÒ»¸öÖصãºÍÄѵ㣬ºÜ¶àÉè¼Æ²»Îȶ¨¶¼ÊÇÔ´ÓÚÊý¾Ý½Ó¿ÚµÄͬ²½ÓÐÎÊÌâ¡£ÔÚµç·ͼÉè¼Æ½×¶Î£¬Ò»Ð©¹¤³ÌʦÊÖ¹¤¼ÓÈë BUFT »òÕß·ÇÃŵ÷ÕûÊý¾ÝÑÓ³Ù£¬´Ó¶ø±£Ö¤±¾¼¶Ä£¿éµÄʱÖÓ¶ÔÉϼ¶Ä£¿éÊý¾ÝµÄ½¨Á¢¡¢±£³Öʱ¼äÒªÇó¡£
»¹ÓÐһЩ¹¤³ÌʦΪÁËÓÐÎȶ¨µÄ²ÉÑù£¬Éú³ÉÁ˺ܶàÏà²î 90 ¶ÈµÄʱÖÓÐźţ¬Ê±¶øÓÃÕýÑØ´òÒ»ÏÂÊý¾Ý£¬Ê±¶øÓøºÑØ´òÒ»ÏÂÊý¾Ý£¬ÓÃÒÔµ÷ÕûÊý¾ÝµÄ²ÉÑùλÖá£ÕâÁ½ÖÖ×ö·¨¶¼Ê®·Ö²»¿ÉÈ¡£¬ÒòΪһµ©Ð¾Æ¬¸üл»´ú»òÕßÒÆÖ²µ½ÆäËüоƬ ×éµÄоƬÉÏ£¬²ÉÑùʵÏÖ±ØÐëÖØÐÂÉè¼Æ¡£¶øÇÒ£¬ÕâÁ½ÖÖ×ö·¨Ôì³Éµç·ʵÏÖµÄÓàÁ¿²»¹»£¬Ò»µ©Íâ½çÌõ¼þ±ä»» ( ±ÈÈçζÈÉý¸ß ) £¬²ÉÑùʱÐò¾ÍÓпÉÄÜÍêÈ«ÎÉÂÒ£¬Ôì³Éµç·̱»¾¡£
ÏëתÐл¥ÁªÍø£¬È´ÓÖ²»ÖªµÀÈçºÎÑ¡Ôñ£¬Ò»Ö±ºÜÃÔã¡¢³ì³ù£¬ÏÖÔÚ²»±ØÔÙµ£ÓÇ£¬26ÃÅÈÈÃÅ»¥ÁªÍø¼¼ÊõÃâ·ÑÊÔÌý5Ì죬Äã¿ÉÒÔÏÈÊÔÌý£¬ÔÙ¾ö¶¨£¡
Ç°ÍùÐÅÓ¯´ï¹ÙÍø£¬×Éѯ¿Î³Ì¡¢Ñ§Ï°¡¢¾ÍÒµ¡¢Ð½×ʵÈÏà¹ØÎÊÌâ¡£