clang/LLVMã®ãåå¼·
æè¿ãclang/LLVMã®ãåå¼·ããã¦ããã
ããæãã¤ãããã®æ¬ã¯çºå£²ãã10年以ä¸ãã£ã¦ããããæ¤ç´¢ãã¦ãStackoverflowã§åã質åãã¦è§£æ±ºãã¦ãªãã£ããã¨ãèªåã§ãåå¼·ããã®ã¯ã¤ããã ã©ã¡ããã¨è¨ãã°ãclangã¨ãC/C++ã®ããã³ãã¨ã³ãåãã«ã¤ãã¦ç¥ãããã£ãããLLVMã§èªä½è¨èªãä½ãã¨ãã®å 容ã¯ããããªãã«ããããããã©clangã«ã¯ã¿ããªèå³ãªããã§ãããï¼ ã¨ã¯ããããåå¼·ããã«ã¯ä½ãåã£æããããªãã¨ãããããããã©ããããã®ãã¨ã
ç¶ããèªãFPGAX #12 ã§LTãã¦ãã¾ãã
ãGoogle Colaboratoryã§å§ããFPGAéçºå ¥éãã¨ããã¿ã¤ãã«ã§LTãã¦ãã¾ããã ããªãé§ã足ã ã£ãã®ã§ãè³æã¯ä¸è¨ã§å ¬éãã¦ãã¾ãã Twitterã§ãã¼ããã¾ããããå½æ¥å ¬éãããNNgenã®ãµã³ãã«MLPãZYBO-Z7-20ã§è«çåæã»ã¤ã³ããªãããã¾ãã追å ãã¦ãã¾ãã
Google Colaboratoryã§ãã¤ã§ãã©ãã§ãFPGAéçºï¼VivadoMagicç·¨ï¼
ããã¾ã§Vivadoã®ã¤ã³ã¹ãã¼ã«æ¹æ³ã«ã¤ãã¦èª¬æãã¦ãã¾ããããå®éColabä¸ã§Vivadoãæä½ããã¨ãªãã¨Tclã«ããã³ãã³ãã©ã¤ã³æä½ãã¡ã¤ã³ã¨ãªãã¾ãã
æ®éã«!vivado
ã¨èµ·åããã¨ã³ãã³ããå
¨ã¦ãã¹ã¯ã¼ãå
¥åã®ããã«ãªã£ã¦ãã¾ããèªåã®å
¥åãã¦ããã³ãã³ããåããã¾ããã
ä»åãcolab(IPython/Jupyter notebook)ä¸ã§åä½ããvivadoãã¸ãã¯ã³ãã³ããä½ã£ãã®ã§ç´¹ä»ãã¾ãã
ç¶ããèªãGoogle Colaboratoryã§ãã¤ã§ãã©ãã§ãFPGAéçºï¼Vivado2019.1ç·¨ï¼
ããã¾ã§ãGoogle Colaboratoryã§Vivadoãå®è¡ããæ¹æ³ãããã¤ãç´¹ä»ãã¦ãã¾ããã Vivado 2019.1ããã¯Webã¤ã³ã¹ãã¼ã©ãã³ãã³ãã©ã¤ã³ã«å¯¾å¿ãã¾ããã ããã«ããããã¾ã¾ã§å¿ è¦ã ã£ãGoogle Driveçã¸ã®å·¨å¤§ãªã¤ã³ã¹ãã¼ã«ãã¡ã¤ã«ä¿åãä¸è¦ã«ãªãã¾ãã ï¼Google Driveã¸ã®ä¿åã¯Webã¤ã³ã¹ãã¼ã©ã®100MBç¨åº¦ã«ãªãã¾ãï¼
ç¶ããèªãGoogle Colaboratoryã§ãã¤ã§ãã©ãã§ãFPGAéçºï¼ã»ããã¢ããé«éåç·¨ï¼
以åç´¹ä»ããæ¹æ³ã§Colabä¸ã«Vivadoãã¤ã³ã¹ãã¼ã«ãããã¨ã¯ã§ãã¾ãããã ãå®è¡æã«æ¯åã¤ã³ã¹ãã¼ã«ããã®ã¯é¢åãããã®ã§ãäºãã¤ã³ã¹ãã¼ã«ãããã¼ã¿(ext4ã®ã¤ã¡ã¼ã¸)ããã¦ã³ããããã¨ãæ¤è¨ãã¾ãã
ç¶ããèªãGoogle Colaboratoryã§ãã¤ã§ãã©ãã§ãFPGAéçºï¼ã·ãã¥ã¬ã¼ã·ã§ã³ç·¨ï¼
ååGoogle Colaboratoryä¸ã«Vivadoãã¤ã³ã¹ãã¼ã«ãã¦å®è¡ã§ãããã¨ã確èªããã ä»åã¯Colabä¸ã§ã·ãã¥ã¬ã¼ã·ã§ã³ãè¡ããWaveDromãç¨ãã¦VCDãã¡ã¤ã«ã表示ããã¨ããã¾ã§è¡ã£ãã
ç¶ããèªã
Xilinxç¨dockerç°å¢ã®æ§ç¯
以åæ§ç¯ããXilinxç¨ dockerç°å¢ã®è¨æ¶ãæãèµ·ããã¦ã¡ã¢ãã¦ãããããã¾ã§ãè¨æ¶ãæãèµ·ããã¦æ¸ãã¦ããã®ã§ãç¾æç¹ã§æ£ç¢ºãªæ å ±ã§ã¯ãªããããããªãããã¨ãdockerã使ã£ãç°å¢æ§ç¯ã¯2å¹´ãããåã«ãã£ã¦ãæè¿ã¯ä½¿ã£ã¦ãªãã®ã§dockerèªä½ãè²ã å¤ãã£ã¦ããããï¼æéããã£ãã確ããã¦ã¿ãï¼
ç¶ããèªã