µ±Ç°Î»ÖãºÊ×Ò³ > FPGAÊý×ÖÃë±íÉè¼Æ
»ùÓÚEDAµÄÊý×ÖÃë±í
Éè¼ÆÂÛÎÄ
°à¼¶£ºÍ¬×éÈËÔ±£ºËïÐËÒå
µçÐŶþ°à
20111060223 ÕÅÖÒÒå 20111060240
11
»ùÓÚEDAµÄÊý×ÖÃë±íÉè¼Æ
ÕªÒª£º¸ÃÉè¼ÆÊÇÓÃÓÚÌåÓý±ÈÈüµÄÊý×ÖÃë±í,»ùÓÚEDAÔÚQuartus II 9.0sp2Èí¼þÏÂÓ¦ÓÃVHDLÓïÑÔ±àд³ÌÐò,²ÉÓÃALTRA¹«Ë¾CycloneIIϵÁеÄEP2C8Q208оƬ½øÐÐÁ˼ÆËã»ú·ÂÕæ£¬²¢¸ø³öÁËÏàÓ¦µÄ·ÂÕæ½á¹û¡£±¾Éè¼ÆÓÐЧµÄ¿Ë·þÁË´«Í³µÄÊý×ÖÃë±íµÄȱµã²ÉÓÃEDA¼¼Êõ²ÉÈ¡×ÔÉ϶øÏµÄÉè¼ÆË¼Â·¡£»æÖƳöÁ˾ßÌåµÄÂß¼µç·£¬×îºóÓÖͨ¹ýÓ²¼þÉÏ¶ÔÆä½øÐе÷ÊÔºÍÑéÖ¤¡£¸Ãµç·Äܹ»ÊµÏֺܺõļÆÊ±¹¦ÄÜ,¼ÆÊ±¾«¶È¸ß£¬×¼ÆÊ±Ê±¼ä¿É´ïÒ»¸öСʱ¡£
¹Ø¼ü×Ö£ºÊý×ÖÃë±í£»EDA£»FPGA£»VHDL£»Quartus II
1 ÒýÑÔ
ÔڿƼ¼¸ß¶È·¢Õ¹µÄ½ñÌ죬¼¯³Éµç·ºÍ¼ÆËã»úÓ¦Óõõ½Á˸ßËÙ·¢Õ¹¡£ÓÈÆäÊǼÆËã»úÓ¦Óõķ¢Õ¹¡£ËüÔÚÈËÃÇÈÕ³£Éú»îÒÑÖð½¥Õ¸Â¶Í·½Ç¡£´ó¶àÊýµç×Ó²úÆ·¶àÊÇÓɼÆËã»úµç·×é³É£¬È磺ÊÖ»ú¡¢mp3µÈ¡£¶øÇÒ½«À´µÄ²»¾ÃËûÃǵÄÉíÓ°½«»á¸üƵ·±µÄ³öÏÖÔÚÎÒÃÇÉí±ß¡£¸÷ÖÖ¼ÒÓõçÆ÷¶à»áʵÏÖ΢µçÄÔ¼¼Êõ¡£µçÄÔ¸÷²¿·ÖÔÚ¹¤×÷ʱ¶àÊÇһʱ¼äΪ»ù×¼µÄ¡£±¾ÎľÍÊÇ»ùÓÚ¼ÆËã»úµç·µÄʱÖÓÂö³åÐźš¢×´Ì¬¿ØÖƵÈÔÀíÉè¼Æ³öµÄÊý×ÖÃë±í[1]¡£Ãë±íÔںܶàÁìÓò³äµ±Ò»¸öÖØÒªµÄ½ÇÉ«¡£ÔÚ¸÷ÖÖ±ÈÈüÖжÔÃë±íµÄ¾«È·¶ÈÒªÇóºÜ¸ß£¬ÓÈÆäÊÇһЩ¿ÆÑ§ÊµÑé¡£ËûÃǶÔʱ¼ä¾«È·¶È´ïµ½Á˼¸ÄÉÃë¼¶±ð¡£
2 Éè¼ÆÒªÇó
(1) ÄܶÔ0Ãë¡«59·Ö59.99Ã뷶Χ½øÐмÆÊ±£¬ÏÔʾ×ʱ¼äÊÇ59·Ö59Ã룻 (2) ¼ÆÊ±¾«¶È´ïµ½0.01s£»
(3) Éè¼Æ¸´Î»¿ª¹ØºÍÆôÍ£¿ª¹Ø£¬¸´Î»¿ª¹Ø¿ÉÒÔÔÚÈκÎÇé¿öÏÂʹÓã¬Ê¹ÓÃÒÔºó¼ÆÊ±Æ÷ÇåÁ㣬²¢×öºÃÏÂÒ»´Î¼ÆÊ±µÄ×¼±¸¡£Éè¼ÆÓÉ¿ØÖÆÄ£¿é¡¢Ê±»ù·ÖƵģ¿é£¬¼ÆÊ±Ä£¿éºÍÏÔʾģ¿éËIJ¿·Ö×é³É¡£¸÷Ä£¿éʵÏÖÃë±í²»Í¬µÄ¹¦ÄÜ 3 Êý×ÖÃë±íÉè¼ÆµÄÄ¿µÄ
±¾´ÎÉè¼ÆµÄÄ¿µÄ¾ÍÊÇÔÚÕÆÎÕEDAʵÑ鿪·¢ÏµÍ³µÄ³õ²½Ê¹Óûù´¡ÉÏ£¬Á˽âEDA¼¼Êõ£¬¶Ô¼ÆËã»úϵͳÖÐʱÖÓ¿ØÖÆÏµÍ³½øÒ»²½ÁË½â£¬ÕÆÎÕ״̬»ú¹¤×÷ÔÀí£¬Í¬Ê±ÁË½â¼ÆËã»úʱÖÓÂö³åÊÇÔõô²úÉúºÍ¹¤×÷µÄ¡£ÔÚÕÆÎÕËùѧµÄ¼ÆËã»ú×é³ÉÓë½á¹¹¿Î³ÌÀíÂÛ֪ʶʱ¡£Í¨¹ý¶ÔÊý×ÖÃë±íµÄÉè¼Æ£¬½øÐÐÀíÂÛÓëʵ¼ÊµÄ½áºÏ£¬Ìá¸ßÓë¼ÆËã
»úÓйØÉè¼ÆÄÜÁ¦£¬Ìá¸ß·ÖÎö¡¢½â¾ö¼ÆËã»ú¼¼Êõʵ¼ÊÎÊÌâµÄÄÜÁ¦¡£Í¨¹ý¿Î³ÌÉè¼ÆÉîÈëÀí½â¼ÆËã»ú½á¹¹Óë¿ØÖÆÊµÏֵļ¼Êõ£¬´ïµ½¿Î³ÌÉè¼ÆµÄÄ¿±ê¡£
4 ϵͳÉè¼Æ¿òͼ
Æô¶¯/ÔÝÍ£ ¼ÆÊ± ¼ÆÊý ɨÃèÏÔ ÏÔʾλÊä³ö ¿ØÖÆÆ÷ µç· ʾµç· ÏÔʾ¶ÎÊä³ö ʱ»ù·ÖƵÆ÷ ʱÖÓ ÇåÁã ÈçÉÏͼËùʾ£¬¼ÆÊ±¿ØÖÆÆ÷µÄ×÷ÓÃÊÇ¿ØÖƼÆÊ±¡£¼ÆÊ±¿ØÖÆÆ÷µÄÊäÈëÐźÅÊÇÆô¶¯£¬ÔÝÍ£ºÍÇåÁ㡣Ϊ·ûºÏ¹ßÀý£¬½«Æô¶¯ºÍÔÝÍ£¹¦ÄÜÉèÖÃÔÚͬһ¸ö°´¼üÉÏ£¬°´Ò»´ÎÊÇÆô¶¯£¬°´µÚ¶þ´ÎÊÇÔÝÍ££¬°´µÚÈý´ÎÊÇÇåÁã¡£ËùÒÔ¼ÆÊ±¿ØÖÆÆ÷¹²ÓÐ2¸ö¿ª¹ØÊäÈëÐźţ¬¼´Æô¶¯/ÔÝÍ£ºÍÇåÁãÐźš£
¼ÆÊ±µç·µÄÊäÈëÐźš¢¼ÆÊýÔÊÐí£¬±£³ÖºÍÇåÁãÐźţ¬Êä³öΪ10Oms¡¢1sºÍminµÄ¼ÆÊ±Êý¾Ý¡£Ê±»ù·ÖƵÆ÷ÊÇÒ»¸ö·ÖƵÆ÷£¬²úÉú100msÖÜÆÚµÄÂö³å£®ÓÃÓÚ¼ÆÊ±µç·ʱÖÓÐźš£ÏÔʾµç·Ϊ¶¯Ì¬É¨Ãèµç·¡£ÓÃÒÔÏÔʾmin¡¢1s£¬100msÐźš£ 5 ¸÷Ä£¿éʵÏÖ
¼ÆÊ±Ä£¿éµÄ×÷ÓÃÊÇÕë¶Ô¼ÆÊ±¹ý³Ì½øÐпØÖÆ¡£¼ÆÊ±¿ØÖÆÄ£¿é¿ÉÓÃÁ©¸ö°´Å¥À´Íê³ÉÃë±íµÄÆô¶¯¡¢Í£Ö¹ºÍ¸´Î»¡£
ʱÖÓ·ÖÆµÄ£¿éµÄ×÷ÓðÑÊäÈëʱÖÓÐźűäΪ·ÖƵÊä³öÐźš£
¼ÆÊ±Ä£¿éÖ´ÐмÆÊ±¹¦ÄÜ£¬¼ÆÊ±·½·¨ºÍ¼ÆËã»úÒ»ÑùÊǶԱê׼ʱÖÓÂö³å¼ÆÊý¡£ËüÊÇÓÉÊ®½øÖƼÆÊýÆ÷ºÍÁù½øÖƼÆÊýÆ÷¹¹³É£¬ÆäÖкÁÃëλ¡¢Ê®ºÁÃëλ¡¢ÃëλºÍ·Öλ²ÉÓÃÊ®½øÖƼÆÊýÆ÷£¬Ê®ÃëλºÍÊ®·Öλ²ÉÓÃÁù½øÖƼÆÊýÆ÷¡£
¼ÆÊ±ÏÔʾµç·µÄ×÷ÓÃÊǽ«¼ÆÊ±ÖµÔÚLEDÊýÂë¹ÜÉÏÏÔʾ³öÀ´¡£¼ÆÊ±µç·²úÉúµÄÖµ¾¹ýBCDÆß¶ÎÒëÂëºó£¬Çý¶¯LEDÊýÂë¹Ü¡£¼ÆÊ±ÏÔʾµç·µÄʵÏÖ·½°¸²ÉÓÃɨÃèÏÔʾ¡£
6 ·ÂÕæÑÝʾ
7 ʵÑé½á¹ûÑÝʾ
5¡¢³ÌÐò (1)·ÖƵģ¿é£º
module fengpin(CLK,CLK1,CLK2); //ÊäÈë50MHz£¬Êä³ö·ÖƵµ½1Hz input CLK; output CLK1,CLK2; reg CLK1,CLK2;
reg[24:0] counter1; // Öмä±äÁ¿counter¶¨ÒåΪ¼Ä´æÆ÷ÐÍ reg[24:0] counter2;
parameter N1=500000;//50_000_000; parameter N2=2500;
¹²·ÖÏí92ƪÏà¹ØÎĵµ