Example Image´ó·¢28

ÔÚÕâÀï¸æËßÎÒÃÇÄúµÄÐèÇó°É

ÎÒÃÇ¿ÉÒÔ¸ü¿ìµÄÏàʶÄúµÄÐèÇó
ÆóÒµÈ˲ÅÕÐÆ¸ÐèÇó·´Ïì

È˲ÅÐèÇó


ÁªÏµÈË&ÁªÏµ·½·¨


ÔÚÕâÀï¸æËßÎÒÃÇÄúµÄÐèÇó°É

ÎÒÃÇ¿ÉÒÔ¸ü¿ìµÄÏàʶÄúµÄÐèÇó
ÆóÒµÍÅÅà±íµ¥
´ó·¢28¡¤(ÖйúÓÎ)¹Ù·½ÍøÕ¾

¡¸FPGAÐÂÊÖµ½ÄÚÐбؿ´£¡4´óʵս°¸ÀýÆÊÎö²î±ðÓë½ø½×ÃØóÅ¡¹

¡¸FPGAÐÂÊÖµ½ÄÚÐбؿ´£¡4´óʵս°¸ÀýÆÊÎö²î±ðÓë½ø½×ÃØóÅ¡¹

FPGAÐÂÊÖ vs ÄÚÐеġ°´ÎÔª±Ú¡±£º´Ó´úÂ뵽ͷÄÔµÄȫά¶ÈÄëѹ£¨¸½ÕæÊµ°¸Àý²ð½â£©

A comparison of UART module design between novice and expert FPGA developers

ÔÚFPGAµÄÊÀ½çÀ£¬£¬£¬£¬ £¬ÐÂÊÖºÍÄÚÐÐÖ®¼äÍùÍù¸ô×ÅÒ»Ìõ¡°ÂíÀïÑÇÄɺ£¹µ¡±¡ª¡ª¿´Ëƶ¼ÔÚдVerilog¡¢µ÷ʱÐò£¬£¬£¬£¬£¬ £¬µ«´úÂëÖÊÁ¿¡¢Éè¼ÆÍ·ÄÔºÍÎÊÌâ½â¾öÄÜÁ¦È´ÓÐÌìÈÀÖ®±ð¡£¡£¡£¡£¡£±¾ÎÄͨ¹ý4¸öÕæÊµ¿ª·¢³¡¾°£¬£¬£¬£¬£¬ £¬´øÄã¿´¶®²î±ðÊÂʵÔÚÄÄ£¬£¬£¬£¬£¬ £¬ÒÔ¼°ÔõÑù¿çÔ½ÕâµÀºè¹µ¡£¡£¡£¡£¡£


Ò»¡¢ÃæÁÙÐèÇó£ºÐÂÊÖ¡°î­ÕßÃþÏó¡±£¬£¬£¬£¬£¬ £¬ÄÚÐС°âÒ¶¡½âÅ£¡±

°¸Àý£ºÊµÏÖÒ»¸öUART´®¿ÚͨѶÄ£¿£¿£¿£¿é

  • ÐÂÊÖ²Ù×÷
    • Ö±½ÓÕÕ°á¿Î±¾´úÂ룬£¬£¬£¬£¬ £¬Î´Ë¼Á¿ÏÖʵ³¡¾°ÐèÇó£¨Èç²¨ÌØÂÊ×Ô˳Ӧ¡¢ÆæÅ¼Ð£Ñé¿ÉÉèÖã©
    • ״̬»úÉè¼ÆÔÓÂÒ£¬£¬£¬£¬£¬ £¬½«¡°·¢ËÍ+ÎüÊÕ¡±¹¦Ð§Ó²Èû½øÍ³Ò»Ä£¿£¿£¿£¿é£¬£¬£¬£¬£¬ £¬µ¼ÖÂʱÐò³åÍ»
    • ×ÊÔ´ÏûºÄ±¨¸æÏÔʾ£ºÕ¼ÓÃLUTs 1200£¬£¬£¬£¬£¬ £¬ÏÖʵÐèÇó½öÐè600
  • ÄÚÐвÙ×÷
    • ÐèÇó²ð½â£º½«Ä£¿£¿£¿£¿é²ð·ÖΪ¡°²¨ÌØÂʱ¬·¢Æ÷¡±¡°·¢ËÍÒýÇæ¡±¡°ÎüÊÕÒýÇæ¡±Èý²ã¼Ü¹¹£¬£¬£¬£¬£¬ £¬Ô¤ÁôAXI-Stream½Ó¿Ú
    • ²ÎÊý»¯Éè¼Æ£ºÍ¨¹ýºê½ç˵֧³Ö¶¯Ì¬ÉèÖÃÊý¾Ýλ¿í£¨5-9룩¡¢Ð£Ñé·½·¨£¨Ææ/ż/ÎÞ£©
    • ×ÊÔ´ÓÅ»¯£º¸´ÓÃ·ÖÆµ¼ÆÊýÆ÷Âß¼­£¬£¬£¬£¬£¬ £¬×îÖÕLUTsÕ¼Óýö450

ʵÖʲî±ð£º
ÄÚÐÐÓá°ÏµÍ³Í·ÄÔ¡±½â¹¹ÐèÇ󣬣¬£¬£¬£¬ £¬Ïñ´îÀÖ¸ßÒ»Ñù¹¹½¨¿É¸´ÓᢿÉÀ©Õ¹µÄIPºË£»£»£»£»ÐÂÊÖÔòÏÝÈë¡°¹¦Ð§¶ÑÆö¡±£¬£¬£¬£¬£¬ £¬´úÂëÓÌÈç¡°Òâ´óÀûÃæÌõ¡±¾À²ø²»Çå¡£¡£¡£¡£¡£


¶þ¡¢Ê±ÐòÔ¼Êø£ºÐÂÊÖ¡°ÍöÑò²¹ÀΡ±£¬£¬£¬£¬£¬ £¬ÄÚÐС°Î´Óê³ñçÑ¡±

°¸Àý£ºDDR3¿ØÖÆÆ÷ʱÐòÊÕÁ²

  • ÐÂÊÖ·­³µÏÖ³¡
    • δÌáǰÍýÏëʱÖÓÓò£¬£¬£¬£¬£¬ £¬µ¼Ö¿çʱÖÓÓòÐźÅÖ±½ÓÏàÁ¬
    • ʱÐò±¨¸æ±¨ºìºó£¬£¬£¬£¬£¬ £¬Ã¤Ä¿Ìí¼Ófalse_pathÔ¼ÊøÑÚÊÎÎÊÌâ
    • ×îÖÕ°å¼¶²âÊÔ·ºÆðÊý¾Ý¶ª°ü£¬£¬£¬£¬£¬ £¬±»ÆÈ·µ¹¤ÖØ×öPCB
  • ÄÚÐÐÔ¤ÅвßÂÔ
    • Éè¼Æ½×¶Î£ºÌáǰ»®·Ö¡°DDR PHYʱÖÓÓò¡±¡°Óû§Âß¼­Ê±ÖÓÓò¡±£¬£¬£¬£¬£¬ £¬²åÈëCDCͬ²½Æ÷
    • Ô¼Êø½×¶Î£ºÓÃset_clock_groupsÉùÃ÷Ò첽ʱÖÓ£¬£¬£¬£¬£¬ £¬¶ÔÒªº¦Â·¾¶set_max_delay
    • ÑéÖ¤½×¶Î£ºÓÃVivadoµÄʱÐòÏòµ¼ÌìÉúÑÛͼ±¨¸æ£¬£¬£¬£¬£¬ £¬ÌáǰÓÅ»¯½á¹¹

½¹µã²î±ð£º
ÄÚÐаÑʱÐòÔ¼ÊøÊÓΪÉè¼Æ¹æ·¶£¬£¬£¬£¬£¬ £¬´ÓRTL±àÂë½×¶Î¾Í¹æ±ÜΣº¦£»£»£»£»ÐÂÊÖÈ´°ÑËüµ±¡°´´¿ÉÌù¡±£¬£¬£¬£¬£¬ £¬Ö±µ½×ÛºÏʧ°Ü²Å»Åæµ÷½â¡£¡£¡£¡£¡£


Èý¡¢DebugÄÜÁ¦£ºÐÂÊÖ¡°µØÌºÊ½ºäÕ¨¡±£¬£¬£¬£¬£¬ £¬ÄÚÐС°¾«×¼ÍµÏ®¡±

°¸Àý£ºÍ¼Ïñ´¦Öóͷ£ÏµÍ³Êä³ö»¨ÆÁ

  • ÐÂÊֵġ°¾øÍûÑ­»·¡±
    • äĿÐ޸ģºÔÚ¡°FIFOÉî¶È¡±¡°ÏñËØÊ±ÖÓ·ÖÆµ±È¡±µÈ20+¸ö²ÎÊý¼äËæ»úµ÷½â
    • µ÷ÊÔÒªÁ죺½ö¿¿SignalTap IIץȡ²¿·ÖÐźÅ£¬£¬£¬£¬£¬ £¬Î´½¨Éèϵͳ»¯ÊÓ²ìµã
    • ºÄʱ3ÌìÈÔδ¶¨Î»ÎÊÌ⣬£¬£¬£¬£¬ £¬×îÖÕÇóÖúÂÛ̳
  • ÄÚÐеġ°Íâ¿ÆÊÖÊõ¡±
    • ÎÊÌ⸴ÏÖ£º½á¹¹»Ò¶È½¥±ä²âÊÔͼ£¬£¬£¬£¬£¬ £¬Ëø¶¨»¨ÆÁ·ºÆðÔÚ¸ßÁÁ¶ÈÇøÓò
    • Á´Â·ÆÊÎö£ºÔÚ¡°Ù¤ÂíУÕýÄ£¿£¿£¿£¿é¡±Êä³ö²åÈëILA£¬£¬£¬£¬£¬ £¬·¢Ã÷Êý¾ÝÒç³öµ¼Ö½ضÏ
    • ¿ìËÙÐÞ¸´£º½«Ð£ÕýϵÊý´Ó8bit¶¨µãÊý¸ÄΪ12bitÓзûºÅÊý£¬£¬£¬£¬£¬ £¬ºÄʱ2Сʱ

½µÎ¬¹¥»÷£º
ÄÚÐÐÏñ¡°FPGAÕì̽¡±£¬£¬£¬£¬£¬ £¬Ó÷ֲã¸ôÀë+¿ÆÑ§ÊÓ²ìËõСÎÊÌâ¹æÄ££»£»£»£»ÐÂÊÖÓÌÈç¡°ÎÞÍ·²ÔÓ¬¡±£¬£¬£¬£¬£¬ £¬ÓÃÊÔ´í·¨ÅöÔËÆø¡£¡£¡£¡£¡£


ËÄ¡¢¹¤³ÌÍ·ÄÔ£ºÐÂÊÖ¡°Æ¾¿ÕÄóÔ족£¬£¬£¬£¬£¬ £¬ÄÚÐС°Ô˳ïá¡á¢¡±

°¸Àý£º¿ª·¢¼¤¹âÀ×´ïÐźŴ¦Öóͷ£ÏµÍ³

  • ÐÂÊֵġ°ÊµÑéÊÒÍ·ÄÔ¡±
    • ½ö¹Ø×¢¹¦Ð§ÊµÏÖ£¬£¬£¬£¬£¬ £¬Î´Ë¼Á¿Á¿²úÐèÇó£¨ÈçζÈÅâ³¥¡¢¹Ì¼þÉý¼¶½Ó¿Ú£©
    • ʹÓôó×ÚBlock RAM´æ´¢²éÕÒ±í£¬£¬£¬£¬£¬ £¬µ¼ÖÂоƬ±¾Ç®³¬Ô¤Ëã30%
    • ½»¸¶ºó¿Í»§·´Ïì-40¡æÇéÐÎÏÂÊÂÇéÒì³££¬£¬£¬£¬£¬ £¬Ðè½ôÆÈÈÈÉè¼Æ
  • ÄÚÐеġ°²úÆ·»¯Êӽǡ±
    • ±¾Ç®¿ØÖÆ£ºÓÃDistributed RAMÌæ»»Block RAM£¬£¬£¬£¬£¬ £¬½ÚÔ¼15%Ð¾Æ¬Ãæ»ý
    • ³°ôÐÔÉè¼Æ£ºÖ²Èëζȴ«¸ÐÆ÷£¬£¬£¬£¬£¬ £¬¶¯Ì¬µ÷½âSPIʱÖÓËÙÂÊ
    • ¿Éά»¤ÐÔ£ºÔ¤ÁôJTAGµ÷ÊÔÁ´£¬£¬£¬£¬£¬ £¬Ö§³ÖÔ¶³Ì¹Ì¼þOTAÉý¼¶

Í·ÄԺ蹵£º
ÄÚÐÐÓá°²úƷ˾Àí+¹¤³Ìʦ¡±Ë«ÖØÊӽǣ¬£¬£¬£¬£¬ £¬Æ½ºâÐÔÄÜ¡¢±¾Ç®¡¢¿É¿¿ÐÔ£»£»£»£»ÐÂÊÖ¾ÖÏÞÓÚ¡°¿Î³ÌʵÑ顱¼¶¿ª·¢£¬£¬£¬£¬£¬ £¬ºöÊÓÕæÊµ¹¤³ÌÔ¼Êø¡£¡£¡£¡£¡£


¿çÔ½ºè¹µ£ºÖØÐÂÊÖµ½ÄÚÐеġ°×÷±×Æ÷¡±

1?? ½¨Éè¡°IPºËÍ·ÄÔ¡±

  • °Ñÿ¸öÄ£¿£¿£¿£¿é¿´³É¿É¸´ÓõÄIPÉè¼Æ£¬£¬£¬£¬£¬ £¬×ñÕÕAMBA/AXIµÈ±ê×¼½Ó¿Ú
  • ²Î¿¼Xilinx UltraScale ArchitectureÊÖ²áѧϰ¼Ü¹¹ÓÅ»¯¼¼ÇÉ

2?? ÕÆÎÕ¡°Ô¼ÊøÇý¶¯Éè¼Æ¡±

  • ÔÚ±àдµÚÒ»ÐÐRTL´úÂëǰ£¬£¬£¬£¬£¬ £¬ÏÈÖÆ¶©Ê±ÖÓ¡¢I/O¡¢ÆÆÀýÔ¼Êø²ßÂÔ
  • ʹÓÃTcl¾ç±¾×Ô¶¯»¯Ô¼Êø¹ÜÀí£¨Àý£º¶¯Ì¬ÌìÉú²î±ð¹¤ÒÕ½ÚµãµÄÔ¼ÊøÎļþ£©

3?? ÐÞÁ¶¡°ÏµÍ³¼¶Debug¹¦·¨¡±

  • ÕÆÎÕVivado ILA¡¢SystemVerilog AssertionµÈ¸ß¼¶µ÷ÊÔ¹¤¾ß
  • ¶ÔÖØ´óÎÊÌâ½ÓÄÉ¡°¶þ·Ö·¨¸ôÀ롱£¨Àý£ºÖð¼¶ÅÔ·Ä£¿£¿£¿£¿éÈ·ÈϹÊÕϵ㣩

4?? ¼ÓÈëÆóÒµ¼¶ÏîÄ¿´ãÁ¶

  • ¼ÓÈë´ó·¢28¹úо¡¶FPGAϵͳÉè¼ÆÊµÕ½Óª¡·£¬£¬£¬£¬£¬ £¬ÔÚ»ªÎª/ÈüÁé˼µ¼Ê¦Ïòµ¼Ï£º
    • 2ÖÜÍê³É¡°5Gǰ´«FPGA¼ÓËÙ¿¨¡±È«Á÷³Ì¿ª·¢
    • ½âËø¡°µÍ¹¦ºÄÓÅ»¯¡±¡°¸ßËÙSerDesÓ¦ÓᱵȽø½×¼¼ÄÜÊ÷

½áÓFPGAûÓС°¶ÙÎò¡±£¬£¬£¬£¬£¬ £¬Ö»ÓС°½¥ÐÞ¡±
ÿһ¸öÄÚÐж¼ÔøÊÇÃæÔÝÇÒÐò±¨¸æÉªÉª²ü¶¶µÄÐÂÈË¡£¡£¡£¡£¡£ÓëÆäÔÚÂÛ̳Ë鯬»¯Ịֽ̀¬£¬£¬£¬£¬ £¬²»Èçͨ¹ýϵͳ»¯Ñ§Ï°+ÕæÊµÏîÄ¿ÄëѹʵÏÖÍɱ䡣¡£¡£¡£¡£ÏÖÔÚµã»÷Ï·½Á´½Ó£¬£¬£¬£¬£¬ £¬»ñÈ¡¡¶FPGA¹¤³ÌʦÄÜÁ¦½ø½×õ辶ͼ¡·£¬£¬£¬£¬£¬ £¬ÈÃÄãµÄ´úÂëÀë±ð¡°Ñ§ÉúÆø¡±£¬£¬£¬£¬£¬ £¬ÓµÓС°¹¤Òµ¼¶¡±Áé»ê£¡

Timing constraint strategies for DDR3 controller design
´ó·¢28¡¤(ÖйúÓÎ)¹Ù·½ÍøÕ¾
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿