Example Image´ó·¢28

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

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

È˲ÅÐèÇó


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


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

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

FPGA¿ª·¢¼¼ÊõÈ«¾°ÆÊÎöÓëZYNQϵÁнø½×Ö¸ÄÏ

FPGA¿ª·¢¼¼ÊõÈ«¾°ÆÊÎöÓëZYNQϵÁнø½×Ö¸ÄÏ

ZYNQ7000 and UltraScale+ MPSoC chip architecture comparison

Ò»¡¢½¹µãÓ²¼þƽ̨£ºZYNQϵÁÐоƬѡÐÍÖ¸ÄÏ

1. Ö÷Á÷оƬ¼Ü¹¹ÆÊÎö

  • ZYNQ7000ϵÁÐ
    • Ë«ºËCortex-A9 + Artix-7 FPGA¼Ü¹¹£¨µä·¶Ðͺţºxc7z020-clg484-1-i£©
    • ÊÊÓó¡¾°£º¹¤Òµ¿ØÖÆ¡¢ÖеÍÖØÆ¯ºóǶÈëʽϵͳ
  • ZYNQ UltraScale+ MPSoCϵÁÐ
    • ËĺËCortex-A53 + Ë«ºËR5 + UltraScale FPGA£¨µä·¶Ðͺţºxczu3eg-sfvc784-1-i£©
    • ½¹µãÓÅÊÆ£ºÖ§³Ö4KÊÓÆµ´¦Öóͷ£¡¢5GͨѶ»ù´øµÈ¸ßÐÔÄܳ¡¾°

2. ¿ª·¢°åÑ¡ÐͲßÂÔ

¶¨Î»ÍƼöÐͺ޹µãÌØµã
¸ß¶ËÑз¢ZCU102/ZC706PCIe Gen3¡¢10GÒÔÌ«ÍøµÈ¸ßËÙ½Ó¿Ú
ÈëÃÅѧϰZedboard/PYNQ-Z2ÉçÇø×ÊÔ´¸»ºñ £¬£¬£¬ÅäÌ×ʵÑéÍêÕû
ÐÔ¼ÛÀýÈç°¸ALINXϵÁйú²úÌæ»»Ê×Ñ¡ £¬£¬£¬ÍâÉèÀ©Õ¹ÐÔÇ¿

¶þ¡¢¿ª·¢¹¤¾ßÁ´È«¾°Í¼

1. Xilinx¹Ù·½¹¤¾ßÌ×¼þ

  • Vivado£ºÓ²¼þÂß¼­Éè¼Æ¡¢IPºË¼¯³É¡¢Ê±ÐòÔ¼Êø
  • Vitis£ºÒì¹¹ÅÌË㿪·¢Æ½Ì¨£¨PS+PLЭͬ±à³Ì£©
  • Vitis HLS£ºC/C++Ëã·¨Ó²¼þ¼ÓËÙʵÏÖ
  • Petalinux£ºÇ¶ÈëʽLinuxϵͳ¶¨Öƹ¤¾ß

2. ¿ªÔ´Éú̬¹¤¾ß

  • Yocto£º×Ô½ç˵Linux¿¯Ðа湹½¨¿ò¼Ü
  • U-Boot£º¶à½×¶ÎÖ¸µ¼¼ÓÔØÆ÷Éî¶È¶¨ÖÆ

Èý¡¢ÏµÍ³»¯Ñ§Ï°Â·¾¶Éè¼Æ

¨†½×¶Î1£º»ù´¡ÄÜÁ¦Öþ»ù
1. Ó²¼þ¿ª·¢ÈëÃÅ

  • Íê³É¾­µäʵÑ飺LEDÁ÷Ë®µÆ¡¢°´¼üÖÐÖ¹¡¢UARTͨѶ
  • ÕÆÎÕÉè¼ÆÁ÷³Ì£ºmermaidgraph LR A[VivadoÓ²¼þƽ̨´î½¨] --> B[VitisÂã»ú³ÌÐò¿ª·¢] B --> C[ÌìÉúBOOT.BINÆô¶¯Îļþ]
  • ÉîÈëÃ÷È·ZYNQÆôÄîÍ·ÖÆ£ºMulti-bootģʽ¡¢Golden¾µÏñ»Ö¸´

2. ÍâÉè¿ØÖÆÐÑÄ¿

  • ½¹µãÍâÉ裺SPI Flash¶Áд¡¢I2C´«¸ÐÆ÷Çý¶¯¡¢GPIOÖÐÖ¹¹ÜÀí
  • ¿ª·¢¼¼ÇÉ£º
    • HAL¿â¼Ä´æÆ÷¼¶²Ù×÷£¨»ùµØµã+Æ«ÒÆÁ¿»á¼û£©
    • Linux×°±¸Ê÷ÓëÇý¶¯Ä£×Ó¹ØÁªÆÊÎö

3. FPGAÂß¼­Éè¼Æ»ù´¡

  • ÓïÑÔÄÜÁ¦£ºVerilogÒªº¦Óï·¨£¨ÛÕ±Õ/·ÇÛÕ±Õ¸³Öµ¡¢×´Ì¬»ú±àÂ룩
  • Ó²¼þ¿´·¨£º
    • ²éÕÒ±í(LUT)/¿éRAM(BRAM)/´¥·¢Æ÷(FF)×ÊÔ´ÌØÕ÷
    • ʱÐòÔ¼ÊøÔ­Àí£¨½¨Éè/¼á³Öʱ¼äÆÊÎö£©

¨†½×¶Î2£ºÒ칹ϵͳ½ø½×
1. PS-PLЭͬÉè¼Æ

  • AXI×ÜÏßЭÒ龫½²£ºÐ­ÒéÀàÐÍÊý¾Ýλ¿íµä·¶Ó¦Óó¡¾°AXI4-Lite32bit¼Ä´æÆ÷ÉèÖÃAXI4128bit´óÊý¾ÝÁ¿´«ÊäAXI-StreamÎ޵صãÊÓÆµÁ÷´¦Öóͷ£
  • ʵս°¸Àý£º
    • PL¶ËʵÏÖPWM¿ØÖÆÆ÷ £¬£¬£¬PS¶Ëͨ¹ýAXI-Lite¶¯Ì¬µ÷ÀíÕ¼¿Õ±È
    • »ùÓÚAXI-DMAµÄǧÕ×ÒÔÌ«ÍøÊý¾Ý¼ÓËÙ´«Êä

2. ¶àºËϵͳ¼Ü¹¹Éè¼Æ

  • ZYNQ MPSoC¶à´¦Öóͷ£Æ÷¼Æ»®£º
+-------------------+     +-------------------+  
| Cortex-A53¼¯Èº    |<-->| Ë«ºËR5Ëø²½Ä£Ê½    |  
| (ÔËÐÐLinux)       |     | (FreeRTOSʵʱ¿ØÖÆ)|  
+-------------------+     +-------------------+  
        ¡ü¡ý                     ¡ü¡ý  
+-------------------+     +-------------------+  
| MicroBlazeÈíºË#1  |<-->| MicroBlazeÈíºË#2  |  
| (Bare-Metal)      |     | (FreeRTOS)        |  
+-------------------+     +-------------------+
Development board selection table with models and features
  • Òªº¦¼¼Êõµã£º
    • ÄÚ´æ·ÖÇø²ßÂÔ£¨DDR¸ôÀë¡¢OCM¹²ÏíÄÚ´æ¹ÜÀí£©
    • ºË¼äͨѶ»úÖÆ£¨RPMSG¡¢¹²ÏíÄÚ´æ+ÐźÅÁ¿£©

¨†½×¶Î3£º¹¤Òµ¼¶ÊµÕ½ÌáÉý
1. ÖØ´óϵͳ¿ª·¢Á÷³Ì

  • ÐèÇóÆÊÎö ¡ú ¼Ü¹¹Éè¼Æ ¡ú Ä£¿£¿£¿£¿£¿é»®·Ö ¡ú ЭͬÑéÖ¤
  • µä·¶ÐÐÒµÓ¦Óãº
    • ¹¤Òµ×Ô¶¯»¯£ºEtherCATÖ÷Õ¾¿ØÖÆÆ÷¿ª·¢
    • ÖÇÄܼÝÊ»£º¶à·ÉãÏñÍ·ISPÁ÷Ë®Ïß¼ÓËÙ
    • ͨѶװ±¸£º5Gǰ´«CPRIЭÒéת»»

2. ¿É¿¿ÐÔÉè¼ÆÒªµã

  • Çå¾²Æô¶¯Á´£ºRSA-4096ÊðÃûÑéÖ¤ ¡ú PL¶ËBitÁ÷¼ÓÃÜ
  • ¹¦Ð§Çå¾²£ºIEC 61508 SIL3¼¶ÏµÍ³Éè¼Æ¹æ·¶
  • ÈÈÈßÓàÉè¼Æ£ºË«Boot¾µÏñ»Ø¹ö»úÖÆ

ËÄ¡¢Ç°Ñؼ¼ÊõÑÓÉìÆ«Ïò

1. ¸ßÇ徲ϵͳÉè¼Æ

  • TEE¿ÉÐÅÖ´ÐÐÇéÐι¹½¨£¨ARM TrustZone¼¼ÊõÂ䵨£©
  • ²àÐŵÀ¹¥»÷·À»¤£¨¹¦ºÄÆÊÎö¶Ô¿¹²ßÂÔ£©

2. ÈíÓ²¼þЭͬÓÅ»¯

  • Vitis AI¿ò¼Ü°²ÅÅ£ºYOLOv5Ä£×ÓÁ¿»¯ÓëPL¼ÓËÙ
  • ¶¯Ì¬²¿·ÖÖØÉèÖã¨PR¼¼Êõ£©£º¹¦Ð§Ä£¿£¿£¿£¿£¿é°´Ðè¼ÓÔØ

3. LinuxÉî¶È¶¨ÖÆ

  • ʵʱÐÔÓÅ»¯£ºPREEMPT_RT²¹¶¡¼¯³É
  • Çý¶¯¿ª·¢½ø½×£ºDMA-BUF¿ò¼ÜʵÏÖÁ㿽±´´«Êä

Îå¡¢¿ª·¢ÕßÄÜÁ¦Éú³¤¾ØÕó

ÄÜÁ¦²ã¼¶¼¼ÊõÖ¸±êѧϰÖÜÆÚ
ÈëÃż¶×ÔÁ¦Íê³ÉÍâÉèÇý¶¯¿ª·¢3-6¸öÔÂ
½ø½×¼¶Éè¼Æ°ÙÕ×¼¶Êý¾ÝÁ÷Ë®Ïß1-2Äê
ר¼Ò¼¶Ö÷µ¼Gbps¼¶ÏµÍ³¼Ü¹¹Éè¼Æ3Äê+

×¢£º±¾Îĵµ¼¼Êõϸ½Ú²ÎÕÕXilinx¹Ù·½ÊÖ²áUG585/UG1085 £¬£¬£¬ËùÓÐʵÑé¾ùÐèÅäºÏ¿ª·¢°åʵսÑéÖ¤¡£¡£¡£ ¡£

Vivado to Vitis hardware development workflow diagram
´ó·¢28¡¤(ÖйúÓÎ)¹Ù·½ÍøÕ¾
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿