|
[¤³¤Î¥Ú¡¼¥¸¤ÎÊÔ½¸ÍúÎò]
Åŵ¤²óÏ©/HDL/Verilog¤ÇÈȤ·¤¬¤Á¤Êµ½Ò¥ß¥¹Top / Åŵ¤²óÏ© / HDL / Verilog¤ÇÈȤ·¤¬¤Á¤Êµ½Ò¥ß¥¹°Õ¿Þ †¥¤¥ó¥×¥ê¥á¥ó¥È»þ¤Î¥ï¡¼¥Ë¥ó¥°¤ò¤¦¤Þ¤¯¸«¤ëÊýË¡¤¬Ê¬¤«¤é¤º¡¢ ´Êñ¤Êµ½Ò¥ß¥¹¤Î¤»¤¤¤Ç£²¡¤£³»þ´Ö¤ò̵Â̤ˤ¹¤ë¤³¤È¤¬¤·¤Ð¤·¤Ð¤Ê¤Î¤Ç¡¢ ¤¢¤ê¤¬¤Á¤Ê¥ß¥¹¤ä¤½¤ì¤Ø¤ÎÂнèË¡¤ò¤³¤³¤Ëµ½Ò¤·¤Æ¡¢Æüº¢¤«¤éÃí°Õ¤·¤è¤¦¤È¤¤¤¦»»ÃʤǤ¹¡£ Àë¸À¤µ¤ì¤Æ¤¤¤Ê¤¤¿®¹æÀþ¤¬Éý£±¤Î wire ¤È¤·¤Æ²ò¼á¤µ¤ì¤ë †Verilog ¤Ç¤Ï¤³¤ì¤Ï¸À¸ì»ÅÍͤʤΤǡ¢·Ù¹ð¤â½Ð¤Ê¤¤¤Î¤Ç¤¹¤è¤Í¡£ ¤³¤Î¤»¤¤¤Ç¡¢¥¯¥í¥Ã¥¯¤¬Àµ¤·¤¯·Ò¤¬¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¤ê¡¢ Éý¤Î¹¤¤¥Ð¥¹Àþ¤Î¤Ï¤º¤¬£±¥Ó¥Ã¥ÈÌܤ·¤«·Ò¤¬¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¤ê¡¢ ¾ï¤Ëµã¤«¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ Àë¸À¤µ¤ì¤Æ¤¤¤Ê¤¤¿®¹æÀþ¤¬»È¤ï¤ì¤¿¤é¥¨¥é¡¼¤Ë¤¹¤ë¤«¡¢ ºÇÄã¤Ç¤â·Ù¹ð¤ò½Ð¤¹¥ª¥×¥·¥ç¥ó¤¬¤¢¤ì¤Ð¤«¤Ê¤ê³«È¯¤¬ ½çÄ´¤Ë¿Ê¤à¤È»×¤¦¤Î¤Ç¤¹¤¬¡¦¡¦¡¦ ¸«¤Ä¤±¤é¤ì¤Æ¤¤¤Ê¤¤¤À¤±¤«¤â¤·¤ì¤Þ¤»¤ó¡© ÂнèË¡ †(2010/06/03 Äɵ) marsee ¤µ¤ó¤ËÂнèË¡¤ò¶µ¤¨¤Æ¤¤¤¿¤À¤¤Þ¤·¤¿¡£ ¥½¡¼¥¹¥³¡¼¥É¤ÎºÇ½é¤Ë
¤òµ½Ò¤¹¤ì¤ÐÎɤ¤¤½¤¦¤Ç¡¢ÄêµÁ¤·¤Æ¤¤¤Ê¤¤¿®¹æ¤ò¥¨¥é¡¼¤Ë¤Ç¤¤Þ¤¹¡£ Verilog 2001 °Ê¹ß¤Ç»È¤¨¤ë¤½¤¦¤Ç¤¹¡£ °Ê²¼¤ÎÃí°Õ¤â°ì½ï¤Ë¤¤¤¿¤À¤¤Þ¤·¤¿¡£ Ãí°ÕÅÀ£± †marsee ¤µ¤ó¤è¤ê¡§
Ãí°ÕÅÀ£² †¤Ç¡¢¤â¤¦°ì¤Ä¼«Ê¬¤Ç¸«¤Ä¤±¤¿Ãí°ÕÅÀ¤Ç¤¹¤¬¡¢ http://japan.xilinx.com/support/answers/34811.htm ¤Ë¤¢¤ë¤È¤ª¤ê¡¢`default_nettype none ¤ÎÉûºîÍѤȤ·¤Æ¡¢¼¡¤Î¥³¡¼¥É¤¬¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
¼¡¤Î¤è¤¦¤Ë½ñ¤±¤Ð¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤»¤ó¡£
¸½ºß¤Î½ê¡¢Implementation »þ¤Ë¾åµ¥³¡¼¥É¤¬¥¨¥é¡¼¤Ë¤Ê¤ë¤Î¤Ï Virtex-6 ¤È Spartan-6 FPGA ¤È¤¤¤Ã¤¿ºÇ¿·¤Î FPGA ¤ËÂФ·¤Æ¤Î¤ß¤Î¤è¤¦¤Ç¤¹¡£ Spartan 3A DSP ¤Ç¤Ï¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£ ¤¿¤À¡¢ISim ¤Ç¤Ï Spartan 3 ¤Ç¤âºÇ¿·¤Î¥Ñ¡¼¥µ¡¼¤¬»È¤ï¤ì¤ë¤è¤¦¤Ç¡¢ ¤Û¤Ü¤¹¤Ù¤Æ¤Î¥â¥¸¥å¡¼¥ë¤Ç¥¨¥é¡¼¤¬½Ð¤Þ¤¯¤Ã¤Æ¶Ã¤¤Þ¤·¤¿¡£ º£¸å¤Î¤³¤È¤â¹Í¤¨¤ë¤È¡¢input / output ¤Ç wire ¤ò¾Êά¤¹¤ë¤Î¤Ï¤ä¤á¤¿Êý¤¬Îɤ¤¤è¤¦¤Ç¤¹¡£ ¡¦¡¦¡¦¤¦¡¼¤ó¡¢¤É¤³¤«¤Ç wire ¤òÆþ¤ì¤ë¤È¥¨¥é¡¼¤Ë¤Ê¤ë¤³¤È¤â¤¢¤Ã¤¿¤è¤¦¤Ê¡©¡©¡© ÂнèË¡£± †¤½¤³¤½¤³°ÂÁ´¤ÊÂнèË¡¤Ï `define ¤ò»È¤¦ÊýË¡¤Ç¡¢
¤ÎÂå¤ï¤ê¤Ë
¤È¤·¤Æ¤ª¤¤¤Æ¡¢¥³¥ó¥Ñ¥¤¥é¥ª¥×¥·¥ç¥ó¤Ç DEFAULT_NETTYPE_NONE ¤òÄêµÁ¤¹¤ë¤È¤¤¤¦ÊýË¡¤Ç¤¹¡£ DEFAULT_NETTYPE_WIRE ¤¬Ì¤ÄêµÁ¤Î¾ì¹ç¤Ë¤â¡¢ÌäÂê¤Ê¤¯¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤ë¤Î¤Ç¡¢ ¥³¡¼¥É¤ò¤½¤Î¤Þ¤ÞÊÌ¤Î¥×¥í¥¸¥§¥¯¥È¤Ë»ý¤Ã¤Æ¹Ô¤Ã¤Æ¤â¾¯¤·¤À¤±ÌµÂ̤ʥ³¡¼¥É¤¬¤¢¤ë ¤È¤¤¤¦¤À¤±¤Ç¼Â³²¤ÏÀ¸¤¸¤Þ¤»¤ó¡£ ÂнèË¡£² †wire ¤â reg ¤âÉÕ¤¤¤Æ¤¤¤Ê¤¤¤¹¤Ù¤Æ¤Î input/output/inout ¤Ë°ì³ç¤Ç wire ¤òÉÕ¤±¤Æ¤·¤Þ¤ª¤¦¡¢¤È¤¤¤¦Êý¿Ë¤Ç¤¢¤ì¤Ð¡¢ (^[ \t]*(input|output|inout)\>)(?! *(wire|reg)) ¤È¤¤¤¦Àµµ¬É½¸½¤Ç¸¡º÷¤·¤Æ¡¢ \1 wire ¤ËÃÖ¤´¹¤¨¤ì¤Ð¡¢¤«¤Ê¤ê¼ê´Ö¤¬¾Ê¤±¤Þ¤¹¡£ ¤Þ¤º¤¤¤Î¤Ï function ¤ÎÃæ¿È¤Ê¤É¤Ç¡¢
¤Þ¤Ç
¤Ë¤µ¤ì¤Æ¤·¤Þ¤¦¤¿¤á¡¢¤½¤ÎÉôʬ¤À¤±¼êºî¶È¤Ç¸µ¤ËÌ᤹¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ±é»»»Ò¤ÎÍ¥Àè½ç°Ì †»²¹Í¡§http://homepage3.nifty.com/hdl_design/verilog_hdl2.htm ¥Ó¥Ã¥È±é»»»Ò¤ÈÅù¹æ †¥Ó¥Ã¥ÈÏÀÍý±é»»»Ò¤Î & ¤ä | ¤è¤ê¤âÅù¹æ¡¦ÉÔÅù¹æ¤ÎÊý¤¬Í¥Àè½ç°Ì¤¬ ¹â¤¤¤³¤È¤ò¤¹¤°¤Ë˺¤ì¤Æ¤·¤Þ¤¤¡¢Äˤ¤Ìܤò¸«¤Þ¤¹¡£
¤³¤ì¤Ï¡¢
¤È²ò¼á¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢
¤È¤·¤¿¤±¤ì¤Ð¡¢³ç¸Ì¤Ïɬ¿Ü¤Ç¤¹¡£ Pascal ¤ä Ruby ¤Ç¤Ï¥Ó¥Ã¥ÈÏÀÍý±é»»¤¬Åù¹æ¤è¤ê¤â¶¯¤«¤Ã¤¿¤Î¤Ç¡¢ º£¤Ç¤â´ª°ã¤¤¤·¤Æ¸¶°ø¤¬Ê¬¤«¤é¤ºÅÓÊý¤ËÊë¤ì¤Þ¤¹¡£ C++ ¤ä C#, Java ¤â¥Ó¥Ã¥ÈÏÀÍý±é»»¤¬Åù¹æ¤è¤ê¼å¤¤¤Î¤Ç¡¢ ¤½¤Á¤é¤Ç¤â´Ö°ã¤¨¤Þ¤¯¤ê¤Ç¤¹¡Êµã Åù¹æ¤È£³¹à±é»»»Ò †
¤Ï¡¢
¤È²ò¼á¤µ¤ì¤ë¤Î¤Ç¡¢
¤È¤·¤¿¤±¤ì¤Ð³ç¸Ì¤Ïɬ¿Ü¤Ç¤¹¡£ ¤³¤ì¤â·ë¹½¤ä¤é¤«¤·¤Þ¤¹¡£ £³¹à±é»»»Ò ? : ¤Ï¤¹¤Ù¤Æ¤Î±é»»»Ò¤ÎÃæ¤ÇºÇ¤âÍ¥Àè½ç°Ì¤¬Ä㤤¡¢¤È³Ð¤¨¤Æ¤ª¤±¤Ð¤¤¤¤¤Î¤Ç¤¹¤Í¡£ Èæ³Ó¤äÂåÆþ¤Ë¤ª¤±¤ë¿®¹æ¤Î¥Ó¥Ã¥È¿ô¤Î¼è¤ê°ã¤¤ †¤Á¤ç¤Ã¤È¤¹¤°¤ËÎ㤬»×¤¤É⤫¤Ð¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢ http://japan.xilinx.com/support/answers/33037.htm ¤Ë¤¢¤ëÏäȻ÷¤¿¤è¤¦¤Ê¾õ¶·¤Ç¡¢Äê¿ô¤ä¡¢±é»»·ë²Ì¤Î¥Ó¥Ã¥È¿ô¤¬¡¢ »×¤¤É⤫¤Ù¤¿¥Ó¥Ã¥È¿ô¤È°Û¤Ê¤ë¤¿¤á¤Ë¡¢²óÏ©¤¬»×¤Ã¤¿¤è¤¦¤Ëưºî¤·¤Ê¤¤¤³¤È¤¬¤·¤Ð¤·¤Ð¤¢¤ê¤Þ¤·¤¿¡£ ÂçÄñ¤Ï¡¢{ 8'h00, some_signal } ¤Î¤è¤¦¤ËÌÀ¼¨Åª¤Ë¿®¹æÉý¤Î³ÈÄ¥¤ò¹Ô¤¦¤³¤È¤Ç²ò·è¤¹¤ë¤Î¤Ç¤¹¤¬¡¢ °ì¸«Àµ¤·¤½¤¦¤Ç´Ö°ã¤Ã¤¿¼°¤ò½ñ¤¯¤³¤È¤¬¤Ç¤¤Æ¤·¤Þ¤¦¤è¤¦¤Ê¤Î¤Ç¡¢Ãí°Õ¤¬É¬ÍפǤ¹¡£ ¼ºÇÔÎã¤ò»×¤¤½Ð¤·¤¿¤éÄɵ¤·¤Þ¤¹¡£ °ú¤»»¤Ç¤Î·å¤¢¤Õ¤ì †marsee ¤µ¤ó¤Ë¶µ¤¨¤Æ¤â¤é¤Ã¤¿Îã¤Ç¤¹¡£ Á°Äó¤È¤·¤Æ¡¢Verilog ¤Ç¤Ï¥Ó¥Ã¥ÈÉý¤ò»ØÄꤷ¤Ê¤¤À°¿ô¤Ï£³£²¥Ó¥Ã¥ÈÉý¤Ç¤¢¤ë¤È²¾Äꤵ¤ì¤Þ¤¹¡£ ¤½¤·¤Æ¡¢±é»»¤Ç¤Ï¥Ó¥Ã¥ÈÉý¤Î¾®¤µ¤¤¿®¹æ¤òÂ礤¤¿®¹æ¤ÎÉý¤Ë¹ç¤ï¤»¤Æ¤«¤é·×»»¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¼¡¤ÎÎã¤Ï rp == 8'h00, wp == 8'hff ¤Î»þ¡¢¸íưºî¤·¤Þ¤¹¡£
¸íưºî¤Î¸¶°ø¤Ï¡¢rp - 1 == wp ¤Îɾ²Á¤¬°Ê²¼¤Î¤è¤¦¤Ë¹Ô¤ï¤ì¤ë¤¿¤á¤Ç¤¹¡£
rp == 8'h00 ¤Î»þ¡¢º¸ÊÕ¤Ï 32'hffffffff ¤È¤Ê¤Ã¤Æ¡¢±¦ÊդΠ32'h000000ff ¤È¤Ï°Û¤Ê¤ë¤Èɾ²Á¤µ¤ì¤ë¤Î¤Ç¤¹¤¬¡¢¤³¤ì¤Ï¥³¡¼¥É¤ò½ñ¤¤¤¿ marsee ¤µ¤ó¤Î°Õ¿Þ¤¹¤ë ¤È¤³¤í¤Ç¤Ï¤Ê¤«¤Ã¤¿¤È¤¤¤¦¤ªÏäǤ¹¡£ ²óÈòºö¤Ï¡¢
¤Î¤è¤¦¤Ë¡¢³ÆÄê¿ô¤ËÀµ¤·¤¯Éý¤ò»ØÄꤹ¤ë¤³¤È¤Ç¤¹¡£ http://marsee101.blog19.fc2.com/blog-entry-763.html ¤Î¥³¥á¥ó¥È¤Ç¤Ï¡Ö¤·»»¤Ê¤é¡¦¡¦¡¦¡× ¤È¤¤¤¦Ïäâ½Ð¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢¥Ó¥Ã¥ÈÉý¤ò»ØÄꤷ¤Ê¤¤¤È¤·»»¤Ç¤â¤¦¤Þ¤¯¹Ô¤«¤Ê¤¤¤Ç¤¹¤è¤Í¡£ º£ÅÙ¤Ï rp == 8'hff ¤Î»þ¤Ë rp + 1 == 32'h00000100 ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤È»×¤¤¤Þ¤¹¡£ ¤Á¤ç¤Ã¤È½ñ¤Êý¤ò̤äƤ·¤Þ¤¦¤Î¤¬¥Ó¥Ã¥ÈÉý¤¬ parameter ¤Ç²ÄÊѤξì¹ç¤Ç¤·¤ç¤¦¤«¡£ ¸«Ä¾¤·¤Æ¤ß¤ë¤È¡¢¼«ºî¤Î [[È󯱴ü FIFO>Åŵ¤²óÏ©/HDL/È󯱴ü¿®¹æ¤ò°·¤¦¤¿¤á¤Î´í¤¦¤¤Verilog¥é¥¤¥Ö¥é¥ê#È󯱴ü FIFO]] ¤Ç¤Ï°Ê²¼¤Î¤è¤¦¤Ê½ñ¤Êý¤ò¤·¤Æ¤Þ¤·¤¿¡£
¤È¤¤¤¦¤«¡¢¼«ºî¤Î¥³¡¼¥É¤Ç¤Ï°Ê²¼¤Î¤è¤¦¤Ë½ñ¤¤¤Æ¤¢¤ë¤Î¤Ç¤¹¤¬¡¢
¤³¤³¤Þ¤Ç¤¹¤ë¤Î¤ÏÀµ¤·¤¤¤È¤Ï¤¤¤¨µÕ¤Ë²ÄÆÉÀ¤¬Äã²¼¤·¤Æ¤¤¤ëµ¤¤¬¤·¤Æ¤¤Þ¤·¤¿¡£
signed ¤È unsigned ¤ò¥·¥¹¥Æ¥à¥¿¥¹¥¯¤ÇÊÑ´¹¤Ç¤¤ë¤è¤¦¤Ë¡¢ ²¿¤«¸À¸ì¾å¤¦¤Þ¤¯¥Ó¥Ã¥ÈÉý¤ò¥Ñ¥é¥á¡¼¥¿¤Ç½ñ¤¯ÊýË¡¤¬¤¢¤ë¤È¤¤¤¤¤Î¤Ç¤¹¤¬¡¢¡¢¡¢ (2010/06/12Äɵ) µÕ¤Ë¥Ó¥Ã¥ÈÉý¤Î¼«Æ°³ÈÄ¥¤ò¤¦¤Þ¤¯ÍøÍѤ¹¤ë¤³¤È¤ò¹Í¤¨¤ë¤È¡¢
¤¬°ìÈÖ Verilog ¤Ã¤Ý¤¤½ñ¤Êý¤Ê¤Î¤«¤â¤·¤ì¤Þ¤»¤ó¤Í¡£ Veritak ¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¥Ú¡¼¥¸¤Î²òÀâ †Verilog ±é»»»Ò¤ÎºÙ¤«¤¤Ãí°Õ»ö¹à¤Ï¡¢Veritak ¤Î verilog ¥Á¥å¡¼¥È¥ê¥¢¥ë ¤È¤Æ¤â¤¿¤á¤Ë¤Ê¤ê¤Þ¤¹¡£ ¼°Ãæ¤Î¥Ó¥Ã¥ÈÉýµÚ¤ÓÉ乿¤Ë´Ø¤¹¤ë´ðËÜŪ¤Ê¹Í¤¨Êý¤Ï¡¢
¤È¤¤¤¦¤³¤È¤À¤½¤¦¤Ç¤¹¡£ ÇÝÉ÷´Û¡Ö£Ò£Ô£ÌÀß·×¥¹¥¿¥¤¥ë¥¬¥¤¥É¡×¤Ë¤è¤ë¤È¡¢¤³¤ì¤é¤Ë²Ã¤¨¤Æ
¥·¥ß¥å¥ì¡¼¥·¥ç¥ó»þ¤Î RAM / ROM ¤Ø¤Î¥¢¥¯¥»¥¹ †¼¡¤Î¥³¡¼¥É¤Ï FIFO ¤ÎÆÉ¤ß½Ð¤·Éôʬ¤òÁÛÄꤷ¤¿¤â¤Î¤Ç¤¹¤¬¡¢ ÆÃ¤Ë¡¢¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤Ç¤Ï´üÂÔÄ̤ê¤Ëư¤«¤Ê¤¤¾ì¹ç¤¬¤¢¤ë¤ß¤¿¤¤¤Ç¤¹¡£
ÌäÂ꤬¤¢¤ë¤Î¤Ï 13 ¹ÔÌܤˤʤê¤Þ¤¹¡£ ¾åµ¤Î¤È¤ª¤ê¡¢rp ¤¬ DEPTH_BITS ¥Ó¥Ã¥ÈÉý¤Ç¤¢¤Ã¤Æ¤â rp + 1 ¤Ï¡¢ 1 ¤¬ 32'd1 ¤È²ò¼á¤µ¤ì¤ë¤¿¤á¡¢±é»»·ë²Ì¤Ï 32 ¥Ó¥Ã¥ÈÉý¤È¤Ê¤ê¤Þ¤¹¡£ Ʊ¤¸¼°¤Î½Ð¤Æ¤¯¤ë 11 ¹ÔÌܤǤϡ¢rp ¤Ø¤ÎÂåÆþ»þ¤Ë¤³¤Î 32 ¥Ó¥Ã¥ÈÉý¤Î¿ôÃͤΠLSB ¤Î DEPTH_BITS ¥Ó¥Ã¥È¤¬¼è¤ê½Ð¤µ¤ì¤ë¤¿¤á¡¢¤½¤Î¤è¤¦¤Ë 32 ¥Ó¥Ã¥È¤Ç±é»»¤µ¤ì¤Æ¤â¼Â³²¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤È¤³¤í¤¬ mem[rp+1] ¤Ç¤Ï¤½¤Î¤è¤¦¤Ê±é»»·ë²Ì¤Ø¤Î¥Ó¥Ã¥ÈÉý¤Ø¤ÎÀ©¸Â¤¬ ¡Ê¾¯¤Ê¤¯¤È¤â¸À¸ì»ÅÍ;å¤Ï¡Ë¸ºß¤·¤Ê¤¤¤¿¤á¡¢ÌäÂ꤬ȯÀ¸¤·¤Þ¤¹¡£ rp == {DEPTH_BITS{1'b1}} ¤Î»þ¡¢rp + 1 ¤Ï 32 ¥Ó¥Ã¥ÈÉý¤Î 1 << DEPTH_BITS ¤ÈÅù¤·¤¤ÃͤȤʤꡢ¤½¤ì¤¬¤½¤Î¤Þ¤Þ mem ¤Ø¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹ ¤È¤·¤Æ»È¤ï¤ì¤Þ¤¹¡£¤¹¤ë¤È¡¢Àë¸À¤µ¤ì¤¿¥ì¥ó¥¸¤ò¥ª¡¼¥Ð¡¼¤·¤Æ¤·¤Þ¤¦¤¿¤á ¥·¥ß¥å¥ì¡¼¥¿¾å¤Ç¤Ï X ¤¬½ÐÎϤµ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¾åµ¥³¡¼¥É¤¬Ä̾ïÄ̤ê¹çÀ®¤µ¤ì¤ì¤Ð RAM ¤Ø¤Î¥¢¥É¥ì¥¹Àþ¤¬ DEPTH_BITS Éý¤È¤Ê¤ë¤Î¤Ç¡¢ ¥¢¥É¥ì¥¹ÃͤȤ·¤Æ¤Ï rp + 1 ¤Î LSB ¤Î DEPTH_BITS ¥Ó¥Ã¥È¤¬»È¤ï¤ì¤ë¤³¤È¤Ë¤Ê¤ê¡¢ ¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤¿£±¥Ó¥Ã¥È¤ÏÀÚ¤ê¼Î¤Æ¤é¤ì¡¢ ÁÛÄêÄ̤ê¥á¥â¥ê¥¢¥É¥ì¥¹£°¤ÎÃͤ¬½ÐÎϤµ¤ì¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢¾åµ¤Î½ñ¤Êý¤Ë¤è¤ëÌäÂê¤Ï¥·¥ß¥å¥ì¡¼¥·¥ç¥ó»þ¤Î¤ß¤·¤«¸½¤ì¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢ ¤¤¤º¤ì¤Ë¤·¤Æ¤â¡¢¾åµ¥³¡¼¥É¤Ë¤Ï²þÁ±¤Î;ÃϤ¬¤¢¤ê¤Þ¤¹¡£ ¸å¤«¤éµ¤¤Å¤¤¤¿¤Î¤Ç¤¹¤¬¡¢¤³¤Î¼ê¤ÎÌäÂê¤ò̤Á³¤ËËɤ°¤¿¤á¡¢ ÇÛÎó¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤·¤Æ¥Ó¥Ã¥ÈÉý¤ÎÂ礤¹¤®¤ëÃͤò¤·¤Æ¤¤¤·¤¿Éôʬ¤Ë¡¢ Synthesis »þ¤Ë¼¡¤Î·Ù¹ð¤¬½Ð¤ë¤è¤¦¤Ç¤¹¡£ Xst:1433 - Contents of array <mem> may be accessed with an index that exceeds the array size. This could cause simulation mismatch. ²þÁ±ºö¤È¤·¤Æ¤Ï rp + 1 ¤ò
¤È¤¤¤Ã¤¿ÊýË¡¤¬¹Í¤¨¤é¤ì¤ë¤È»×¤¤¤Þ¤¹¡£ ±é»»·ë²Ì¤Î¥ª¡¼¥Ð¡¼¥Õ¥í¡¼ †¼¡¤Î¼°¤Ï»×¤Ã¤¿Ä̤ê¤Ëư¤¤Þ¤»¤ó¡£ ¤¿¤Ã¤¯¤µ¤ó¤Î¥Ú¡¼¥¸¤Ë¤¢¤Ã¤¿¤Î¤ò¸«¤Æ¡¢¼«Ê¬¤Ç¤â¤ä¤é¤«¤·¤¿¤Î¤ò»×¤¤½Ð¤·¤Þ¤·¤¿¡£
¤³¤ì¤Ï¡¢a + b ¤¬ 16 ¥Ó¥Ã¥ÈÉý¤Ç±é»»¤µ¤ì¤Æ¤«¤é >> 1 ¤µ¤ì¤ë¤¿¤á¡¢ a + b ¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¬µ¯¤¤¿¾ì¹ç¤Ë¤Ï¥·¥Õ¥È¤ÎÁ°¤ËºÇ¾å°Ì¥Ó¥Ã¥È¤¬¼º¤ï¤ì¤Æ¤·¤Þ¤¦¤¿¤á¤Ç¤¹¡£
¤Ê¤É¤È¤·¤Æ¡¢¾¯¤Ê¤¯¤È¤â°ìÊý¤ò 17 ¥Ó¥Ã¥ÈÉý¤Ë³ÈÄ¥¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ 32 ¥Ó¥Ã¥È°Ê¾å¤Î parameter †Verilog ¤Î parameter ¤Ï¥Þ¥¯¥í¤ÎÃÖ¤´¹¤¨¤È¤Ï°Û¤Ê¤ê¸Çͤο®¹æÀþÉý¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ parameter ¤Ë¤Ï¥Ó¥Ã¥ÈÉý»ØÄ꤬²Äǽ¤Ê¤Î¤Ç¤¹¤¬¡¢ ¿¤¯¤Î¥µ¥ó¥×¥ë¤Ç¤Ï parameter ¤ä localparam ¤Ë¥Ó¥Ã¥ÈÉý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ¾¯¤Ê¤¯¤È¤â Xilinx ISE ¤Ç»î¤¹¸Â¤ê¡¢¥Ó¥Ã¥ÈÉý¤òÌÀ¼¨¤·¤Ê¤¤ parameter / localparam ¤Ï 32 ¥Ó¥Ã¥ÈÉý¤Ë¤Ê¤ë¤¿¤á¡¢¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ»ØÄꤵ¤ì¤¿Ãͤ¬°Õ¿Þ¤»¤ºÀÚ¤ê¼Î¤Æ¤é¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£ parameter ¤Ë 32 ¥Ó¥Ã¥È°Ê¾å¤ÎÃͤòÆþ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï ¥Ó¥Ã¥ÈÉý»ØÄê¤ò˺¤ì¤Ê¤¤¤è¤¦¤Ë¤È³Ð¤¨¤Æ¤ª¤¤Þ¤·¤ç¤¦¡£
¤³¤ì¤òËɤ°¤Ë¤Ï
¤Ê¤É¤È¤·¤Æ¥Ó¥Ã¥ÈÉý¤òÌÀ¼¨¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¼ÂÎã¤È¤·¤Æ¡¢ Ê£¿ô¥Ó¥Ã¥È¥Ð¡¼¥¸¥ç¥ó¤Î double_ff ¤Î½é´üÃͤòÍ¿¤¨¤ë parameter ¤Ë ¥Ó¥Ã¥ÈÉý»ØÄê¤ò»È¤Ã¤¿Îã¤òµó¤²¤Æ¤ª¤¤Þ¤¹¡£ Åŵ¤²óÏ©/HDL/¥³¡¼¥ÉÃæ¤ËÀ©Ìó¤ò½ñ¤¯¤È¤¤ÎÃí°ÕÅÀ#¥Ó¥Ã¥ÈÉý¤Î³ÈÄ¥
¤³¤ì¤ÈƱÍͤˡ¢
¤Ê¤É¤È¤·¤¿¾ì¹ç¡¢¤³¤ì¤Ï
¤ÈƱ¤¸°ÕÌ£¤Ç¡¢ÃÍ¤Ï default ¤Î unsigned ¤Ë¤Ê¤ë¤¿¤á¡¢ËÜÅö¤ËÉ乿ÉÕ¤¤Ç°·¤¤¤¿¤¤»þ¤Ë¤Ï
¤È¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤³¤Î¤¢¤¿¤ê¤Ï
¤È¤·¤¿¾ì¹ç¤ÈÂ礤¯°Û¤Ê¤ë¤¿¤áÃí°Õ¤¬É¬ÍפǤ¹¡£ ÁȤ߹ç¤ï¤»²óÏ©¤ò always ¤ä function ¤Ç½ñ¤¯ºÝ¤Ë¤¤¤í¤¤¤í¥ß¥¹¤ê¤ä¤¹¤¤ †ÇÝÉ÷´Û¡Ö£Ò£Ô£ÌÀß·×¥¹¥¿¥¤¥ë¥¬¥¤¥É¡×¤Ç¤Ï¡¢ ÁȤ߹ç¤ï¤»²óÏ©¤òºîÀ®¤¹¤ë¤Ë¤Ï reg + always ¤¢¤ë¤¤¤Ï wire + assign + function ¤ò»È¤¦¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¡£ Î㤨¤Ð¡¢
¤È¤«¡¢
¤È¤¤¤Ã¤¿¶ñ¹ç¤Ç¤¹¡£ ¤³¤ì¤é¤Îµ½Ò¤Î·çÅÀ¤È¤·¤Æ¡¢
¤Ê¤É¤Î¥ß¥¹¤¬À¸¤¸¤ä¤¹¤¤¤³¤È¤¬µó¤²¤é¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤é¤ÈÈæ³Ó¤·¤Æ¡Ö°¤¤Îã¡×¤È¤·¤Æ¡¢
¤È¤¤¤¦¤Î¤¬µó¤²¤é¤ì¤Æ¤¤¤Þ¤·¤¿¡£ Û©¤¯¡¢¡Ö£³¹à±é»»»Ò¤¬Ï¢Â³¤¹¤ë¤ÈÆÉ¤ß¤Ë¤¯¤¤¤Î¤ÇÈò¤±¤ë¤Ù¤¡×¤È¤Î¤³¤È¤Ç¤·¤¿¡£ ¤Û¤ó¤È¡© †¡¦¡¦¡¦¤¤¤ä¤¤¤ä¡¢¤³¤ì¤Ã¤ÆÃ±¤Ë¥¤¥ó¥Ç¥ó¥È¤ä³ç¸Ì¤òÉÕ¤±¤ì¤ÐÎɤ¤ÌäÂê¤Ç¤Ï¡©¡©¡© ¸Ä¿ÍŪ¤Ë¤Ï¾åµ¤Î²óÏ©¤Ï¡¢always ¤ä function ¤ò»È¤Ã¤¿¤Î¤ËÈæ¤Ù¤Æ¤â¡¢
¤È½ñ¤¯¤Î¤¬ÆÉ¤ß¤ä¤¹¤¯´¶¤¸¤Þ¤¹¡£ ¤¢¤ë¤¤¤Ï¡¢¡Ö¾ò·ïʸ¤Ç¤ÏÎ㳰Ū¤Ê¤â¤Î¤òÀè¤Ë½èÍý¤¹¤ë¡×¤È¤¤¤¦ ¥½¥Õ¥È¥¦¥§¥¢¤Ç¤è¤¯ÃΤé¤ì¤¿¥¹¥¿¥¤¥ë¥¬¥¤¥É¤òŬÍѤ¹¤ë¤Ê¤é¡¢ ¸µ¤Î²óÏ©¤Îʤӽç¤òÊѹ¹¤·¤Æ
¤È¤¹¤ì¤Ð¤µ¤é¤ËÆÉ¤ß¤ä¤¹¤¤¤Ç¤¹¤Í¡£ ¤³¤Á¤é¤¬ÆÉ¤ß¤ä¤¹¤¤¤È»×¤¦Íýͳ¤È¤·¤Æ¤Ï¡¢
¤¢¤¿¤ê¤Ç¤¹¡£¾åµ¤Î¤è¤¦¤Êµ½Ò¤ò¿ÍѤ¹¤ë¤³¤È¤Ç¡¢
¤½¤ì¤¾¤ì¸ÂÄꤷ¤Æ»È¤¦¤³¤È¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ ÅöÁ³¡¢¤ä¤ä¤³¤·¤¤·×»»Éôʬ¤Ï function ¤Ë¤Þ¤È¤á¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¤¬¡¢ ¾åµ¤Î¤è¤¦¤Ë»°¹à±é»»»Ò¤Ç´Êñ¤Ë½ñ¤±¤ë¤â¤Î¤ò¤ï¤¶¤ï¤¶ function ¤Ë¤¹¤ë¤³¤È¤Ï ¥³¡¼¥É¤Ë¥Î¥¤¥º¤òÁý¤ä¤¹¤À¤±¤Ê¤Î¤ÇÈò¤±¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ £±ÅÀ¡¢
¤Ë´Ø¤·¤Æ¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤ä lint ¤Ë¥Ó¥Ã¥ÈÉý¤Î¥ß¥¹¥Þ¥Ã¥Á¤ò¸¡½Ð¤µ¤»¤ëÌÜŪ¤Ç¡¢ ¥Ó¥Ã¥ÈÉý¤Î°Û¤Ê¤ëÂåÆþ¤äÈæ³Ó¤ËÂФ¹¤ë·Ù¹ð¤¬£±¤Ä¤â½Ð¤Ê¤¤¤è¤¦¤Ê¥³¡¼¥Ç¥£¥ó¥°¤ò ¿´¤¬¤±¤ë¤Î¤Ç¤¢¤ì¤Ð¼çÄ¥¤ò¼è¤ê²¼¤²¤Þ¤¹¡£ S==1'b0 ¤ä S==1'b1 ¤Îµ½Ò¤Ë¤è¤ê¡¢ ¼«Æ°Åª¤Ë¤¹¤Ù¤Æ¤Î²Õ½ê¤Ë¤ª¤±¤ë¥Ó¥Ã¥ÈÉý¤Î¥Á¥§¥Ã¥¯¤¬¤Ç¤¤ë¤Ê¤é¡¢ ¤³¤ì¤é¤Îµ½Ò¤¬¾éĹ¤È¤Ï»×¤¤¤Þ¤»¤ó¡£ ¤¿¤À»ä¤¬ Xilinx ISE ¾å¤Ç¥³¡¼¥Ç¥£¥ó¥°¤¹¤ë¸Â¤ê¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Î·Ù¹ð¤ò¤¹¤Ù¤Æ¤Ä¤Ö¤¹¤è¤¦¤Ê ¥³¡¼¥Ç¥£¥ó¥°¤Ï¤Û¤ÜÉÔ²Äǽ¤Ç¡¢S==1'b0 ¤ä S==1'b1 ¤Îµ½Ò¤Ç¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤ë¥Ó¥Ã¥ÈÉý¥Á¥§¥Ã¥¯¤¬Íưפˤʤ뤳¤È¤Ï˾¤á¤Þ¤»¤ó¤Ç¤·¤¿¡£ ¤½¤Î¤è¤¦¤ÊÌÜŪ¤¬¤Ê¤¤¸Â¤ê S==1'b0 ¤Ê¤É¤Îµ½Ò¤Ïñ¤Ë¾éŤÀ¤È»×¤¤¤Þ¤¹¡£ ¾åµ¤Î¥¹¥¿¥¤¥ë¥¬¥¤¥ÉËܤǤ⡢¤ï¤¶¤ï¤¶¤½¤¦½ñ¤«¤Ê¤¯¤Æ¤âÎɤ¤¤«¤â¤·¤ì¤Ê¤¤¡¢ ¤È¡Ê¤¢¤Þ¤ê¾è¤êµ¤¤¸¤ã¤Ê¤¤Ê·°Ïµ¤¤Ç¡©¡Ë½ñ¤¤¤Æ¤¤¤ë¾Ï¤¬¤¢¤ê¤Þ¤¹¤Í¡£ Ê̤ÎÎ㠆Ʊ¥¹¥¿¥¤¥ë¥¬¥¤¥É¤Ç¤Ï¡¢
¤È¤«¡¢
¤Ê¤É¤È¤¤¤¦¤Î¤â¾Ò²ð¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¤³¤ì¤é¤â
¤Ç½½Ê¬¤À¤È»×¤¤¤Þ¤¹¡£ ¥³¡¼¥É¤Ë¥Î¥¤¥º¤¬¾¯¤Ê¤¤Ê¬¡¢²¿¤ò¤ä¤Ã¤Æ¤¤¤ë¤«¤¬°ìÌÜÎÆÁ³¤Ç¤¹¡£ ¤Þ¤¢¤³¤ÎÎã¤Ç¤¢¤ì¤Ð¤à¤·¤í¡¢
¤È½ñ¤¯¤Î¤¬ºÇ¤â²óÏ©¤Î°Õ¿Þ¤òÎɤ¯É½¤ï¤·¤Æ¤¤¤ë¤È»×¤¦¤Î¤Ç¤¹¤¬¡¢ ¤³¤ì¤À¤È AIN ¤ËÉÔÄê¥Ó¥Ã¥È¤¬´Þ¤Þ¤ì¤ë¤È¤¤Îưºî¤¬°Û¤Ê¤ë¤Î¤Ç¡¢ ¸·Ì©¤Ë¤Ï¥ë¡¼¥ë°ãÈ¿¤Ç¤·¤ç¤¦¤«¡£ ²¿¤Ë¤·¤Æ¤â¡¢²óÏ©¤Î°Õ¿Þ¤òºÇ¤â¥·¥ó¥×¥ë¤Ëɽ¤»¤ëµ½Ò¤òõ¤¹¤³¤È¤òÍ¥À褷¤¿¤¤¤Ç¤¹¡£ ¤¿¤Ö¤ó¤³¤Îµ»ö¤Ë¤ÏÈãȽ¤¬Â¿¤¤¤È»×¤¤¤Þ¤¹ †¥¹¥¿¥¤¥ë¥¬¥¤¥ÉËÜ¤Ë¾Ò²ð¤µ¤ì¤Æ¤¤¤ë¤¢¤¿¤ê¡¢Verilog ³¦¤Ç¤Ï ? : ¤ÎÏ¢º¿¤òÈò¤±¤ë¤³¤È¤ä¡¢ ¾ò·ï¼°¤Ç¤Ï S==1'b1 ¤Ê¤É¤ÈÈæ³Ó¤¹¤ë¤Î¤¬¾ï¼±¤È¤µ¤ì¤Æ¤¤¤ë¤Î¤À¤È»×¤¤¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¾åµ¤Î¤è¤¦¤Êµ»ö¤ò½ñ¤¯¤È¤ª¼¸¤ê¤ÎÀ¼¤â¿¤¯Ê¹¤³¤¨¤Æ¤¤½¤¦¤Ç¤¹¡£ ÅöÁ³¡¢¸Ä¡¹¤Î¥Á¡¼¥àÆâ¤Ç¤Î¥³¡¼¥Ç¥£¥ó¥°µ¬Ìó¤ò½¤Àµ¤·¤Æ¤Þ¤Ç̵Íý¤Ë´«¤á¤ëµ¤¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢ ÎäÀŤ˾嵤βóÏ©¤Î¤É¤ì¤¬°ìÈ֯ɤߤ䤹¤¤¤«¡¢¥ß¥¹¤¬Æþ¤ê¤Ë¤¯¤¤¤«¤ò¹Í¤¨¤Æ¤ß¤ë¤È¡¢ ·ëÏÀ¤¬ÊѤï¤ë¤³¤È¤â¤¢¤ë¤Î¤Ç¤Ï¤È»×¤Ã¤¿¤¿¤áµ»ö¤Ë¤·¤Æ¤ß¤Þ¤·¤¿¡£ ¥×¥é¥¤¥ª¥ê¥Æ¥£¥í¥¸¥Ã¥¯¤ÎÏà †Verilog ¤Ç¤ÏËÜÍè¡¢ if ʸ¤Ç½ñ¤¤¤¿Éôʬ¤Ë¤Ä¤¤¤Æ¤Ï¾ò·ïȽÊÌ¥í¥¸¥Ã¥¯¤Ë¥×¥é¥¤¥ª¥ê¥Æ¥£¤¬ÉÕ¤¯¤¿¤á¡¢ ¾ò·ïȽÊÌ¥í¥¸¥Ã¥¯¤Î½ç½ø¤ò¤Ò¤Ã¤¯¤êÊÖ¤¹¤è¤¦¤ÊºÇŬ²½¤¬ÍÞÀ©¤µ¤ì¤ë¤Î¤À¤½¤¦¤Ç¤¹¡© ¡ÊXilinx ¤Î¥Ä¡¼¥ë¤Ç¼ÂºÝ¤Ë¤É¤¦¤Ê¤Î¤«¤Ï̤³Îǧ¡Ë ¤½¤¦¤¤¤¦°ÕÌ£¤Ç¥×¥é¥¤¥ª¥ê¥Æ¥£¤ò¿¿¤ËɬÍפȤ¹¤ëÉôʬ¤Ë¤Ä¤¤¤Æ¤Ï if ¤Ç½ñ¤«¤ì¤¿¥³¡¼¥É¤ò°Â°×¤Ë ? : ¤Ë½ñ¤´¹¤¨¤ë¤ï¤±¤Ë¤Ï¤¤¤«¤Ê¤¤¤Ç¤¹¤Í¡£ ¾åµ¤Î S, M, A, B, C ¤«¤é Y ¤ò·×»»¤¹¤ë²óÏ©¤Î½ñ¤´¹¤¨¤Ï ½ñ¤´¹¤¨¸å¤Î¥³¡¼¥É¤Ç°Õ¿Þ¤È°Û¤Ê¤ë²óÏ©¤¬À¸À®¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¤Î¤ÇÃí°Õ¤¬É¬ÍפǤ¹¡£ System Verilog ¤Ç¤Ï priority if ¤È unique if ¤È¤ò»È¤¤Ê¬¤±¤ë¤³¤È¤¬¤Ç¤¤ë¤½¤¦¤Ç¤¹¡£ µÕ¤Ë¡¢¥³¡¼¥É¤Ëµ½Ò¤·¤¿Ä̤ê¤Î¥×¥é¥¤¥ª¥ê¥Æ¥£¤Ë¸ÂÄꤻ¤º¡¢ ɬÍפ˱þ¤¸¤Æ¾ò·ï¥í¥¸¥Ã¥¯¤òºÇŬ²½¤·¤ÆÍߤ·¤¤¤È¤¤Ë¤Ï if ʸ¤Ç¤Îµ½Ò¤ÏÈò¤±¤ë¤Ù¤¤Ê¤ó¤Ç¤¹¤Í¡£ ¥¤¥ó¥×¥ê¥á¥ó¥È»þ¤Î¥ï¡¼¥Ë¥ó¥°Íó¤ò¸«¤ä¤¹¤¯¤¹¤ë¹©É× †¥½¥Õ¥È¥¦¥§¥¢¤Î¥×¥í¥°¥é¥ß¥ó¥°¤Ç¤â¤½¤¦¤Ê¤Î¤Ç¤¹¤¬¡¢ ºÇ¶á¤Î¥³¥ó¥Ñ¥¤¥é¤Ï¤«¤Ê¤ê¸¤¤¤Î¤Ç¡¢ ¥Ð¥°¤ò´Þ¤à¥³¡¼¥É¤òÍ¿¤¨¤ë¤È¹â³ÎΨ¤ÇŪ³Î¤Ê·Ù¹ð¤ò½Ð¤·¤Æ¤¯¤ì¤ë¤¿¤á¡¢ ¤Á¤ã¤ó¤È·Ù¹ðÍó¤ËÌܤò¸÷¤é¤»¤Æ¤¤¤ì¤Ð¥Ç¥Ð¥Ã¥°¤Î¼ê´Ö¤òÂçÉý¤Ë¾Ê¤¯¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ¤½¤·¤Æ¡¢¥³¥ó¥Ñ¥¤¥é¤«¤é¤Î·Ù¹ð¤ò͸ú¤Ë³èÍѤ¹¤ë¤¿¤á¡¢ ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë½Ð¤ë·Ù¹ð¤Ï¡¢¤½¤ì¤¬Ìµ³²¤Ê¤â¤Î¤Ç¤¢¤ë¤³¤È¤¬ÌÀ¤é¤«¤Ç¤â¡¢ ¥³¡¼¥Ç¥£¥ó¥°¤ò¹©Éפ¹¤ë¤³¤È¤Ç¾å¼ê¤Ë¾Ã¤¹¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤ÆÄ̾ï¤Î¥½¥Õ¥È¥¦¥§¥¢³«È¯¤Ç¤Ï¡¢ ¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤â£±¤Ä¤â¥³¥ó¥Ñ¥¤¥ë·Ù¹ð¤¬½Ð¤Ê¤¤¤Î¤¬ÉáÄ̤Ǥ¹¡£ ¤·¤«¤· Xilinx ISE ¤Ç Verilog ¤òÍѤ¤¤Æ¥³¡¼¥Ç¥£¥ó¥°¤·¤Æ¤¤¤ë¸Â¤ê¡¢ ¥³¡¼¥Ç¥£¥ó¥°¤Î¹©ÉפÀ¤±¤Ç¤Ï·Ù¹ð¤ò¸º¤é¤¹¤³¤È¤¬¤Ç¤¤º¡¢ ·ë²Ì¤È¤·¤Æ·Ù¹ðÍó¤¬Ìµ³²¤Ê·Ù¹ð¤Ç¤¢¤Õ¤ì¤Æ¤·¤Þ¤Ã¤Æ ËÜÅö¤Ë´í¸±¤Ê·Ù¹ð¤Ëµ¤¤Å¤±¤Ê¤¤¾õ¶·¤Ç³«È¯¤ò¿Ê¤á¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤è¤¦¤Ç¤¹¡£ Î㤨¤Ð PicoBlaze ¤ä CoreGenerator ¤Ê¤É¡¢Xilinx ¤Î¥é¥¤¥Ö¥é¥ê¤òÁȤ߹þ¤à¤À¤±¤Ç¿ôÉ´¤â¤Î·Ù¹ð¤¬½Ð¤Þ¤¹¤Î¤Ç¡¢ ¤â¤¦¤¦¤ó¤¶¤ê¡¢¡¢¡¢¤Ê¤Î¤Ç¤¹¡£ ·Ù¹ðÍó¤ò͸ú³èÍѤ¹¤ë¤¿¤á¤ÎÊýË¡¤ò¥á¥â¤·¤¿¤¤¤È»×¤¤¤Þ¤¹¡£ Message Filter ¤ò»È¤¦ †
¤Ê¤É¤«¤é¡¢ ̵³²¤Ê·Ù¹ð¤Ï¥³¡¼¥Ç¥£¥ó¥°¤Î¹©ÉפǤϤʤ¯¡¢¥³¥ó¥Ñ¥¤¥é½ÐÎϤòÌܤÇÄɤ¦Ãʳ¬¤Ç¥Õ¥£¥ë¥¿¤¹¤ë¡¢ ¤È¤¤¤¦ÊýË¡¤¬Ä󶡤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£ Google:Xilinx ISE Message Filter Project Navigator ¤Ç¤Î¥á¥Ã¥»¡¼¥¸ ¥Õ¥£¥ë¥¿¤ÎÀßÄê ¤³¤ì¡¢¥Õ¥£¥ë¥¿¤Î¿ô¤¬¾¯¤Ê¤¤¤¦¤Á¤Ï¤è¤¤¤Î¤Ç¤¹¤¬¡¢¥Õ¥£¥ë¥¿´ÉÍý¤Î GUI ¤¬¼å¤¹¤®¤ë¤¿¤á¡¢ ²¿É´¤â¤Î¥Õ¥£¥ë¥¿¤ò This Instance Only ¤ÇÄɲ䷤Ƥ¤¤¯¤È¡¢ ¥Õ¥£¥ë¥¿¤Îºï½ü¤ä̵¸ú²½¤ò¤·¤¿¤¤¤È¤¤Ë¤Ë¤Ã¤Á¤â¤µ¤Ã¤Á¤â¤¤¤«¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ [Edit Message Filters] ¥á¥Ë¥å¡¼¤òÁª¤Ö¤À¤±¤Ç¿ô½½Éäλþ´Ö¤¬³Ý¤«¤ê¡¢ ¤Ê¤ª¤«¤Ä¥Õ¥£¥ë¥¿¤Î̵¸ú²½¡¦Í¸ú²½¤ä¡¢ºï½ü¤Ë¤Ï¡¢ £±¤Ä£±¤Ä¤Î¥Õ¥£¥ë¥¿¤ËÂФ·¤Æ¥Þ¥¦¥¹¤Ç¤ÎÁàºî¤¬É¬Íפˤʤê¤Þ¤¹¡£ ¤Þ¤È¤á¤Æºï½ü¤Ç¤¤Ê¤¤ GUI ¤Ï¡¢¤¢¤Þ¤ê¤Ë¼ê¤òÈ´¤¤¹¤®¤Ç¤¹¡£ ISE 11 ¤Þ¤Ç¤Ï¤³¤ì¤é¤Î¥Õ¥£¥ë¥¿¤Ï¥×¥í¥¸¥§¥¯¥È¥Ç¥£¥ì¥¯¥È¥ê¤Î filter.filter ¡Ê¤À¤Ã¤¿¤Ã¤±¡©¡Ë¤È¤¤¤¦¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤¿¤Î¤Ç¡¢ ºÇ¸å¤Î¼êÃʤϤ³¤ì¤ò¿µ½Å¤Ë¥Æ¥¥¹¥È¥¨¥Ç¥£¥¿¤ÇÊÔ½¸¤¹¤ë¤³¤È¤Ç¤·¤¿¡£ ISE 12 ¤Ç¤Ï³ÊǼ¾ì½ê¤¬ÊѤï¤Ã¤¿¤è¤¦¤Ç iseconfig/filter.filter ¤Ç¤¹¤Í¡£ ¤¤¤¶¤È¤Ê¤Ã¤¿¤é¤³¤ì¤òÊÔ½¸¤¹¤ë¥½¥Õ¥È¤ò¼«ºî¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤â¡¢ ¤È»×¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢¤¹¤Ç¤Ë¤É¤³¤«¤Ë¤¢¤Ã¤¿¤ê¤¹¤ë¤Î¤Ç¤·¤ç¤¦¤«¡© ¡ÊÄɵ¡Ë¤·¤«¤¿¤¬¤Ê¤¤¤Î¤Ç¡¢·ë¶É¼«Ê¬¤Çºî¤ë±©Ìܤˡʵã ̤¹Æ †°Ê²¼¡¢¼«Ê¬¤Ç½ñ¤¤¤¿¥³¡¼¥É¤«¤é¤Ê¤ë¤Ù¤¯·Ù¹ð¤ò½Ð¤µ¤Ê¤¤¹©Éפò¥á¥â¤í¤¦¤È¤·¤¿¤Î¤Ç¤¹¤¬¡¢¡¢¡¢ ¤Þ¤À¤¢¤Þ¤ê¸«¤Ä¤±¤é¤ì¤Æ¤¤¤Þ¤»¤ó¡£ WARNING:Xst:2677 - Node <????????> of sequential type is unconnected in block <????>. HDLCompilers:261 - "????????" line ???? Connection to output port '??????' does not match port size ¤¢¤¿¤ê¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥Ô¥ó¤ò°Õ¿ÞŪ¤Ë»È¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤ò»ØÄꤹ¤ë¹½Ê¸¤¬ verilog ¤Î¸À¸ì»ÅÍͤˤ¢¤ì¤ÐÎɤ¤¤Î¤Ç¤¹¤¬¡¢¤¿¤Ö¤ó¤Ç¤¤Ê¤¤¤Î¤Ç¤¹¤è¤Í¡£ ¥³¥á¥ó¥È †Àë¸À¤¹¤ë̾Á°¤Ë¹©Éפ¹¤ë †
Verilogµ½Ò¤Î»þ¤Î¼ºÇÔÎã †
̵Âê †
()¤Ïɬ¿Ü¤Ç¤¹ †
Àë¸À¤µ¤ì¤Æ¤¤¤Ê¤¤¿®¹æÀþ¤¬Éý£±¤Î wire ¤È¤·¤Æ²ò¼á¤µ¤ì¤ë¤Î²ò·èË¡ †
|