¡¡¡¡ASICÓ¦ÓÃÁìÓò
¡¡¡¡µ±´ú ASIC ( Application Specific Intergrated Circuits ) ¼¼ÊõµÄÖ÷ÒªÓ¦ÓÃÁìÓò£¬´óÖ¿ÉÒÔ·ÖΪÈý¸ö·½Ãæ°É¡£
¡¡¡¡µÚÒ»¡¢Ð¾Æ¬Éè¼ÆºÍÑéÖ¤ÁìÓò£¬Õâ¸öÒ²Êǵ±Ç°×îÈÈÃŵÄÁìÓò¡£
¡¡¡¡µÚ¶þ¡¢Êý¿Ø£¬×Ô¶¯»¯£¬ÌØÖÖÒÇÆ÷ÒÇ±í£¬ÌØÖÖÉ豸ÁìÓò£¬ÓÉÓÚÐèÇóÌØÊ⣬ºÜÄÑÕÒµ½Á¿²úµÄͨÓÃоƬ£¬ËùÒÔÓà CPLD / FPGA À´ÊµÏÖÓ²Âß¼¾Í³ÉÁËΨһµÄÑ¡Ôñ¡£
¡¡¡¡µÚÈý¡¢ÐèÒªÏÖ³¡ÏµÍ³Öع¹µÄ³¡ºÏ£¬ÈçÊÖ»ú£¬³µÔصç×ÓÉ豸µÈµÈ£¬ÒòÓ¦²»Í¬µÄϵͳ¼´Ê±ÈÎÎñ£¬¶Ô CPLD / FPGA ½øÐÐÏÖ³¡±à³Ì£¬ÒÔÊÊÓ¦²»Í¬µÄËã·¨ºÍ¿ØÖÆÈÎÎñ¡£
¡¡¡¡ºÍ CPLD / FPGA Ä¿Ç°µÄ¹ã·ºÓ¦Óò»ÊǺÜÏà³ÆµÄÊÇ¿ªÔ´ºÍ×ÔÓÉÈí¼þÔÚ ASIC ·½Ã滹±È½ÏÔʼ£¬Òª´ïµ½Ïñ Apach, GCC ... µÈÕâЩ¿ªÔ´Èí¼þÄÇÑùµÄ³ÉÊì³Ì¶È£¬¿ÖÅ»¹ÓÐÏ൱³¤Ò»¶Î·Ҫ×ߣ¬µ«ÊÇ×÷Ϊѧϰ»òÕßÊÇÃÅÊýÓÐÏÞµÄÖÐС¹æÄ£µÄµç··ÂÕ棬ÏÖÓÐµÄ GNU ¹¤¾ßÓ¦¸ÃÊǸöºÜºÃµÄÑ¡Ôñ£¬ÒòΪÏÖÔÚµÄÉÌÒµ ASIC ¹¤¾ßʵÔÚÊÇÌ«¹ó¡£
¡¡¡¡±¾ÎĽö½öÊÇÒ»¸ö½éÉÜÐÔµÄÎÄÕ£¬Í¨¹ýÒ»¸ö¿ªÔ´ÏîÄ¿µÄ¼òµ¥Àý×ÓÀ´ËµÃ÷Ò»ÏÂÓ²¼þÉè¼ÆµÄ»ù±¾¸ÅÄ±¾ÎÄËùÉæ¼°µ½µÄÏà¹Ø֪ʶÇë´ó¼Ò×Ô¼ºÕÒ×ÊÁÏѧϰ¡£
¡¡¡¡±¾ÎĽ«ÒÔ Gentoo Linux ×÷ΪϵͳÀ´ËµÃ÷£¬ÓÃÆäËû·¢ÐаæµÄÅóÓÑ£¬Çë×ÔÐа²×°ÏàÓ¦µÄÈí¼þ°ü£¨iverilog, gtkwave£©¡£Ó²¼þÃèÊöÓïÑÔ²ÉÓà verilog ¡£
¡¡¡¡ÏÂÃæÈÃÎÒÃÇÀ´×öÒ»¸öÓ²¼þÉè¼ÆµÄ hello world£º
¡¡¡¡µÚÒ»²½¡¢°²×°Ïà¹ØµÄÈí¼þ°ü£º
¡¡¡¡# emerge iverilog gtkwave
¡¡¡¡µÚ¶þ²½¡¢±àÒë verilog Ô´´úÂ룺
¡¡¡¡$ cp -rv /usr/share/doc/iverilog-0.8 ~
¡¡¡¡$ gunzip ~/iverilog-0.8/*.gz
¡¡¡¡ÎÒÃǽ« iverilog µÄÎĵµ¸´ÖƲ¢½âѹµ½ÎÒÃǵÄÓû§Ä¿Â¼ÏÂÃ棬ÀïÃæÓÐ iverilog µÄһЩ·¶ÀýºÍÎÄÕ£¬´ó¼Ò×ÔÐÐÔĶÁһϡ£ÏÖÔÚÎÒÃÇÓÃÆäÖеÄÒ»¸öÄÚ´æÉè¼ÆµÄ¼òµ¥Àý×ÓÀ´Á·Ï°Ò»Ï¡£
¡¡¡¡$ cp ~/iverilog-0.8
¡¡¡¡$ iverilog -o show_vcd show_vcd.vl
¡¡¡¡ÕâÑù½«±àÒë³öÒ»¸ö·ÂÕæ½Å±¾ÃüÁî ./show_vcd, ÔËÐÐÕâ¸öÃüÁ¾Í»áµÃµ½Ò»¸ö·ÂÕæÎļþ show_vcd.vcd, ÎÒÃÇÔÙÓÃÁíÍâÒ»¸ö GNU ÏîÄ¿ gtkwave À´²é¿´Õâ¸öоƬÉè¼ÆµÄÒý½ÅÒÔ¼°¸÷¸ö¼Ä´æÆ÷µÄʱÐò¡£
¡¡¡¡$ ./show_vcd
¡¡¡¡$ gtkwave ./show_vcd.vcd &
¡¡¡¡ÉÏÃæµÄÃüÁî´ò¿ªÁË·ÂÕæÎļþ£¬µ«ÊÇÕý³£Çé¿öÏ£¬Ä㻹ÊÇ¿´²»µ½Èκζ«Î÷¡£ÔÚ gtkwave ´°¿ÚÖÐÑ¡Ôñ "Search"->"Signal Search Tree", ½«´ò¿ªÐźŲ鿴ѡÔñ´°¿Ú£¬µãÑ¡ÄãÒª²é¿´µÄоƬÒý½Å»òÕ߼ĴæÆ÷£¬È»ºóµã»÷ "Append" °´Å¥£¬ÔÚ gtkwave Ö÷´°¿ÚÖоͻá³öÏÖÏàÓ¦µÄʱÐòÐźš£
¡¡¡¡±¾ÎĵÄÁ½¸ö¸½¼þÊÇÎÒ·Ö±ðÓà iverilog + gtkwave ÒÔ¼°ÉÌÒµÈí¼þ Xilinx ModelSim µÄ·ÂÕæ½á¹ûµÄ½Øͼ£¬¿ÉÒÔ¿´³ö GNU ¹¤¾ßµÄ·ÂÕæ½á¹ûºÍÉÌÒµ ASIC ¹¤¾ßµÄ·ÂÕæ½á¹ûÊÇÍêÈ«ÏàͬµÄ¡£