ãŸããã
Tetrisãç¡ç·éä¿¡æ©ãªã©ãèå³æ·±ãFPGAéçºã«é¢ããå€ãã®èå³æ·±ãèšäºãèªãã åŸãéã®ããã«äœãããããšããã¢ã€ãã¢ãåŸãŸããã ãã®ããã«ã OV7670ã«ã¡ã©ãšãAltera Cyclone IIããããæèŒããTerasic DE-1ãããã°ããŒããè³Œå ¥ããŸããã ã¿ã¹ã¯ã¯æ¬¡ã®ãšããã§ãããã«ã¡ã©ããã®ç»åãVGAã¢ãã¿ãŒã«è¡šç€ºããŸãã FPGAã®äœ¿çšãæ£åœåããããã«ãã«ã¡ã©ã®æ倧é床ã§ãããè¡ããŸãã ãšã¬ã¯ãããã¯ã¹ã®åéã®ç¥èã¯ããã®äœæ¥ãããç°¡åã«ç解ããã®ã«åœ¹ç«ã€ããšã«æ³šæããŠãã ããïŒVGAããã³I2Cã€ã³ã¿ãŒãã§ã€ã¹ã®ç¥èãSDRAMã¡ã¢ãªã®ç解ãªã©ã
ã¯ããã«
ãã®èšäºã¯ç 究ã§ã¯ãªããäž»ãªã¢ã€ãã¢ãšç§ã®æèŠã§æãèå³æ·±ããè€éãªå Žæã瀺ããé²æå ±åæžã§ãã è€éãã®ç¹ã§ã¯ããã®ãããžã§ã¯ãã¯ãç¹æ» LEDãã«åŸããŸãããæ¡åŒµã®å¯èœæ§ãéåžžã«å€§ãããªããŸãã ãã®ãããžã§ã¯ãã¯å ã ææžãã®ãã®ãšããŠèšç»ãããŠããããããã®ãããžã§ã¯ãã¯æ¢è£œã®IPã«ãŒãã«ãšæšæºã€ã³ã¿ãŒãã§ãŒã¹ãæå³çã«äœ¿çšããŠããŸããã ãŸãããªãœãŒã¹ãšé床ã®é¢ã§å°ãåã€ã®ã«åœ¹ç«ã¡ãŸãã ãã®èšäºãèªè ã®èå³ãåŒãããšãé¡ã£ãŠããŸãããŸãããèªå®¶è£œã«ã¡ã©ããéããŠã¹ã¯ãªãŒã³äžã§èªåèªèº«ãèŠãããšããé¡æãFPGAã®ç 究ãä¿é²ããããšãé¡ã£ãŠããŸãã
å
責äºé
ãããžã§ã¯ãã®äžéšã®å Žæã§ã¯ãã³ãŒãã®ã¢ãŒããã¯ãã£ãšæ§æãæé©ã§ãªãå ŽåããããŸãã ããã¯ãç§ãæãªãšãã«ãããžã§ã¯ãã®å®æœã«æºãã£ããšããäºå®ã«ãããã®ã§ãããæã«ã¯æ°ãæéã¢ãããŒãã®éã«äžæããããŸãããå€ãèãã¯å¿ããããŸããããæ°ããèããçŸããŸããã ãã®ãããããšãã°ãäžå€®ã®ãªãŒãããã³ã¯å€§å¹
ã«ç°¡çŽ åãããŸããããã°ããŒãã«ããšããååã ããå
ã®ã¢ã³ã¹ã¿ãŒããæ®ã£ãŠããŸããã æçš¿ããåã«ãã³ãŒãããªãã¡ã¯ã¿ãªã³ã°ããŸããããæ¬ é¥ãèŠã€ãã£ãå Žåã¯ãã³ã¡ã³ãã§ãããã瀺ããŠãã ããã
åé¡ãšè§£æ±ºç
åŸ ã£ãŠããããšãç解ããããã«ãããŒããŠã§ã¢ãèŠãŠãçŽé¢ããŠããåé¡ãè©äŸ¡ããŠãã ããã ã«ã¡ã©OV7670ã ãã®ã«ã¡ã©ã¯ãRGB565圢åŒã§æ¯ç§30ãã¬ãŒã ã®é »åºŠã§640x480ãã¯ã»ã«ã®è§£å床ã®ç»åãçæã§ããŸãã ã«ã¡ã©ãæ©èœããã«ã¯ã24 MHzã¯ããã¯ãé©çšããå¿ èŠããããŸãã ã«ã¡ã©ã¯ãåæã²ãŒãVSYNCããã³HSYNCãšåæ§ã«ã8ããããã¹ãä»ããŠãŠãŒã¶ãŒã«ããŒã¿ãéä¿¡ããŸãã ã«ã¡ã©ã®ã¿ã€ãã³ã°å³ãå³1ã«ç€ºããŸãã

å³1
è²æ å ±ã¯ããã€ãåäœã§2ã¡ãžã£ãŒã§éä¿¡ãããŸãã ããŒã¿ããã€ãã«ããã¯ããæ§åãå³2ã«ç€ºããŸãã

å³2
VGAã¢ãã¿ãŒã VGAã¯ã¢ããã°ä¿¡å·ã§ãããããå ¥åã«ããžã¿ã«ããŒã¿ãäŸçµŠããããšã¯ã§ããŸããã ããããDE-1ã«ã¯4ãããDACãããããããã䜿çšããŠããžã¿ã«ä¿¡å·ãã¢ããã°ä¿¡å·ã«å€æããŸãã 解å床ã640x480ã®VGAã®ãªãã¬ãã·ã¥ã¬ãŒãã¯60ãã¬ãŒã /ç§ã§ãã 25.175 MHzã®åšæ³¢æ°ã§DACã«ããŒã¿ãå ¬éããåæã²ãŒãVSYNCããã³HSYNCã圢æããå¿ èŠããããŸãã VGAã®ã¿ã€ãã³ã°ã«ã€ããŠã¯ã ãã¡ããã芧ãã ãã ã
ã«ã¡ã©ããã®ããŒã¿ã®é »åºŠãšã¢ãã¿ãŒãžã®ããŒã¿åºåã®é »åºŠãç°ãªãããšãæããã«ãªããçŽæ¥æ¥ç¶ã®å¯èœæ§ãæé€ãããŸãã ãã®ç¶æ³ããæãåºãæ¹æ³ã¯ã ãã¬ãŒã ãããã¡ã®äœ¿çšã§ãã ã¡ã¢ãªå ã®2ã€ã®çããé åãéžæããŸããã«ã¡ã©ã®çŸåšã®ãã¬ãŒã ã1ã€ã«èšé²ãããèšé²ããããã¬ãŒã ã®çµäºåŸãåã®ãã¬ãŒã ã2ã€ç®ããæœåºããããããã¡ã亀æãããŸãã 1ãã¬ãŒã ã®ä¿åã«ã¯640 * 480 * 16 = 4.915 * 10 ^ 6ããããå¿ èŠã§ããããã¯ãCyclone IIã§äœ¿çšå¯èœãªãªã³ãããã¡ã¢ãªââãããã¯ããã«å€ããªããŸãã ãããã£ãŠããã¬ãŒã ãä¿åããããã«ãDE-1ããŒãäžã®å¥ã®ãããã«ããSDRAMã䜿çšããŸã ã ããã«ãããæè¡çãªåé¡ã解決ããããã®ãã¬ãŒã ãããã¡ãŒãæŽçããSDRAMã³ã³ãããŒã©ãŒã®äœæãç·Žç¿ããæ©äŒãäžããããŸãã
次ã®åé¡ã¯ãåã®åé¡ã®è§£æ±ºçããçºçããŸãã ãããžã§ã¯ãã§SDRAMã䜿çšããå Žåã2ã€ã®éèŠãªç¹ãèæ ®ããå¿ èŠããããŸãããŸããèšèšã®ããã«ã¡ã¢ãªã120 MHzã®é«åšæ³¢æ°ã§åäœããæ°ããåé¡ã«çŽé¢ããŠããŸããã«ã¡ã©ã®ãã¡ã€ã³ããSDRAMãã¡ã€ã³ã«ããŒã¿ã転éããŸãã 第äºã«ãæ倧ã®ããã©ãŒãã³ã¹ãéæããã«ã¯ãSDRAMãžã®æžã蟌ã¿ã¯ãããŒã¹ããšåŒã°ãããã©ã³ã¶ã¯ã·ã§ã³å šäœã§è¡ãå¿ èŠããããŸãã ãããã®åé¡ã解決ããã«ã¯ããªã³ãããFPGAã¡ã¢ãªã«ç·šæãããFIFOãæé©ã§ãã åºæ¬çãªèãæ¹ã¯æ¬¡ã®ãšããã§ããäœåšæ³¢æ°ã®ã«ã¡ã©ãFIFOãæºããããã®åŸãSDRAMã³ã³ãããŒã©ãŒãé«åšæ³¢æ°ã§ããŒã¿ãèªã¿åãã1åã®ãã©ã³ã¶ã¯ã·ã§ã³ã§ããã«ã¡ã¢ãªã«æžã蟌ã¿ãŸãã
ã¢ãã¿ãŒãžã®ããŒã¿åºåã¯ãåãåçã§æ§æãããŠããŸãã SDRAMããã®ããŒã¿ã¯FIFOã«æžã蟌ãŸãã25 MHzã®åšæ³¢æ°ã§æœåºãããŠDACã«äŸçµŠãããŸãã FIFOã空ã«ããåŸãæäœãç¹°ãè¿ãããŸãã
æå°ã®åé¡ã¯ããç®±ããåºããŠãããã®ã«ã¡ã©èšå®ãç§ãã¡ã«åããªãããšã§ãããããããå€æŽããå¿ èŠããããŸãã æãéèŠãªãã€ã³ãã¯ãã«ã¡ã©ãããŒã¿ãYUV422圢åŒã§åºåãããããRGB444ã«å€æŽããå¿ èŠãããããšã§ãã OV7670ã®å éšã¬ãžã¹ã¿ã«ã¢ã¯ã»ã¹ããã«ã¯ãI2Cãã©ã³ã¹ããã¿ã¢ãžã¥ãŒã«ãèšè¿°ããå¿ èŠããããŸãã
ããã§ãã©ã®ã¢ãžã¥ãŒã«ãå®è£ ããã©ã®ã¿ã¹ã¯ã解決ããããæå®ã§ããŸãã
- cam_wrp-ã¢ãžã¥ãŒã«ã¯ã«ã¡ã©ããããŒã¿ãåä¿¡ããå ¥åFIFOã«æžã蟌ã¿ãŸãã
- hvsync-ã¢ãžã¥ãŒã«ã¯VGAã®ã¹ãããŒããçæããSDRAMããããŒã¿ãåä¿¡ããå ¥åFIFOã«æžã蟌ã¿ãã¹ãããŒãã«æ²¿ã£ãŠDACã«éããŸãã
- sdram_cntr-SDRAMã³ã³ãããŒã©ã
- FSM_global-èªåå¶åŸ¡ã
- camera_configure-èšå®ããã³ã«ã¡ã©å¶åŸ¡çšã®ã¢ãžã¥ãŒã«ã
å³3ã«ãèšèšã®æ©èœå³ã瀺ããŸãã

å³3
åã¢ãžã¥ãŒã«ãããã«è©³ããæ€èšããŠã¿ãŸãããã
cam_wrpã¢ãžã¥ãŒã«
æãç°¡åãªã¢ãžã¥ãŒã«ã®1ã€ã ã«ã¡ã©ã®hsyncã¹ãããã®åäœæã®ã¿ã¹ã¯ã¯ã2ãã€ããé£ç¶ããŠååŸããããããã1ã€ã®ããã«ãã€ãã¯ãŒãã圢æããFIFOã«æžã蟌ãããšã§ãã ã³ã³ãããŒã©ã®SDRAMããã®ä¿¡å·ã«ãããFIFOã®ãã¹ãŠã®å 容ãã³ã³ãããŒã©ã«è»¢éããŸãã
2é£ç¶ãã€ãã1ã¯ãŒãã«ãããã¯ãããã«ã¯ãwr_fifoä¿¡å·ã䜿çšããŸããããã¯ã¯ããã¯ã§å転ããŸãïŒåšæ³¢æ°ã2ã§é€ç®ããŸãïŒã ãã®ä¿¡å·ãè«ç1ã®å ŽåãããŒã¿ãäžäœãã€ãã«æžã蟌ã¿ãè«ç0ã®å Žåã¯äžäœãã€ãã«ããŒã¿ãæžã蟌ã¿ãŸãã FIFOã®æžã蟌ã¿ä¿¡å·ãšããŠwr_fifoã䜿çšããŸãã ããŒã¿ãã¹ã«å ããŠãFIFOãããã¹ã衚瀺ãããããã«æžã蟌ãŸããããŒã¿ã®æ°ãèšå®ãããŸãã ãã®ãã¹ã¯ã³ã³ãããŒã«ãŠãããã«æ¥ç¶ãããŠããŸãã å³4ã¯ããã€ããããã«ãã€ãã¯ãŒãã«ãããã¯ãããã¿ã€ãã³ã°å³ã瀺ããŠããŸãã

å³4
FSM_globalã¢ãžã¥ãŒã«
ã¢ãžã¥ãŒã«ã«ã¯éåžžã«åããªååããããå®éã«ã¯4ã€ã®ç¶æ ã®ã¿ãæã€åçŽãªãªãŒãããã³ã§ãããéåžžã«éèŠãªæ©èœãå®è¡ããŸãã ã³ã³ãããŒã©ã®æºåä¿¡å·sd_ready SDRAMãå ¥åããã³åºåFIFOã®ãã«ãã¹ã远跡ãããã·ã³ã¯ã³ã³ãããŒã©ã«SDRAMã³ãã³ããçºè¡ããŠãå ¥åFIFOããããŒã¿ãåéããããåºåFIFOã«æžã蟌ã¿ãŸãã èªã¿åããšæžã蟌ã¿ã¯ãFIFOãå®å šã«ãã£ã±ããŸãã¯ç©ºã«ãªããããå°ãæ©ãçºçããŸãã é«ãåšæ³¢æ°ã®FIFOã§ã®æäœãäœãåšæ³¢æ°ãããæ©ãçµäºããªãããã«ãæ£ããFIFOå å¡«ã¬ãã«ãéžæããå¿ èŠããããŸããããã«ããããšã©ãŒãçºçããããšãä¿èšŒãããŸãã SDRAMã³ã³ãããŒã©ã®äžéšã§ã¯ããã®æ©èœã説æããå³ã瀺ããŸãã
SDRAM_contrã¢ãžã¥ãŒã«
å€ãã®SDRAMã³ã³ãããŒã©ããã§ã«èšè¿°ãããŠãããããè»èŒªã®åçºæãæãŸãªãã£ãããããã£ã¿ãã©ãŒãã€ã¯ãçºæããããšã«ããŸããã ã€ãŸããSDRAMã³ã³ãããŒã©ãŒã¯ããã®ç¹å®ã®ãããžã§ã¯ãã®ããã«ç ãæŸãŸãããŸããã ããã«ããã管çãç°¡åã«ãªããé床ãå°ãåäžããŸãã æ¬æ ŒçãªSDRAMã³ã³ãããŒã©ãŒã®ãªãŒãããã³é·ç§»ã°ã©ããå³5ã«ç€ºããŸãã

å³5
é€å€ã§ãããšèããŠã¿ãŸãããã
ãŸããããŒã¿ãæŽæ°ããŸããã ãã®ä»®å®ã¯ãæ±çšã³ã³ãããŒã©ãŒã«ã¯çµ¶å¯Ÿã«é©ããŠããŸããããä»åã®ã±ãŒã¹ã§ã¯ãåãã¡ã¢ãªãŒé åã䜿çšããåžžã«ãããåç §ããŠããŸãã ããŒã¿ã«ã¯å£åããæéããããŸããã
第äºã«ãé·ã640ã®ãã¯ãã«ã§ããŒã¿ãåžžã«èªã¿æžããããããåã ã®æ°å€ãæ±ãå¯èœæ§ãæåŠã§ããããŒã¹ãã®ã¿ãæžã蟌ã¿ãŸãã
第äžã«ãã¢ãã¬ã¹ã«ã€ããŠèããå¿ èŠã¯ãããŸãããåããŒã¹ãåŸã«ã¢ãã¬ã¹ãã€ã³ã¯ãªã¡ã³ãããåãã¬ãŒã ã®çµããã«ãŒãã«ããŸãã çµæã®é·ç§»ã°ã©ããå³6ã«ç€ºããŸãã

å³6
ã³ã³ãããŒã©ã¯ã¢ã€ãã«ç¶æ ã§èµ·åããŸãã éåžžã®åäœãéå§ããåã«ãã¡ã¢ãªãããïŒãã·ã³s0_MRSã®ç¶æ ïŒãåæåããå¿ èŠããããŸãããã®åŸãmode_flagãã©ã°ãèšå®ãããã³ã³ãããŒã©ãŒãã¹ã¿ã³ãã€ç¶æ ã«ãªããããŒã¿ã®æžã蟌ã¿ãšèªã¿åããå¯èœã«ãªããŸãã ãããè¡ãã«ã¯ãfsm_globalã¢ãžã¥ãŒã«ããèªã¿åããŸãã¯æžã蟌ã¿ãéå§ããã³ãã³ããåãåããéžæãããã³ã¯ã§å¿ èŠãªåãéããŠïŒç¶æ s0_ACTïŒãèªã¿åããŸãã¯æžã蟌ã¿ïŒç¶æ s0_WRITãs0_READïŒãå®è¡ããå¿ èŠããããŸãã æ®å¿µãªããã1ã€ã®ããŒã¹ãã¯æ©èœãããã¡ã¢ãªãããã®åã®æ·±ãã¯256 16ãããã¯ãŒãã®ã¿ã§ããã640ã®ãã¯ãã«é·ãæžã蟌ãå¿ èŠããããŸãã3ããŒã¹ãã256ã®ãã¡2ã€ã128ã®ãã¡1ã€ãæžã蟌ãå¿ èŠããããŸããè¡ã¯ç©ºã®ãŸãŸã§ããã€ãŸãããªãœãŒã¹ãäžåçã«äœ¿çšããŠããŸããããªãœãŒã¹ãäžè¶³ããŠããªãããããã·ã³ãè€éã«ããã«ææ ¢ããããšã«ããŸããã
ã¢ãã¬ã¹ã«é¢ããŠã¯ãèªã¿åããšæžã蟌ã¿çšã®ç°ãªãã¬ãžã¹ã¿ãå²ãåœãŠãããåãã¹ãã®åã«ã€ã³ã¯ãªã¡ã³ããããŸãã ãããã£ãŠãé·ã640ã®ãã¯ãã«ãæžã蟌ãã«ã¯ã640 * 4 = 1440ã¢ãã¬ã¹ã䜿çšããŸãã ã«ã¡ã©ã®åçŽåæã²ãŒããŸãã¯VGAã¢ãã¬ã¹ã¯ãããããæžã蟌ã¿ãšèªã¿åãã®ããã«ãŒãã«ãªã»ãããããŸãã
ããã«ãããã¡ãªã³ã°ã䜿çšããŸãããããããã¡ã«æžã蟌ã¿ãå¥ã®ãããã¡ããèªã¿åããŸãã åçŽåããããã«ãSDRAMãããã®ãã³ã¯0ã«1ã€ããã³ã¯1ã«2ã€ç®ã®ãããã¡ãŒãé 眮ããŸããã èªã¿åãããã³æžã蟌ã¿çšã®ãã³ã¯ã¯ãã«ã¡ã©ããã®ãã¬ãŒã ã®çµäºåŸã«å Žæãå€æŽããŸãã å³7ã¯ãåäžã®ãã¯ãã«ãèšé²ããã¿ã€ãã³ã°å³ã瀺ããŠããŸãã ã¬ã³ãŒãã3ã€ã®éšåã«åå²ãããŠããããšãããããŸããåã¢ãã¬ã¹ãã€ã³ã¯ãªã¡ã³ããããåŸã転éå šäœãã¹ãããcur_wrã®äžã§è¡ãããŸãã èªãããã«ãå³ã¯äŒŒãŠããŸãã

å³7
å³8ã¯ãFIFOã®å å¡«æéãšæ¯èŒããŠãã«ã¡ã©ããã®ããŒã¿ãã©ã®ããã«SDRAMã«èšé²ããããã瀺ããŠããŸãã æçµFIFOããã£ã±ãã«ãªãã®ãåŸ ããã«SDRAMã«æžã蟌ã¿ãéå§ããããšã«æ³šæããŠãã ããã

å³8
Hvsyncã¢ãžã¥ãŒã«
ããã¯ããã®ãããžã§ã¯ãã®2ã€ã®ã¢ãžã¥ãŒã«ã®ãã¡ã®1ã€ã§ãããç§ãäœæãããã®ã§ã¯ãããŸããã äžåºŠåæ§ã®ã¢ãžã¥ãŒã«ãå®è£ ããããç¹°ãè¿ãããšã«èå³ããªãã£ãã®ã§ããµã€ãmarsohod.orgã®äœè ãæžããåªããã¢ãžã¥ãŒã«ã䜿çšããŸããã ãã®ã¢ãžã¥ãŒã«ã«ã¯äœåãªãã®ã¯ãããŸããããã©ã¡ãŒã¿åãããŠãããä»»æã®ç»é¢è§£å床ã«ç°¡åã«æ§æã§ããŸãã å®è³ªçã«ã¯å€æŽãããFIFOã®ã¿ãè¿œå ããSDRAMã³ã³ãããŒã©ãŒã«æ¥ç¶ããä¿¡å·ããã€ã³ãããŸããã ãã¹ã¯FIFOã§è¡šç€ºãããããã«èšé²ãããããŒã¿éãèšå®ãããŸãããã®ãã¹ã¯ãå ¥åFIFOãšã®é¡æšã«ãã£ãŠã³ã³ãããŒã«ãŠãããã«æ¥ç¶ãããŸãã FIFOåºåã¯ãDACã«åããã¯ã€ã€ã«æ¥ç¶ãããŸãã
Camera_configureã¢ãžã¥ãŒã«
æåã¯ãããŒã ãããžã§ã¯ãã®èªç±ãåããããã¥ã¡ã³ããäžæ³šæã«èªãã§ãã«ã¡ã©ããããã©ã«ããèšå®ã§èµ·åãããã£ãã®ã§ãããOV7670ãªãã§ã¯RGB565圢åŒã§ã¯ãªããYUV422ã§æ å ±ãéä¿¡ããããšãããããŸããã äœãæžãçŽããããªãã£ãã®ã§ããã¹ãŠãè³¢æã«è¡ããã«ã¡ã©ãé©åã«åæåããããšã決ããŸããã ã«ã¡ã©ã¯I2Cã«ãã£ãŠå¶åŸ¡ããããããNIOSã䜿çšãããšããã¢ã€ãã¢ãæãã€ããŸããã ãªãŒãã³ã³ã¢ã§I2CããŒã«ã䜿çšããŠNIOSãååã®ããã¯ããååŸããããšã¯ã§ããŸããã§ãããã誀ã£ãŠVerilogã®åæåã¢ãžã¥ãŒã«ãèŠã€ããŸããã ã³ãŒãã«éåžžã«ç°¡åã«çµ±åã§ãããããäœãå€æŽããå¿ èŠã¯ãªãã1è¡ã ãå€æŽããŸãããããŒãã«ã¯æ£ç¢ºã«4ãããDACããããããRGB565ã§ã¯ãªãRGB444ã¢ãŒããæå¹ã«ããŸããã å³9ã¯ã0x80ã0x12ã§èšé²ããããšã«ããã«ã¡ã©ã®ãœãããŠã§ã¢ãªã»ããã®ã¿ã€ã ãã€ã¢ã°ã©ã ã瀺ããŠããŸãã

å³9
çµæã®ãã¢ã³ã¹ãã¬ãŒã·ã§ã³
ãã¹ãŠã®ã¢ãžã¥ãŒã«ãäœæãããããããã¢ãžã¥ãŒã«ã§ããããæ¥ç¶ããQuartusã§ã¢ã»ã³ãã«ãããšããã¹ãã§ããŸãã ãããªã¯çµæã瀺ããŠããŸãã
ç§ã¯æ®åœ±ã«ããŸãè¯ããªãæéãéžæããŸãã-æ¥æ²¡ãšéåžžã«æãã倪éœ-ã«ã¡ã©ã¯æãããã倪éœã®ãŸã¶ããã«ååã«åå¿ããŸããã åããŠãããªããžã§ã¯ããæ£ãã衚瀺ãããŠããããããããã«ãŒãããªãããšãããããŸãã ããã¯ãFPGAã䜿çšããŠå®çŸãããã®ã§ãããããã30ã®ãã¹ãŠïŒããã³ã«ã¡ã©ã®æ©èœïŒfpsãå°ãªãè¡æ¶²ã§åŠçã§ããŸãã ç»åã®é®®æãã«ã€ããŠè©±ããšãA4ã·ãŒãã®ããã¹ãã¯åé¡ãªãèªã¿åãããŸãããæ®å¿µãªãããã¢ãã¿ãŒã®åçã¯å®éãããæªããšèšããŸãã å³10ã«ãã«ã¡ã©ã®ããã¥ã¡ã³ããå«ãã·ãŒãA4ã®æçã瀺ããŸãã

æ瀺ããããããªãšåçã«ã¯ããã€ãã®æ¬ é¥ããããŸããæåã®æ¬ é¥ã¯ã·ã£ãŒãã§ã2çªç®ã¯è²ä»ãã§ãã
ç§ã¯äžå®å šã«çŠç¹ãåãããŠããããªã®ã·ã£ãŒããã¹ãšåé¡ãçµã³ä»ããŸãã ã¹ã¬ããäžã«ããã¬ã³ãºããã蟌ãããšã«ãããã«ã¡ã©ã®çŠç¹ãæ©æ¢°çã«èª¿æŽããŸãã 糞ã¯ãã©ã¹ããã¯ã§ãããããããªæºãããã§ãããªã倧ããªããã¯ã©ãã·ã¥ããããã·ã£ãŒããã¹ãäœäžããå¯èœæ§ããããŸãã
ç§ã«ã¯ãçœãã·ãŒãã®éå°ãªç·é»è²ã®åé¡ã¯ããã¯ã€ããã©ã³ã¹ã®åé¡ãšé¢ä¿ããŠããããã§ããæ®åœ±ã¯ãèªç¶ããé ãé¢ããéšå±ã§è¡ãããŸããã ãŸããã«ã¡ã©ã®èšå®ã¯è²ã®ç¶æ³ã«åœ±é¿ããå ŽåããããŸãã ç§ã¯å®éã«ãããè±ãå®éšããããããžãã¯ãã³ããŒãšããŠäœ¿çšããŸããã
ãããã«
ã¿ã¹ã¯-OV7670ã«ã¡ã©ããVGAã¢ãã¿ãŒãžã®ãªã¢ã«ã¿ã€ã ã®ç»ååºå-ã¯è§£æ±ºãããŸããã ãã®ãããžã§ã¯ãã§åŸãããçµæãããã€ã¯ãã³ã³ãããŒã©ãŒãŸãã¯Arduinoã䜿çšããä»ã®éçºè ã«ãã£ãŠåŸãããçµæãšæ¯èŒãããšã移åãªããžã§ã¯ãã®è¡šç€ºé床ãå£ãããšãããããŸãã ãã®ãããžã§ã¯ãã®è€éãã¯ããã€ã¯ãã³ã³ãããŒã©ãŒã䜿çšããŠäœæãããåæ§ã®ãã®ãè¶ ããŸããã FPGAãã¶ã€ã³ã®åæç¥èãæã£ãŠãã人ã¯ãæ°æ¥ã§ãããå®è£ ã§ããŸãã ãã®ãããžã§ã¯ãã¯æ¡åŒµã®å€§ããªå¯èœæ§ãç§ããŠããŸããçµæã®ç»åããªããžã§ã¯ãèªèãªã©ããã£ã«ã¿ãªã³ã°ã§ããŸãã Cyclone IIãããã®èšèšã¯ãLE-745ïŒ4ïŒ ïŒãã¡ã¢ãªããã-32768ïŒ14ïŒ ïŒãPLL-1ïŒ25ïŒ ïŒãEmbedded Multiplier-0ïŒ0ïŒ ïŒã®ãªãœãŒã¹ã䜿çšããŸããã¢ã€ãã¢ãå®è£ ããã®ã«ååãªãªãœãŒã¹ã
ããšãã
次ã¯ïŒ å°æ¥çã«ã¯ã ãããªãã¯ã¹ãã£ã«ã¿ãŒã䜿çšãããªã¢ã«ã¿ã€ã ã®ç»ååŠçãè¿œå ããŠããããžã§ã¯ããæ¡å€§ããäºå®ã§ãã
èšäºã®å 容ãšãã¶ã€ã³ã«é¢ããã¢ããã€ã¹ãããŠãããishevchukãšã綎ãã«ã€ããŠåœŒå¥³ã«æè¬ããŸãã
æªãéè€
æåã«ç»é¢ããªã³ã«ãããšãç¥ç§çãªãã¿ãŒã³ãçŸããŸããã ç§ã¯ãããäœã§ããããé·ãéèããŠããŸããã ãã®çµæãã«ã¡ã©ã«ãã©ãŒã«ã¹ãèšå®ãããŠããªãããšãå€æããŸããã ã¬ã³ãºã®ã¬ã³ãºãããã£ãåŸããã¹ãŠãæå®ã®äœçœ®ã«åãŸããŸããã
ãalt = "ç»å" />
2床ç®ã«ã«ã¡ã©ã®é»æºãå ¥ãããšãã«ãã«ã¡ã©ã誀ã£ãŠåæåãããäºæããªãã»ã«ãã£ãŒãçºçããŸããã
ã

2床ç®ã«ã«ã¡ã©ã®é»æºãå ¥ãããšãã«ãã«ã¡ã©ã誀ã£ãŠåæåãããäºæããªãã»ã«ãã£ãŒãçºçããŸããã
ã¢ãŒã«ã€ãã®ãœãŒã¹ã¯ãã¡ãïŒYa.DiskïŒããããŠã³ããŒãã§ããŸãã