´ú¿ª¹ãÎ÷·¢Æ±-´ú¿ª¹ãÎ÷סËÞ·¢Æ±¡¾½øÈë²é¿´ÁªÏµ·½Ê½¡¿Ëù¿ªÆ±¾ù¿ÉÑéÏîÄ¿>»áÒ鷢Ʊ>¹ã¸æ·¢Æ±>²ÄÁÏ·¢Æ±>°ì¹«ÓÃÆ··¢Æ±>סËÞ·¢Æ±>²ÍÒû·¢Æ±>¾Æµê·¢Æ±¡ªµÀÔ´²ÆË°ÊÇÒ»¼ÒרΪÄúµÄÆóÒµÌṩһվʽ²ÆË°·þÎñµÄƽ̨£¬¹«Ë¾×¢²á¡¢¹«Ë¾±ä¸ü¡¢¹«Ë¾×¢Ïú¡¢¼ÇÕ˱¨Ë°¡¢²ÆË°¹ËÎÊ¡¢Ë°Îñ³ï»®¡¢ÈËÊ´úÀí¡¢É̱ê×¢²á¡¢´ú°ì×ÊÖÊ¡¢»á¼Æ¡¢×ʲúÇå²é¡¢Éó¼Æ±¨¸æµÈÒµÎñ¡£
ʧҵÈËÔ±ÓëÍËÎé¾üÈË´´°ìÈýÀàÆû³µÐÞÀíËùÄÜ·ñÏíÊÜË°ÊÕÓÅ»Ý
¡¾ÊµÓá¿È¡µÃµÄ²»¹æ·¶·¢Æ±£¬ÄÜ·ñÔÚÆóÒµËùµÃË°Ë°Ç°¿Û³ýÄØ£¿
ÕýÎÄ ÎÒÓÃChatGPTÉè¼ÆÁËÒ»¿ÅоƬ ºÜÄÑÃèÊöÔÚÎÒÃæÇ°ÓÐÒ»¿éÎÒ²ÎÓëÉè¼ÆµÄ¹¤×÷¹èƬÊǶàôÁîÈ˾ªÆ棬ÌرðÊÇÒòΪÎÒÒÔÇ°´ÓδÕæÕýÉè¼Æ¹ýÈκÎÁ÷Ƭ¡£ ±àÕß°´¹ýÈ¥Ò»Äê¶àÒÔÀ´£¬ChatGPTÒý·¢µÄAIÀ˳±Ï¯¾íÈ«Çò¡£×î½ü£¬±¾ÎÄ×÷ÕßҲͨ¹ýÓë OpenAI µÄ GPT-4 ¶Ô»°ºÏ×÷£¬ÊµÏÖÁËÒ»¸öÓµÓÐ 8 λ΢¼Ü¹¹Éè¼Æ£¬Æäÿ¸ö×é¼þºÍÿ¸öÐźŶ¼ÊÇÓÉ GPT-4 µÄ×÷Õß´´½¨µÄ¡£ÎÒÃÇÉõÖÁÔÚ²âÊÔ¹ý³ÌÖз¢ÏÖ GPT-4 ´íÎóºó¶ÔÆä½øÐÐÁËÐÞ²¹£¬²¢ÌṩÁË¶Ô ISA ±¾ÉíÉè¼ÆµÄ¼û½â¡£ÒÔÏÂΪÎÄÕÂÕýÎÄ£º½ñÄêÔçЩʱºò£¬ÎÒ£¨Ö¸´ú±¾ÎÄ×÷Õߣ©ÕýÔÚŦԼ´óѧ´Óʲ©Ê¿ºó¹¤×÷£¬ÆäÖÐÖ®Ò»ÊÇ̽Ë÷Verilog ´óÐÍÓïÑÔÄ£Ð͵ÄʹÓá£ÎÒÃǶÔʹÓà ChatGPT µÈ LLM À´Éè¼ÆÓ²¼þµÄ¸÷ÖÖ²»Í¬Ó¦ÓóÌÐò½øÐÐÁË»ù×¼²âÊÔ£¬°üÀ¨¹æ·¶½âÊÍ¡¢Éè¼ÆÒÔ¼°´íÎó¼ì²âºÍÐÞ¸´¡£ÎÒÃÇÊÇÕâ¸öÁìÓòµÄÏÈÐÐÕßÖ®Ò»£¬ÔçÔÚ 2020 Äê¾Í¿ªÊ¼Ê¹Óà GPT-2 ºÍ Verilog¡£ÎÒÁ¢¼´¶ÔÉÏÊöÌû×Ó²úÉúÁËÐËȤ£¬µ«ÓÉÓÚʵ¼ÊÁ÷ƬµÄ³É±¾¹ý¸ß£¬ÎÒÃÇһֱʹÓà FPGA ºÍÄ£Äâ¡£µ«ÊÇ£¬Ä£ÄâÓëÏÖʵ֮¼ä×ÜÊÇ´æÔÚ²î¾à£¬Òò´Ë±íÃ÷LLMºÍÈ˹¤ÖÇÄÜȷʵ¿ÉÒÔÉú²úоƬ¿ÉÄܶÔÎÒÃǵÄÑо¿ÁìÓòÀ´ËµÊÇÒ»¸ö¸£Òô¡£ÎÒÃÇÄÜ·ñʹÓÃÃâ·ÑÁ÷ƬµÄTiny Tapeout ×÷ΪʵÏÖ´ËÄ¿µÄµÄ¹¤¾ß£¬²¢Ê¹ÓÃLLM²»½ö±àд Verilog£¬»¹ÎªÕæÕýµÄоƬÉè¼Æ Verilog£¿ÎÒÓëÎҵĵ¼Ê¦ºÍÆäËû¼¸Î»²©Ê¿Éú½øÐÐÁ˽»Ì¸£¬ÎÒÃǼ¯Ë¼¹ãÒæÁËһЩÏë·¨¡£Tiny Tapeout ·Ç³£Ð¡£¬Ö»ÓÐ 1000 ¸ö±ê×¼µ¥Ôª×óÓÒ£¬ÕâÒâζ×ÅÉè¼Æ»áÊܵ½ºÜ´óÏÞÖÆ£¬µ«ÎÒÃǶ¼·Ç³£Ï²»¶Õâ¸öÏë·¨£¬ÌرðÊÇÒòΪËƺõ»¹Ã»ÓÐÈË×öµ½¹ý£¬ËùÒÔÈç¹ûÎÒÃÇÐж¯Ñ¸ËÙ£¬ÎÒÃÇ¿ÉÄÜ»áÄܹ»×öµ½ÊÀ½ç*£¡ËùÒÔ£¬ÎÒÃǾö¶¨È¥×ö¡£µ«ÏÖÔÚ£¬»¹ÓкܶàÆäËûÊÂÇéÐèÒª¿¼ÂÇ¡£¼øÓÚÉè¼Æ¿Õ¼äÈç´Ë֮С£¬ÎÒÃÇÓ¦¸ÃÌύʲô£¿»¹ÓÐÆäËûÎÊÌâ¡£ÎÒÃÇ´ÓÎÒÃÇ×Ô¼ºÖ®Ç°µÄ¹¤×÷ÖÐÖªµÀ£¬LLM¿ÉÒÔ±àдÏñ Verilog ÕâÑùµÄÓ²¼þÉè¼ÆÓïÑÔ£¬µ«ËûÃÇÖ»ÊDz»Ì«É󤣬Óë Python µÈ¸üÁ÷ÐеÄÓïÑÔÏà±È£¬Óï·¨»òÂß¼´íÎóµÄ·¢ÉúÂÊÒª¸ßµÃ¶à£¬Õâ¾ÍÊÇΪʲôÎÒÎÒµÄÍŶÓÒѾΪ Verilog ÖÆ×÷ÁË×Ô¼ºµÄLLMµÄÔÒò¡£Òò´Ë£¬ÎÒÃÇÐèÒª¾ö¶¨£¬Èç¹ûÎÒÃÇȷʵÏëʹÓÃLLMÀ´ÖÆÔìоƬ£¬£¨1£©ÎÒÃÇÓ¦¸ÃʹÓÃÄĸöLLM£¿£¨2£©ÎÒÃÇÓ¦¸Ã¸øËü¶à´óµÄ°ïÖú£¿£¨3£©ÎÒÃÇÓ¦¸Ã³¢ÊÔʲôprompting strategy£¿Éè¼Æ·½·¨ÎÒÃÇÊ×ÏȾö¶¨ÁËLLM¡£ÎÒÃDz»»áʹÓõ½Ä¿Ç°ÎªÖ¹ÎÒÃÇÒ»Ö±ÔÚʹÓõġ°×Ô¶¯Íê³É¡±·ç¸ñµÄLLM£¬Ö÷ÒªÊÇ OpenAI µÄ Codex ºÍ Salesforce CodeGen£¬¶øÊÇʹÓøüС¢¸ü»ªÀöµÄ¡°¶Ô»°¡±/¡°Ö¸µ¼¡±·ç¸ñµÄ·¨Ñ§Ë¶Ê¿¡£ÎÒÃÇÑ¡ÔñÁË OpenAI µÄ ChatGPT 3.5 ºÍChatGPT 4 °æ¡¢Google µÄ Bard ÒÔ¼°¿ªÔ´µÄ HuggingChat¡£È»ºóÎÒÃÇÏë³öÁËÁ½ÖÖ·½·¨¡£*ÖÖ·½·¨Êdz¢ÊÔÈÃLLMÔÚÒ»ÖÖ·´À¡Ñ»·ÖÐÍê³ÉËùÓÐÊÂÇ飬´Ó¶øΪLLMÌṩһ¸ö¹æ·¶£¬È»ºóΪ¸ÃÉè¼ÆÉú³ÉÉè¼ÆºÍ²âÊÔ¡£È»ºó£¬ÈËÀཫÔÚÄ£ÄâÆ÷ (iVerilog) ÖÐÔËÐвâÊÔºÍÉè¼Æ£¬È»ºó½«ÈκδíÎ󷵻ظøLLM¡£È»¶ø£¬ÎÒÃÇ´Ó¾ÑéÖÐÖªµÀ£¬LLMÓÐʱҲÏ൱ÓÞ´À£¬²¢ÇÒ¿ÉÄÜ»áÏÝÈëÑ»·£¬ËûÃÇÈÏΪ×Ô¼ºÕýÔÚ½â¾öÎÊÌâ»ò¸Ä½øÊä³ö£¬¶øʵ¼ÊÉÏËûÃÇÖ»Êǵü´úÏàͬµÄÊý¾Ý¡£Òò´ËÎÒÃÇÍƲâÓÐʱÎÒÃÇ¿ÉÄÜÐèÒª»ØÀ¡¡°ÈËÀàÔ®Öú¡±¡£Í¨¹ýһЩ³õ²½ÊµÑ飬ÎÒÃǾö¶¨ÁËÒ»¸öÈçÏÂËùʾµÄ³õʼÁ÷³Ì£ºÀíÏëÇé¿öÏ£¬ÈËÀ಻ÐèÒªÌṩ̫¶àÊäÈ룬µ«Õ⻹Óдý¹Û²ì¡£ÔÚÓ²¼þÁ÷Ƭ·½Ã棬ÎÒÃǵÄÄ¿±êÊÇ Tiny Tapeout 3£¬Ëü½«»ùÓÚ Skywater 130nm¡£ËüÓÐһЩÏÞÖÆ£ºÇ°ÃæÌáµ½µÄ 1000 ¸ö±ê×¼µ¥Ôª£¬ÒÔ¼°Ö»ÓÐ 8 λÊäÈ루°üÀ¨ÈκÎʱÖÓ»ò¸´Î»£©ºÍ 8 λÊä³ö¡£Tiny Tapeout ʹÓà OpenLane£¬ÕâÒâζ×ÅÎÒÃÇÒ²½öÏÞÓÚ¿É×ÛºÏµÄ Verilog-2001¡£Éè¼Æʲô£¿ÔÚÕâ¸öʵÑéµÄÔçÆڽ׶Σ¬ÎÒÃǶÔÓë¶Ô»°Ê½LLM½»»¥µÄ±ê×¼»¯ºÍ£¨ÀíÏëÇé¿öÏ£©×Ô¶¯»¯Á÷³ÌµÄDZÁ¦¸ÐÐËȤ£¬¸ÃÁ÷³Ì½«´Ó¹æ·¶¿ªÊ¼²¢²úÉú¸ÃÉè¼ÆµÄÓ²¼þÃèÊöÓïÑÔ¡£¼øÓÚÎÒÃÇÓÐ 8 λÊäÈ룬ÎÒÃǾö¶¨Ê¹ÓÃÆäÖÐ 3 λÀ´¿ØÖÆÉè¼ÆÑ¡Ôñ¶à·¸´ÓÃÆ÷£¬ÒÔÊÊÓ¦ 8 ¸öСÐÍ»ù×¼²âÊÔ¡£Èç¹ûÕâЩ½øչ˳Àû£¬ÎÒÃǾͻáÖÂÁ¦ÓÚ¸üÐÛÐIJª²ªµÄÊÂÇé¡£ÕâЩÊÇÎÒÃÇÌá³öµÄ»ù×¼£ºÃ¿¸ö»ù×¼²âÊÔ¶¼ÓÐÒ»¸ö¼ò¶ÌµÄ¹æ·¶À´ÃèÊöËü¼°Æä I/O£¬ÒÔ¼°ÕýÈ·µÄÔ¤ÆÚÐÐΪ¡£È»ºó£¬Å¦Ô¼´óѧ²©Ê¿ºóJason Blocklove ÓëËĸöÑ¡¶¨µÄLLM£¨ChatGPT-3.5¡¢ChatGPT-4¡¢Bard ºÍ HuggingChat£©×øÔÚÒ»Æð£¬Ö´ÐÐÇ°ÃæÃèÊöµÄ¹ý³Ì£¬Òýµ¼LLMÊ×ÏÈÉú³ÉÉè¼Æ£¬È»ºóÉú³É²âÊÔƽ̨£¬È»ºó½«ËüÃÇÒ»ÆðÄ£Ä⣬²¢·´À¡ÈκδíÎó¡£ÓÐʱ£¬Ì¸»°ÖÐÐèÒª¿¼ÂÇÌØÊâÇé¿ö¡£ÓÉÓÚÄ£ÐÍÔÚÒ»´ÎÏìÓ¦ÖпÉÒÔ¸ø³öµÄÊä³öÁ¿Êܵ½ÏÞÖÆ£¬Îļþ»ò½âÊÍͨ³£»á±»Öжϣ»ÔÚÕâЩÇé¿öÏ£¬Ä£Ðͽ«Ìáʾ¡°Çë¼ÌÐø¡±¡£continue Ö®ºóµÄ´úÂëͨ³£´Ó½ÏÔçÏûÏ¢µÄ×îºóÒ»ÐÐ֮ǰ¿ªÊ¼£¬Òò´Ëµ±´úÂë±»¸´ÖƵ½ÎļþÖнøÐбàÒëºÍÄ£Äâʱ£¬Ëü»á±»±à¼ÒÔÐγÉÒ»¸öÄھۿ顣Ȼ¶ø£¬Õâ¸ö¹ý³ÌûÓÐÌí¼Ó¶îÍâµÄ HDL¡£Í¬Ñù£¬ÓÐʱÏìÓ¦Öлá°üº¬ÈÃÓû§Ìí¼Ó×Ô¼ºµÄ´úÂëµÄ×¢ÊÍ¡£Èç¹ûÕâЩעÊÍ»á×èÖ¹¹¦ÄÜ£¬ÀýÈçÁôϲ»ÍêÕûµÄÖµÊý×飬Ôò½«ÖØÐÂÉú³ÉÏìÓ¦£¬·ñÔò½«±£³ÖÔÑù¡£Éè¼ÆÌáʾ£ºÎÒÃÇÔÚÕâ¸ö»·½ÚÉè¼ÆµÄÌáʾ´Ê¿´ÆðÀ´ÏñÕâÑù£ºÔÚÊÔ¹ýÖ®ºó£¬ÎÒÃÇ·¢ÏÖ·µ»ØµÄÉè¼ÆÖÊÁ¿²Î²î²»Æ룬ÎÒÃÇ·¢ÏÖÖ»ÓÐ ChatGPT-4 ¿ÉÒÔ¿É¿¿µØÉú³ÉÉè¼Æ¡£ÒÔÏÂÊÇÿ¸öLLMµÄ*¸öÉè¼Æ£¨ÒÆλ¼Ä´æÆ÷£©µÄʾÀý£º1¡¢Ê×ÏÈÎÒÃÇ¿´Ò»ÏÂChatGPT 4.0Éú³ÉµÄ·´À¡£ºÕâ¸ö´úÂëÊÇÓÐÓõġ£2.ÎÒÃÇÔÙÊÔÒ»ÏÂChatGPT 3.5£¬Éú³ÉµÄ½á¹ûÈçÏ£ºÍ¬ÑùÓÐÓá£3.ÎÒÃÇÔÙÊÔÒ»ÏÂBARD£¬µÃ³öÒÔϽá¹û¡£ÕâÊÇÐв»Í¨µÄ£¡Çë×¢ÒâÊäÈ붨ÒåÖеĴíÎó¡£4.ÔÙ¿´Ò»ÏÂHuggingChat´ÓÒÔÉÏ´úÂë¿´À´£¬ËüËƺõÒѾ·èÁË¡£²âÊÔƽ̨£¨Testbenches£©Ò»µ©ÎÒÃÇÓÐÁËÉè¼Æ£¬ÎÒÃǾͱØÐëÌáʾ½¨Á¢Ò»¸ö²âÊÔƽ̨£¬ÔÚÕâÀÎÒÃǽ«ÓÃÒÔÏÂÌáʾ´Ê£ºCan you create a Verilog testbench for this design? It should be self-checking and made to work with iverilog for simulation and validation. If test cases should fail, the testbench should provide enough information that the error can be found and resolved.ÒÔÏÂÊÇÍêÕûµÄ¶Ô»°ÊÂÀý£º1.ÎÒÃÇÏÈ¿´Ò»ÏÂChatGPT 4.0Éú³ÉµÄ»Ø¸´¡£ÎÒÃÇÊ×ÏÈÎÊ:µÃµ½µÄ»Ø¸´ÈçÏ£ºÒÔÏÂÊÇ´úÂëµÄ¿ìËÙϸ·Ö£º1.Define the `shift_register` module with the specified inputs and outputs.2.Create an always block that responds to the rising edge of the clock (`posedge clk`) or the falling edge of the active-low reset (`negedge reset_n`).3.Within the always block, check if the reset signal is low (`!reset_n`). If so, clear the 8-bit output register (`data_out = 8'b0`).4.If the reset signal is not low, check if the shift enable signal is high. If so, shift the data in the output register to the left and insert the new data bit at the least significant bit position (`data_out = {data_out[6:0], data_in}`).¸ÃÉè¼ÆÂú×ã¸ø¶¨µÄ¹æ¸ñ£¬²¢Ìṩ¾ßÓÐËùÐèÊäÈëºÍÊä³öµÄ 8 λÒÆλ¼Ä´æÆ÷¡£½ÓÏÂÀ´ÎÒÓÖÎÊ£ºCan you create a Verilog testbench for this design? It should be self-checking and made to work with iverilog for simulation and validation. If test cases should fail, the testbench should provide enough information that the error can be found and resolved.È»ºóµÃ³öÏÂÃæµÄ»Ø´ð£º¸Ã²âÊÔƽ̨º¸ÇËĸö²âÊÔÓÃÀý£º¼òµ¥ÒÆ루shift£©£º½« 1 ÒÆÈë¼Ä´æÆ÷²¢¼ì²éÊä³ö¡£Ê¹Óý»Ìæλ½øÐÐÒÆλ£ºÒÆλ½»Ìæλģʽ²¢¼ì²éÊä³ö¡£Ã»ÓÐshift_enable µÄÒÆλ£ºÑéÖ¤ÒÆλ¼Ä´æÆ÷ÔÚûÓÐshift_enable ÐźŵÄÇé¿öϲ»»áÒÆλ¡£ÒÆλ²Ù×÷Æڼ临λ£º¼ì²éÒÆλ²Ù×÷ÆÚ¼ä¼Ä´æÆ÷ÊÇ·ñÕýÈ·¸´Î»¡£Èç¹ûÈκβâÊÔÓÃÀýʧ°Ü£¬²âÊǪ̂»áÌṩ´íÎóÏûÏ¢¡£Èç¹ûËùÓвâÊÔÓÃÀý¶¼Í¨¹ý¡£½ÓÏÂÀ´£¬ÎÒÃÇÓÖÎÊÁËÒ»¸öÎÊÌ⣺When running the simulation it gives the following output. Please provide fixed code.Error: Test case 1 failed. Expected: 10000000, Received: 01111111Error: Test case 2 failed. Expected: 10101010, Received: 01010101Error: Test case 3 failed. Expected: 10101010, Received: 01010101All test cases passed!È»ºó£¬ÎÒÃǵóöÒÔÏ»ØÓ¦£ºApologies for the confusion. It appears that the test cases are failing due to incorrect output expectations. I made a mistake in the test case expectations. Let's correct the test cases and update the testbench code:ÎÒ¸ù¾ÝÒÆλ¼Ä´æÆ÷µÄÕýÈ·ÐÐΪ¸üÐÂÁ˲âÊÔÓÃÀý 1¡¢2 ºÍ 3 µÄÔ¤ÆÚÊä³ö¡£ÏÖÔÚ£¬µ±ÄúÔËÐÐÄ£Äâʱ£¬ËüÓ¦¸ÃÏÔʾ¡°ËùÓвâÊÔÓÃÀýÒÑͨ¹ý£¡¡± ûÓÐÈκδíÎ󡣶øÊÂʵÉÏ£¬ËüҲȷʵͨ¹ýÁË£¬Ã»ÓÐÈκδíÎ󣡻ù±¾½á¹û×ÜÌå¶øÑÔ£¬Ö»ÓÐ ChatGPT-3.5 ºÍ ChatGPT-4 ¿ÉÒÔ¿É¿¿µØÉú³ÉÉè¼Æ£¬Òò´ËÎÒÃÇ×îÖÕÖ»·ÖÎöÁËÕâÁ½¸öÄ£ÐÍ£¬²¢½« Bard ºÍ HuggingChat ´ÓÎÒÃǵĽá¹ûÖÐÅųý¡£Ê¹ÓÃÁ½¸ö OpenAI Ä£ÐÍ£¬ÎÒÃÇÍê³ÉÁËÈ«Ì×»ù×¼²âÊÔ 3 ´Î£¬µÃµ½ÁËÒÔϽá¹û£ºÃüÃû·¨£¨ Nomenclature£©£ºÈç¹ûûÓб¨¸æ´íÎó£¬ÔòÉè¼Æͨ¹ý£¬ÎÞÐè·´À¡ (NFN£ºno feedback necessary)¡£Ïà·´£¬Èç¹ûÕâЩ²Ù×÷ÖеÄÈκÎÒ»¸ö±¨¸æ´íÎó£¬ËüÃǾͻᷴÀ¡µ½Ä£ÐÍÖУ¬²¢ÒªÇó¡°ÇëÌṩÐÞ¸´¡£¡±£¬³ÆΪ¹¤¾ß·´À¡ (TF£ºtool feedback)¡£Èç¹ûÏàͬµÄ´íÎó»òÀàÐ͵ĴíÎó³öÏÖÈý´Î£¬ÔòÓû§»á¸ø³ö¼òµ¥µÄÈ˹¤·´À¡£¨SHF£ºsimple human feedback£©£¬Í¨³£ÊÇͨ¹ý˵Ã÷ Verilog ÖеÄÄÄÖÖÀàÐ͵ÄÎÊÌâ»áµ¼Ö´˴íÎó£¨ÀýÈçÉùÃ÷ÐźÅʱµÄÓï·¨´íÎ󣩡£Èç¹û´íÎó¼ÌÐø´æÔÚ£¬ÔòÌṩÖеÈÈËÀà·´À¡ (MHF£ºmoderate human feedback)£¬²¢Ïò¹¤¾ßÌṩÉÔ΢¸üÓÐÕë¶ÔÐÔµÄÐÅÏ¢ÒÔʶ±ðÌض¨´íÎó¡£Èç¹û´íÎóÈÔÈ»´æÔÚ£¬ÔòÌṩ¸ß¼¶ÈËÀà·´À¡ (AHF£ºadvanced human feedback)£¬¸Ã·´À¡ÒÀÀµÓÚ׼ȷָ³öλÖôíÎóÊÇʲôÒÔ¼°ÐÞ¸´ËüµÄ·½·¨¡£Ò»µ©Éè¼Æ¾¹ý±àÒëºÍ·ÂÕæÇÒûÓÐʧ°ÜµÄ²âÊÔÓÃÀý£¬¾Í±»ÈÏΪÊdzɹ¦µÄ¡£È»¶ø£¬Èç¹û¸ß¼¶·´À¡ÎÞ·¨ÐÞ¸´´íÎ󣬻òÕßÓû§ÐèÒª±àдÈκΠVerilog À´½â¾ö´íÎó£¬Ôò²âÊÔ½«±»ÊÓΪʧ°Ü¡£Èç¹û¶Ô»°³¬¹ý 25 ÌõÏûÏ¢£¨·ûºÏ OpenAI ÿ 3 Сʱ ChatGPT-4 ÏûÏ¢µÄËÙÂÊÏÞÖÆ£©£¬Ôò²âÊÔÒ²±»ÊÓΪʧ°Ü¡£Óɴ˿ɼû£¬ChatGPT-4±íÏÖÁ¼ºÃ¡£´ó¶àÊý»ù×¼²âÊÔ¶¼Í¨¹ýÁË£¬ÆäÖдó¶àÊýÖ»ÐèÒª¹¤¾ß·´À¡¡£ChatGPT-4 ÔÚ²âÊÔƽ̨Éè¼ÆÖÐ×îÐèÒªµÄÈ˹¤·´À¡¡£¼¸ÖÖ¹ÊÕÏģʽÊÇÒ»Öµģ¬Ò»¸ö³£¼ûµÄ´íÎóÊÇÔÚÉè¼Æ»ò²âÊÔƽ̨ÖÐÌí¼ÓÁË SystemVerilog Ìض¨µÄÓï·¨¡£ÀýÈ磬Ëü¾³£³¢ÊÔtypedefΪ FSM Ä£ÐÍ´´½¨×´Ì¬£¬»òʵÀý»¯ÏòÁ¿Êý×飬¶øÕâÁ½ÖÖÇé¿öÔÚ Verilog-2001 Öоù²»ÊÜÖ§³Ö¡£×ܵÄÀ´Ëµ£¬ChatGPT-4 Éú³ÉµÄ²âÊÔƽ̨²¢²»ÊÇÌرðÈ«Ãæ¡£¾¡¹ÜÈç´Ë£¬Í¨¹ýË渽²âÊÔƽ̨µÄ´ó¶àÊýÉè¼ÆÒ²±»ÈÏΪÊǺϹæµÄ¡£Á½¸ö²»ºÏ¹æµÄ¡°passes¡±ÊÇDice Rollers£¬Ëü²»²úÉúαËæ»úÊä³ö¡£²âÊÔ¼¯ T1 ÖеÄDice Rollers½«ÔÚÒ»´ÎrollÖÐÊä³ö 2£¬È»ºóÔÚËùÓкóÐørollÖнöÊä³ö 1£¬ÎÞÂÛÑ¡ÔñºÎÖÖdie¡£Í¬Ê±£¬Dice Roller T3 »á¸Ä±äÖµ£¬µ«½öÏÞÓÚ¿ìËÙÖظ´µÄһС²¿·Ö£¨È¡¾öÓÚËùÑ¡die£©Ö®¼ä¡£ÎªÁ˱պÏÉè¼ÆÑ»·£¬ÎÒÃÇ´Ó Tiny Tapeout 3 µÄ ChatGPT-4 ¶Ô»°ÖкϳÉÁ˲âÊÔ¼¯ T1£¬Ìí¼ÓÁËÓÉ ChatGPT-4 Éè¼Æµ«Î´¾²âÊԵİü×°Æ÷Ä£¿é£¨wrapper module £©¡£Õû¸öÉè¼ÆÐèÒª 85 ¸ö×éºÏÂß¼µ¥Ôª¡¢4 ¸ö¶þ¼«¹Ü¡¢44 ¸ö´¥·¢Æ÷¡¢39 ¸ö»º³åÆ÷ºÍ 300 ¸ö³éÍ·À´ÊµÏÖ¡£ChatGPT-3.5µÄ±íÏÖÃ÷ÏÔ±È ChatGPT-4 ²î£¬´ó¶àÊý¶Ô»°¶¼µ¼Ö»ù×¼²âÊÔʧ°Ü£¬²¢ÇÒ´ó¶àÊýͨ¹ý×Ô¼º²âÊÔƽ̨µÄ¶Ô»°¶¼ÊDz»ºÏ¹æµÄ¡£ChatGPT-3.5 µÄ¹ÊÕÏģʽÓë ChatGPT-4 Ïà±È²»Ì«Ò»Ö£¬Ã¿´Î¶Ô»°ºÍ»ù×¼²âÊÔÖ®¼ä¶¼»áÒýÈë¸÷ÖÖ¸÷ÑùµÄÎÊÌâ¡£Óë ChatGPT-4 Ïà±È£¬ËüÐèÒª¸üƵ·±µØÐÞÕýÉè¼ÆºÍ²âÊÔƽ̨¡£¹Û²ì½á¹ûÖ»ÓÐ ChatGPT-4 Äܹ»³ä·ÖÂú×ã±àд Verilog µÄÄ¿µÄ£¬¾¡¹ÜËüÈÔÈ»ÐèÒªÈËÀà·´À¡²ÅÄÜʹ´ó¶àÊý¶Ô»°³É¹¦²¢·ûºÏ¸ø¶¨µÄ¹æ·¶¡£ÐÞ¸´´íÎóʱ£¬ChatGPT-4 ͨ³£ÐèÒª¶àÌõÏûÏ¢À´ÐÞ¸´Ð¡´íÎó£¬ÒòΪËüºÜÄÑ׼ȷÀí½âÄÄЩÌض¨µÄ Verilog ÐлᵼÖ iverilog ·¢³ö´íÎóÏûÏ¢¡£ËüËùÌí¼ÓµÄ´íÎóÒ²ÍùÍù»áÔÚ¶Ô»°Ö®¼ä¾³£Öظ´³öÏÖ¡£ChatGPT-4 ÔÚ´´½¨¹¦ÄܲâÊÔƽ̨·½ÃæÒ²±È¹¦ÄÜÉè¼Æ¸¶³öÁ˸ü¶àŬÁ¦¡£´ó¶àÊý»ù×¼²âÊÔ¼¸ºõ²»ÐèÒª¶ÔÉè¼Æ±¾Éí½øÐÐÐ޸ģ¬¶øÊÇÐèÒªÐÞ¸´²âÊÔƽ̨¡£¶ÔÓÚ FSM À´ËµÓÈÆäÈç´Ë£¬ÒòΪ¸ÃÄ£ÐÍËƺõÎÞ·¨´´½¨Ò»¸ö²âÊÔƽ̨À´ÕýÈ·¼ì²éÊä³ö£¬¶øÎÞÐèÓйØ״̬ת»»ºÍÏàÓ¦Ô¤ÆÚÊä³öµÄÖØÒª·´À¡¡£ÁíÒ»·½Ã棬ChatGPT-3.5 ÔÚ²âÊÔƽ̨ºÍ¹¦ÄÜÉè¼Æ·½Ã涼Óöµ½ÁËÀ§ÄÑ¡£¸ü¸´ÔӵĶ«Î÷£ºQTcore-A1ÔÚ»ù×¼²âÊÔÆڼ䣬ÎÒÊÇ ChatGPT-4 µÄѧÉú£¬ÏÖÔÚÎÒÒÑ×¼±¸ºÃ½ÓÊܸü´óµÄÌôÕ½£¬²¢×ÅÊÖÈÃËüΪ΢¿ØÖÆÆ÷´´½¨×é¼þ¡£ÎÒÏëÖªµÀ·Ç½á¹¹»¯¶Ô»°ÊÇ·ñ¿ÉÒÔÌá¸ßÄ£Ð͵ÄÐÔÄÜˮƽ£¬Ê¹ÓÃÒ»ÖÖ¹²Í¬µÄ´´ÔìÁ¦À´¸ü¿ìµØ±àдÉè¼Æ¡£ÔÚÕâÀïÎÒÒªÖ¸³öµÄÊÇ£¬ÎÒÊÇһλÔÚСÐÍÍæ¾ß/ѧÊõ´¦ÀíÆ÷Éè¼Æ·½Ãæ¾Ñé·á¸»µÄ¹¤³Ìʦ£¬ÔøÔڰ¿ËÀ¼´óѧ¡¢Å¦Ô¼´óѧÒÔ¼°ÏÖÔÚÎÒËùÔڵİĴóÀûÑÇϤÄáÄÏÍþ¶ûÊ¿´óѧ½ÌÊÚ¸ÃÁìÓòµÄѧÉú¶àÄê¡£Õâ¾ÍÊÇÎÒÏëÒª ChatGPT-4 ¹¹½¨µÄ¡£ÖªµÀÎÒÃÇÃæÁÙ׿«¶ËµÄ¿Õ¼äÏÞÖÆ£¬ÎÒ¾ö¶¨²ÉÓûùÓÚ 8 λÀÛ¼ÓÆ÷µÄ¼Ü¹¹¡£Ê¹Ó÷ëŵÒÀÂüÉè¼Æ£¨¹²Ïí³ÌÐòºÍÊý¾ÝÄڴ棩¿ÉÒÔ½ÚÊ¡¶îÍâµÄ¿Õ¼ä£¬È»ºó½«¹²ÏíÄÚ´æÏÞÖÆΪ½ö 32 ×Ö½ÚÊÇÎÒ¶ÔºÏÊʵĶ«Î÷µÄ²Â²â¡£ÎÒ¾ö¶¨Óà ChatGPT-4 ±àдÿһÐй¦ÄÜÐÔ Verilog£¬µ«¿¼Âǵ½ÎÒÃÇÔÚÑéÖ¤ºÍ²âÊÔƽ̨·½ÃæÓöµ½µÄÀ§ÄÑ£¬ÎÒ½«Éú³ÉÕâЩÄÚÈݲ¢ÔËÐкͽâÊÍÄ£ÄâµÈ¡£ÎªÊ²Ã´Òª½øÐÐÕâÖÖÉè¼Æ¶ø²»ÊÇ RISC-V Ö®ÀàµÄÉè¼Æ£¿ÖÚËùÖÜÖª£¬ISA µÄ¿ªÔ´´¦ÀíÆ÷ÓкܶàʵÏÖ£¬ÀýÈç RISC-V ºÍ MIPS¡£ÎÊÌâÊÇ£¬ÕâÒâζ×Å GPT-4 ÔÚѵÁ·ÆÚ¼äÒѾ¿´µ½ÁËÕâЩÉè¼Æ¡£¶ÔÓÚÕâÏ×÷£¬ÎÒ²»Ïë¼òµ¥µØ̽Ë÷ ChatGPT-4 ·¢³öÆäѵÁ·¹ýµÄÊý¾ÝµÄÄÜÁ¦¡£Ïà·´£¬ÎÒÏë¿´¿´ËüÔÚÖÆ×÷¸üÐÂÓ±µÄ¶«Î÷ʱµÄ±íÏÖ¡£Òò´Ë£¬ÎÒʹÓà ChatGPT-4 ±¾ÉíÌṩµÄÆæ¹Ö ISA À´Òýµ¼Ä£ÐͽøÐÐȫеÄÉè¼Æ£¬ÎÒÈÏΪÕâÓ뿪ԴÎÄÏ×ÖÐÌṩµÄÄÚÈÝÍêÈ«²»Í¬¡£¿ªÊ¼£¬ÎÒÎʵÀ£ºLet us make a brand new microprocessor design together. We're severely constrained on space and I/O. We have to fit in 1000 standard cells of an ASIC, so I think we will need to restrict ourselves to an accumulator based 8-bit architecture with no multi-byte instructions. Given this, how do you think we should begin?΢´¦ÀíÆ÷Éè¼Æ¹ý³ÌÊ×Ïȶ¨ÒåÖ¸Á¼Ü¹¹ (ISA)£¬È»ºóʵÏÖ ISA ËùÐèµÄ×é¼þ£¬×îºó½«Êý¾Ý·¾¶ÖеÄÕâЩ×é¼þÓë¿ØÖƵ¥Ôª×éºÏÆðÀ´½øÐйÜÀí£¬Í¨¹ýÄ£ÄâºÍ²âÊÔÀ´·¢ÏÖ´íÎó²¢½øÐÐÐÞ¸´¡£¹¹½¨¶Ô»°¶Ô»°Ị̈߳¨Conversation threading:£©£º¼øÓÚ ChatGPT-4 ÓëÆäËû LLM Ò»Ñù¾ßÓй̶¨´óСµÄÉÏÏÂÎÄ´°¿Ú£¬ÎÒÃǼÙÉèÌáʾģÐ͵Ä*·½·¨Êǽ«½Ï´óµÄÉè¼Æ·Ö½âΪ×ÓÈÎÎñ£¬Ã¿¸ö×ÓÈÎÎñ¶¼ÓÐ×Ô¼ºµÄ¡°¶Ô»°Ï̡߳±½çÃæ¡£Õâʹ×ܳ¤¶È±£³ÖÔÚ 16,000 ¸ö×Ö·ûÒÔÏ¡£µ±³¤¶È³¬¹ý´Ëֵʱ£¬×¨Óеĺó¶Ë·½·¨»áÖ´ÐÐijÖÖÎı¾Ëõ¼õ£¬µ«ÆäʵÏÖµÄϸ½ÚºÜÉÙ¡£ÓÉÓÚ ChatGPT-4 ²»ÔÚÏß³ÌÖ®¼ä¹²ÏíÐÅÏ¢£¬ÈËÀ๤³Ìʦ»á½«Ïà¹ØÐÅÏ¢´ÓÇ°Ò»¸öÏ̸߳´ÖƵ½ÐµÄ*ÌõÏûÏ¢ÖУ¬´Ó¶øÐγÉÒ»¸ö¡°»ù±¾¹æ·¶¡±£¬ÂýÂýµØ¶¨Òå´¦ÀíÆ÷¡£»ù±¾¹æ·¶×îÖÕ°üÀ¨ ISA¡¢¼Ä´æÆ÷ÁÐ±í£¨ÀÛ¼ÓÆ÷ACC¡¢³ÌÐò¼ÆÊýÆ÷PC¡¢Ö¸Áî¼Ä´æÆ÷IR£©¡¢´æ´¢Ìå¡¢ALU ºÍ¿ØÖƵ¥ÔªµÄ¶¨Ò壬ÒÔ¼°´¦ÀíÆ÷ÔÚÿ¸öÖÜÆÚÖÐÓ¦Ö´ÐеIJÙ×÷µÄ¸ß¼¶¸ÅÊö¡£±¾¹æ·¶ÖеĴ󲿷ÖÐÅÏ¢ÓÉ ChatGPT-4 Éú³É£¬²¢ÓÉÈ˹¤¸´ÖÆ/Õ³ÌùºÍÇá΢±à¼¡£Ö÷Ì⣨Topics£©£ºÃ¿¸öÏß³ÌÒ»¸öÖ÷Ìâ¶ÔÓÚ´¦ÀíÆ÷µÄÔçÆÚÉè¼Æ½×¶ÎЧ¹ûºÜºÃ£¨ÓÐÒ»¸öÀýÍ⣬ÆäÖÐ ALU ÊÇÔÚÓë¶àÖÜÆÚ´¦ÀíÆ÷ʱÖÓÖÜÆÚʱÐò¼Æ»®ÏàͬµÄÏß³ÌÖÐÉè¼ÆµÄ£©¡£È»¶ø£¬Ò»µ©´¦ÀíÆ÷½øÈëÄ£Äâ½×¶Î²¢ÔÚÆäÉÏÔËÐгÌÐò£¬ÎÒÃǾͷ¢ÏÖÁ˹淶ºÍʵÏÖÖеĴíÎóºÍ´íÎó¡£Éè¼Æ¹¤³ÌʦûÓпªÊ¼ÐµĶԻ°Ï̲߳¢Öؽ¨ÏÈÇ°µÄÉÏÏÂÎÄ£¬¶øÊÇÑ¡ÔñÔÚÊʵ±µÄÇé¿öϼÌÐøÏÈÇ°µÄ¶Ô»°Ï̡߳£ÎÒÃÇÔÚÏÂÃæµÄÁ÷³ÌͼÖжԴ˽øÐÐÁË˵Ã÷£¬ÆäÖС°Cont. T. ID¡±ÁÐָʾËûÃÇÊÇ·ñ¡°Continued¡±Ç°Ò»¸öỊ̈߳¨Èç¹ûÊÇ£¬ÔòΪÄĸöỊ̈߳©¡£ÖØÐÂÆô¶¯£¨Restarts£©£ºÓÐʱ ChatGPT-4 »áÊä³ö´ÎÓÅÏìÓ¦¡£Èç¹ûÊÇÕâÑù£¬¹¤³ÌʦÓÐÁ½¸öÑ¡Ôñ£º(1) ¼ÌÐø¶Ô»°²¢Íƶ¯ËüÐÞ¸´ÏìÓ¦£¬»òÕß (2) ʹÓýçÃæÇ¿ÖÆ ChatGPT-4¡°ÖØÐÂÆô¶¯¡±ÏìÓ¦£¬¼´Í¨¹ý¼Ù×°ÏÈÇ°µÄ½á¹ûÀ´ÖØÐÂÉú³É½á¹û´ð°¸´Óδ³öÏÖ¡£ÔÚÕâЩ֮¼ä½øÐÐÑ¡ÔñÐèҪȨºâ²¢ÐèҪרҵÅжϣº¼ÌÐø¶Ô»°ÔÊÐíÓû§Ö¸¶¨ÏÈÇ°ÏìÓ¦µÄÄÄЩ²¿·ÖÊǺõĻò»µµÄ£¬µ«ÖØÐÂÉú³É½«Ê¹Õû¸ö¶Ô»°±äµÃ¸ü¶Ì¡¢¸ü¼ò½à£¨¿¼Âǵ½ÓÐÏÞµÄÉÏÏÂÎÄ´°¿Ú£¬ÕâÊÇÓмÛÖµµÄ£©³ß´ç£©¡£¾¡¹ÜÈç´Ë£¬´Ó½á¹û±íÖеġ°# Restart¡±ÁпÉÒÔ¿´³ö£¬Ëæ×ÅÎÒʹÓà ChatGPT-4 µÄ¾ÑéÔ½À´Ô½·á¸»£¬ÖØÐÂÆô¶¯µÄ´ÎÊýÇ÷ÓÚ¼õÉÙ£¬ÓëÖ÷Ìâ 08-18 Ïà±È£¬Ö÷Ìâ 00-07 µÄÖØÐÂÆô¶¯´ÎÊýΪ 57 ´ÎÖ»ÓÐ 8 ´Î¡£ÔÚÖ÷Ìâ 04£¨¿ØÖÆÐźŹ滮£©ÖУ¬µ¥ÌõÏûÏ¢µÄ×î¸ß¸öÌåÖØÆô´ÎÊýΪ 10£¬ÆäÖаüº¬ÒÔÏÂÏûÏ¢£ºThis looks excellent. According to this list, please produce the module definition for a control unit in Verilog which could operate the processor datapath. Please comment the purpose of each I/O. If a signal is for controlling a multiplexer, please also comment what each possible value should correspond to in the datapath.ÕâÊÇÒ»¸öÀ§ÄѵÄÌáʾ£¬ÒòΪËüÒªÇóÌṩ¾ßÓдóÁ¿Ï¸½ÚµÄÌض¨ÀàÐ͵ÄÊä³ö£¬µ«×îÖÕ²úÉúÁËÁîÈËÂúÒâµÄ´ð°¸£¬ÈçÏÂËùʾ£ºBugÐÞ¸´£ºÓöµ½´íÎóºó£¬ÎÒÃÇ»áʹÓÃChatGPT-4À´ÐÞ¸´ËüÃÇ¡£ÕâÀï¸ø³öÁËÒ»¸öÀý×Ó¡£ÕâÊÇ»ùÓÚ¶Ô»° 15£¬²¢ÑÝʾÁËÈçºÎ½â¾öÒÆλ¼Ä´æÆ÷ÔÓïÖеĴíÎó¡£ÎÒÃÇ·¢ËÍÒÔ϶Ի°£º15 - SHIFT REGISTER BUG FIXÈ»ºóµÃµ½ÏÂÃæµÄ»Ø¸´£ºÈ»ºóÎÒÓÖ˵£ºUnfortunately, it doesn't work if the WIDTH is set to 1. Can you fix it?Ö®ºóµÃµ½ÁËÏÂÃæµÄ»Ø¸´£ºÏÖÔÚ£¬´úÂ뽫ÕýÈ·´¦Àí WIDTH ÉèÖÃΪ 1 µÄÇé¿ö¡£Ö®ºóÎÒ¼ÌÐø˵£ºThanks! Can you also make it so scan_enable has a higher priority than the normal enable?È»ºóµÃµ½ÁËÏÂÃæµÄ»Ø¸´£ºÏÖÔÚ£¬¡°scan_enable¡±Ðźűȡ°enable¡±ÐźžßÓиü¸ßµÄÓÅÏȼ¶¡£µ±Á½¸öÐźŶ¼Îª¸ßµçƽʱ£¬ÒÆλ¼Ä´æÆ÷½«¹¤×÷ÔÚɨÃèģʽ¶ø²»ÊÇÕý³£Ä£Ê½¡£Í¬Ê±ÎÒÃÇÒ²Ö¤Ã÷ÁË£¬Õâ¸ö´íÎóÐÞ¸´Ò²ÓÐЧ£¡¿ª·¢Ö¸Á¼Ü¹¹£¨ISA£©Ï±íÁгöÁËÔÚ¶Ô»° 00 ÖÐÓë ChatGPT-4 ¹²Í¬Éú³ÉµÄ ISA£¨²¢ÔÚ 10 ÖиüУ©£ºÕâÊÇÒ»ÖÖÏà¶Ô¼òµ¥µÄ»ùÓÚÀÛ¼ÓÆ÷µÄÉè¼Æ£¬¾ßÓÐһЩÏÔÖøµÄÌØÕ÷£º¿¼Âǵ½´óСÏÞÖÆ£¬ÄÚ´æ·ÃÎÊ¡°´øÓпɱäÊý¾Ý²Ù×÷ÊýµÄÖ¸Á½öʹÓà 5 λÀ´Ö¸¶¨ÄÚ´æµØÖ·£¬ÕâÒâζ×Å´¦ÀíÆ÷½«±»ÏÞÖÆΪ** 32 ×Ö½ÚÄÚ´æ¡£Ö»ÓÐÒ»Ìõ¾ßÓÐÁ¢¼´Êý¾Ý±àÂëµÄÖ¸Áî¡£ÕâЩָÁîʹÓÃÍêÕûµÄ 256 ÖÖ¿ÉÄܵÄ×Ö½Ú±àÂë¡£JSRÖ¸ÁîʹµÃʵÏÖ×ÓÀý³Ìµ÷ÓóÉΪ¿ÉÄÜ£¬¾¡¹ÜÓе㱿׾£¨Ã»ÓжÑÕ»Ö¸Õ룩¡£·ÖÖ§Ö¸ÁîÓÐÏÞÖƵ«ºÜÓÐÓá£ÏòºóÌø¹ýÁ½ÌõÖ¸Áî¿ÉÒÔʵÏÖ¸ßЧÂÖѯ£¨ÀýÈç¼ÓÔØÊäÈ룬ÆÁ±ÎÏà¹Øλ£¬È»ºó¼ì²éÊÇ·ñΪ 0£©¡£ÏòÇ°Ìø¹ý 3 ÌõÖ¸Áî¿ÉÒÔÌø¹ý JMP »ò JSR ËùÐèµÄÖ¸Áî¡£ÕâЩÊǾ¹ý¶à´Îµü´úÉè¼ÆµÄ£¬°üÀ¨ºóÀ´µÄÐ޸ģ¨¶Ô»° 10-12£¬¡°·ÖÖ§¸üС±£©£¬Ëü½«ÏòÇ°Ìøת´Ó 2 ÌõÖ¸ÁîÔö¼Óµ½ 3 Ìõ£¬ÔÚÄ£Äâ¹ý³ÌÖÐÎÒÒâʶµ½ÎÒÃÇÎÞ·¨ÇáËɵØÔÚÖбàÂë JMP/JSRÖ»Ðè 2 Ìõ˵Ã÷¡£LDAR Ö¸ÁîÔÊÐí¶ÔÄÚ´æ¼ÓÔؽøÐÐÀàËÆÖ¸ÕëµÄÈ¡ÏûÒýÓá£ÕâʹÎÒÃÇÄܹ»ÓÐЧµØʹÓÃÄÚ´æÓ³ÉäÖеij£Á¿±í£¨ÔÚ¶Ô»° 17 ÖÐÌí¼Ó£©½«¶þ½øÖÆֵת»»Îª 7 ¶ÎÏÔʾÆ÷µÄ LED ģʽ¡£µ±³¢ÊÔÔÚÆäÖбàд³ÌÐòʱ£¬¸Ð¾õ¾ÍÏñÊÇÓÃÓÚ PIC ΢¿ØÖÆÆ÷ϵÁеijÌÐòµÄ±äÌå¡£ChatGPT-4 ʵ¼ÊÉÏҲΪÎÒ±àдÁË»ã±à³ÌÐò£¬ÎÒ¿ÉÒÔ×öµÃ¸üºÃ£¨ËüȷʵÓÃÆðÀ´ºÜÔã¸â£¬µ«ËüȷʵÓÐЧ - Çë²ÎÔĶԻ° 09£©¡£ÎÒ½«¸Ã´¦ÀíÆ÷µÄʵÏÖ³ÆΪ QTCore-A1£¨cutie core£©¡£ÕâÊÇ×îÖÕ²úÉúµÄÊý¾Ý·¾¶£¨¿ØÖÆÐźÅÓÃÐéÏß±íʾ - ʹÓÃĦ¶ûÐͶàÖÜÆÚ£¨moore-type multicycle £© FSM À´¿ØÖÆËüÃÇ£©¡£ÔÚÉè¼Æ´¦ÀíÆ÷ʱ£¬ÎÒÈ·±£Ã¿¸ö¼Ä´æÆ÷Ҳͨ¹ýɨÃèÁ´Á¬½Ó£¨Ò²ÊÇÓÉ ChatGPT-4 Éè¼ÆµÄ£¡£©¡£ÕâÒâζ×ÅÎÒ¿ÉÒÔÔÚʵÏÖºó¶ÔÉè¼Æ½øÐбà³Ì£¬ÕâÒ²ÊÇÎÒÔÚÄ£ÄâÆÚ¼ä¼ÓÔزâÊÔ³ÌÐòµÄ·½Ê½¡£ÎÒ³¢ÊÔʹÓà OpenLane ½øÐкϳɣ¬µ«Ôã¸âµÄÊÇ£¬¸ÃÉè¼Æ²»ÊÊºÏ 1000 ¸ö±ê×¼µ¥Ôª£¨standard cells£©£¡×î¼òµ¥µÄÊÂÇé¾ÍÊDz»¶Ïµ÷ÕûÄڴ棬ÎÒÒ»±éÓÖÒ»±éµØÕâÑù×ö£¬Ö±µ½ÎÒ×îÖÕ´ïµ½ÁËÉñÆæµÄÊý×Ö£¬²¢Éè·¨»ñµÃÁ˽ö 17 ×Ö½ÚµÄÊý¾ÝºÍÖ¸ÁîÄÚ´æ×éºÏ¡£¾¹ý OpenLane ×ۺϺó£¬GDS ÈçÏÂËùʾ£ºÎÒ±àдÁËһЩ²âÊÔ³ÌÐò£¬ºÜ¿ìÒâʶµ½ÎÒÐèҪһЩÖظ´³öÏֵij£Á¿Öµ¡£ÍæÁËÖ®ºóÎÒ»¹·¢ÏÖ£¬ÄÚ´æÓ³ÉäÖеij£Á¿Öµ²¢Ã»ÓмĴæÆ÷Õ¼ÓÃÄÇô¶à¿Õ¼ä£¡Òò´Ë£¬ÎÒÉè·¨½«Ò»Ð©³£Á¿¸¨ÖúÖµ£¨°üÀ¨¡°1¡±ºÍ¡°0¡±£©·ÅÈëÄÚ´æÓ³ÉäÖС£ÕâÒâζ×ÅÎÒ¿ÉÒÔÓøÃËÀµÄ»ã±àÓïÑÔΪÎÒÏÂÔص½ FPGA (CMod-A7) µÄ´¦ÀíÆ÷±àдÕâ¸öС³ÌÐò¡£¾¡¹ÜÎÒ»¹±ØÐëʵÏÖÒ»¸ö±à³ÌÆ÷£¬ÎÒʹÓõÄÊÇ STM32£¡ÔÚʵ¼Ê²âÊÔÖУ¬¸ÃÉè¼ÆÊǹ¤×÷µÄ¡£ËùÒÔÎҺܸßÐË£¬ËüÔÚÄ£ÄâºÍ FPGA É϶¼Äܹ¤×÷£¬ËùÒÔÎҺܸßÐ˵ؽ«Ëü·¢Ë͵½ Tiny Tapeout½øÐÐÁ÷Ƭ¡£¸ü¶àÉè¼Æϸ½Ú¸ÃÏîÄ¿ÓÚ 2023 Äê 6 Ô 2 ÈÕÉÏÏߣ¬²¢£¨Ïà¶Ô£©Êܵ½Á˺ܶà¹Ø×¢£¡EDA ÁìÓòµÄÐí¶à²»Í¬¹«Ë¾Ò²ÓëÎÒÃÇÁªÏµ£¬ÆäÖаüÀ¨Ò»Ð©Äú¿Ï¶¨Ìý˵¹ýµÄ¹«Ë¾¡£ÖµµÃÒ»ÌáµÄÊÇ£¬ÎÒÃÇ»¹¾ö¶¨ÀûÓÃÕâ¸öÉè¼ÆÈ¥²ÎÈü£¬ÒòΪ¸Ã²ÎÈü¶ÔÄÚºËÓÐһЩ¹æ¶¨¡£ËùÒÔÔÚQTcore-A1ÉÏ£¬ÎÒÃÇÐÞ¸ÄÁË΢¿ØÖÆÆ÷£¬ÒÔ±ãËüÄܹ»Õ¼Óà ƽ̨Öиü´óµÄ¿ÉÓÃÇøÓò£¨½öʹÓÃÒ»¸ö¿ÉÓÿռäµÄÒ»²¿·Ö£©¡£Õâ¾ÍÅöµ½ÁËһЩÖ÷ÒªµÄÎÊÌ⣺¾¡¹ÜÕâÊÇ»ùÓÚ OpenLane µÄ£¬¾ÍÏñ Tiny Tapeout Ò»Ñù£¬µ«ËüÊÇÒ»¸ö¸ü¼ÓÊÖ¶¯ºÍ¸´ÔӵĹý³Ì£¬²¢ÇÒûÓÐÒ»¸ö¼òµ¥µÄ»ùÓÚ Github ²Ù×÷µÄ¹¤×÷Á÷³Ì¡£ÎÒ±ØÐëÔÚÎҵıʼDZ¾µçÄÔÉÏ°²×°ºÜ¶à¶«Î÷£¡Ä£ÄâÐèÒª±È Tiny Tapeout ¸ü¼ÓÎȽ¡£¬²¢ÇÒ¿¼Âǵ½ÄúµÄÉè¼ÆÐèÒªÓë caravel ºËÐÄÒ»Æð½øÐÐÑéÖ¤£¬Òò´ËÐèÒª¸ü³¤µÄʱ¼ä¡£ÎÒ×î»ù±¾µÄÄ£ÄâÈÔÈ»ÐèÒª³¬¹ý 45 ·ÖÖÓ£¬¶ø Tiny µÄÄ£Äâ´óÔ¼ÐèÒª 10 ÃëÁ÷Ƭ¡£ÕâÊÇÒ»³¡¾ºÈü£¬²ÎÈü×÷Æ·µÄÆÀÅбê×¼ÊÇËüÃǵÄÎĵµ¼Ç¼¡¢¿ÉʹÓÃÐÔ¡¢¶Ô¿ªÔ´µÄ¹±Ï׵ȡ£ËùÒÔÎÒ»¹±ØÐëÈ·±£Õâ·½ÃæµÄÒ»Çж¼ºÜºÃ£¡È»ºó£¬ÎÒ¾ö¶¨Èà ChatGPT-4 ¶Ô QTCore-A1 ½øÐÐÒÔϸü¸Ä¡£Ê×ÏÈ£¬ÄÚ´æ´óС½«Éý¼¶Îª256×Ö½Ú¹²ÏíÖ¸Áî/Êý¾ÝÄڴ棬·ÖΪ16×Ö½ÚÒ³Ã棻Æä´Î£¬ÎÒ»áÌí¼ÓһЩÍâÉ裺һ¸ö 16 λ¶¨Ê±Æ÷¡¢Ò»Ð© I/O ¶Ë¿Ú£¬²¢ÇÒ¿¼Âǵ½ÎÒµÄÈÕ³£¹¤×÷ÊÇÓ²¼þ°²È«Ñо¿Ô±£¬ÎÒ»¹¾ö¶¨Ìí¼Ó 2 ¸ö°Ëλ¡°ÄÚ´æÖ´Ðб£»¤¡±¿ØÖƼĴæÆ÷Ϊ 16 ¸öÒ³ÃæÖеÄÿ¸öÒ³ÃæÌṩ¡°Ö´ÐС±Î»£¬²¢¸üÐÂÔʼµÄ¡¢±»×çÖäµÄ·ÖÖ§Âß¼¡£ÐµÄÖ¸Á¼Ü¹¹£ºµ±ÎÒÌá³öÉè¼Æ±ä¸üʱ£¬ChatGPT ×îÖÕÑ¡ÔñÁËÕâÖÖ ISA£º??¾ßÓпɱäÊý¾Ý²Ù×÷ÊýµÄÖ¸Áî??¼´Ê±Êý¾Ý²Ù×÷Ö¸Áî??¿ØÖÆ/״̬¼Ä´æÆ÷²Ù×÷Ö¸Áî??¹Ì¶¨¿ØÖƺͷÖÖ§Ö¸Áî??±äÁ¿²Ù×÷Êý·ÖÖ§Ö¸Áî??Êý¾Ý²Ù×÷Ö¸Áî??Êý¾Ý·¾¶´ÓÕâ¸öÉè¼Æ¿ÉÒÔ¿´µ½£¬ÀïÃæÓÐÁ˺ܶàµÄ±ä»¯£¡ÀýÈç¹Û²ìÏÖÔÚÓÐÒ»¸ö¶Î¼Ä´æÆ÷£¬ËüÓ벿·ÖÖ¸ÁîÁ¬½ÓÔÚÒ»Æð£¬ÒÔ½âÂë¾ßÓпɱäÊý¾Ý²Ù×÷ÊýµÄÖ¸ÁîµÄµØÖ·¡£ÒÔÏÂÊÇÍêÕûµÄÏêϸÐÅÏ¢£º¿ØÖƵ¥Ôª£ºÓÃÓÚÇý¶¯´¦ÀíÆ÷µÄ2ÖÜÆÚFSM£¨3λone-hot±àÂë״̬¼Ä´æÆ÷£©³ÌÐò¼ÆÊýÆ÷£º8λ¼Ä´æÆ÷£¬°üº¬³ÌÐòµÄµ±Ç°µØÖ·¶Î¼Ä´æÆ÷£º4λ¼Ä´æÆ÷£¬°üº¬ÓÃÓÚÊý¾Ý´æ´¢Æ÷Ö¸ÁîµÄµ±Ç°¶ÎÖ¸Áî¼Ä´æÆ÷£º8λ¼Ä´æÆ÷£¬°üº¬µ±Ç°ÒªÖ´ÐеÄÖ¸ÁîÀÛ¼ÓÆ÷£º8λ¼Ä´æÆ÷£¬ÓÃÓÚÊý¾Ý´æ´¢¡¢²Ù×÷ºÍÂß¼´æ´¢Ì壺256 ¸ö 8 λ¼Ä´æÆ÷£¬ÓÃÓÚ´æ´¢Ö¸ÁîºÍÊý¾Ý¡£¿ØÖƺÍ״̬¼Ä´æÆ÷£º8 ¸ö 8 λ¼Ä´æÆ÷£¬ÓÃÓÚÌØÊ⹦ÄÜ£¬°üÀ¨¶¨Ê±Æ÷¡¢I/O¡¢ÄÚ´æ±£»¤¡¢·¢ËÍÖжÏÒÔ¼°½ÓÊպͷ¢ËÍÐźŵ½¸ü´óµÄ Caravel ´¦ÀíÆ÷¡£¿ØÖÆ/״̬¼Ä´æÆ÷ (CSR) ¼°ÆäµØÖ·£ºSEGEXE_L (000)£º8 λ - ±íʾָ¶¨Îª¿ÉÖ´ÐÐÎļþµÄÄÚ´æ¶ÎµÄÏ°벿·Ö¡£¼Ä´æÆ÷ÖеÄÿһλ¶ÔÓ¦ÄÚ´æ¿Õ¼äÏ°벿·ÖµÄÒ»¸ö¶Î¡£Èç¹ûij¸öλÉèÖÃΪ 1£¬ÔòÏàÓ¦µÄ¶Î±»±ê¼ÇΪ¿ÉÖ´ÐС£SEGEXE_H (001)£º8 λ - ±íʾָ¶¨Îª¿ÉÖ´ÐÐÎļþµÄÄÚ´æ¶ÎµÄ¸ß°ë²¿·Ö¡£¼Ä´æÆ÷ÖеÄÿһλ¶ÔÓ¦ÄÚ´æ¿Õ¼äÉϰ벿·ÖµÄÒ»¸ö¶Î¡£Èç¹ûij¸öλÉèÖÃΪ 1£¬ÔòÏàÓ¦µÄ¶Î±»±ê¼ÇΪ¿ÉÖ´ÐС£IO_IN (010)£º8 λ - UART£¨»òÈκÎͨÓà I/O É豸£©²Ù×÷µÄÊäÈë¼Ä´æÆ÷¡£ÕâÓÃÓÚ´ÓÍⲿÉ豸¶ÁÈ¡Êý¾Ý¡£IO_OUT (011)£º8 λ - UART£¨»òÈκÎͨÓà I/O É豸£©²Ù×÷µÄÊä³ö¼Ä´æÆ÷¡£ÕâÓÃÓÚ½«Êý¾ÝдÈëÍⲿÉ豸¡£CNT_L (100)£º8 λ - 16 λ¼ÆÊýÆ÷¼Ä´æÆ÷µÄµÍ 8 λ¡£Õâ¿ÉÓÃÓÚ´æ´¢¼ÆÊýÖµµÄÏ°벿·Ö£¬¿ÉÓÃÓÚ¼Æʱ²Ù×÷»ò±à³ÌÖеÄÑ»·µÈ¡£CNT_H (101)£º8 λ - 16 λ¼ÆÊýÆ÷¼Ä´æÆ÷µÄ¸ß 8 λ¡£Õâ¿ÉÓÃÓÚ´æ´¢¼ÆÊýÖµµÄÉϰ벿·Ö£¬ÀàËÆÓÚ CNT_L ¼Ä´æÆ÷¡£STATUS_CTRL (110)£º8 λ - ÓÃÓÚ±£´æ CPU Öв»Í¬²Ù×÷״̬µÄ¿ØÖƼĴæÆ÷¡£ÕâЩλÊÇ£º{SIG_OUT[7:2], CNT_EN[1], IRQ_OUT[0]}¡£SIG_OUT λÓÃÓÚÏò½Ï´óµÄ Caravel ´¦ÀíÆ÷·¢ËÍÐźţ¨6 룩¡£CNT_EN λÓÃÓÚʹÄܼÆÊýÆ÷¡£IRQ_OUT λÓÃÓÚÏò½Ï´óµÄ Caravel ´¦ÀíÆ÷·¢ËÍÖжϡ£SIG_IN (111)£º8 λ - ÕâÀïµÄ 8 λ¿ÉÒÔÀ´×Ô¸ü´óµÄ Caravel ´¦ÀíÆ÷¡£Õâ¿ÉÓÃÓÚÏò CPU ·¢ËÍÐźţ¬ÀýÈç×÷Òµ¿ªÊ¼¡¢×÷Òµ½áÊøµÈ¡£Ê¹Óûã±à³ÌÐòµÄʾÀý±à³ÌGPT-4 Éú³ÉµÄ»ã±àÆ÷¼ò»¯ÁËΪ QTCore-C1 ±àд»ã±à³ÌÐòµÄ¹ý³Ì¡£Ïò»ã±àÆ÷Ìṩ³ÌÐò£º³ÌÐòÒÔÒÔϸñʽ³ÊÏÖ[address]: [mnemonic] [optional operand]ÓÐÒ»¸öÌØÊâµÄÔªÖ¸Áî³ÆΪ DATA£¬ËüºóÃæ¸ú×ÅÒ»¸öÊý×Ö¡£Èç¹ûʹÓõĻ°£¬Ö»Ð轫¸ÃºÅÂë·ÅÔڸõØÖ·¼´¿É¡£³ÌÐò²»Äܳ¬¹ýÄÚ´æµÄ´óС£¨ÔÚQTCore-C1ÖУ¬ÕâÊÇ256×Ö½Ú£©¡£´æ´¢Æ÷°üº¬Ö¸ÁîºÍÊý¾Ý¡£Ê¾Àý³ÌÐò£ºÔڴ˳ÌÐòÖУ¬¹Û²ìÎÒÃÇÈçºÎͨ¹ý SETSEG ¶Áд I/O¡¢¶¨Ê±Æ÷ºÍÊý¾Ý´æ´¢Æ÷¡£ÎÒÃÇ»¹Í¨¹ý CSW ½«ÄÚ´æ¶ÎÉèÖÃΪ¿ÉÖ´ÐУ¬È»ºóÌøתµ½²»¿ÉÖ´ÐеĶÎÒÔʹ´¦ÀíÆ÷±ÀÀ£¡£ÈçͼËùʾ£ºÈ»ºó£¬ÎÒÃÇÖÕÓÚÄõ½ÁËÕâ¸öоƬ¡£»ù±¾²âÊÔºÍÊ¥µ®½Ú LED ÏÔʾÆÁ£¡ÎÒÐèÒª²âÊÔµÄ*¼þÊÂÊÇÎÒʵ¼ÊÉÏ¿ÉÒÔÓëÎÒµÄоƬ¶Ô»°£¬¾ÍÏñÎÒÔÚÄ£ÄâÖÐËù×öµÄÄÇÑù¡£ÎÒÆô¶¯ÁËÎÒΪÔʼ¾ºÈü½ØÖ¹ÈÕÆÚ±àдµÄ³ÌÐò£¬²¢½«Æä·ÅÈë Caravel£¬È»ºóÒâʶµ½Ëü½ö¸ù¾ÝÄ£ÄâÆ÷¼ì²éÖµ¡°Í¨¹ý¡± - ¼´´¦ÀíÆ÷ʵ¼ÊÉÏûÓз¢³öÈκζ«Î÷£¡Òò´Ë£¬ÎÒ±ØÐë¸üРRISC-V ³ÌÐòÒÔÖ§³Ö UART£¬ÐÒ¿÷ÓÐ caravel Îĵµ£¬Õâ·Ç³£¼òµ¥¡£¾¹ýÒ»´Î»ÙÃðÐÔµÄʵÑ飬ûÓз¢ÉúÈκÎÊÂÇ飬ÎÒÈÏΪоƬÎÞ·¨¹¤×÷£¬ÎÒÒâʶµ½ÎÒÐèÒªÖ´ÐÐÒ»¸ö¶îÍâµÄÅäÖò½ÖèÀ´ÆôÓà caravel Óû§¿Õ¼ä²æ¹Ç×ÜÏߣ¬È»ºóÎÒÔËÐгÌÐò£¬ÖÕÓÚÕý³£¹¤×÷ÁË¡£ºÜÄÑÃèÊöÔÚÎÒÃæÇ°ÓÐÒ»¿éÎÒ²ÎÓëÉè¼ÆµÄ¹¤×÷¹èƬÊǶàôÁîÈ˾ªÆ棬ÌرðÊÇÒòΪÎÒÒÔÇ°´ÓδÕæÕýÉè¼Æ¹ýÈκÎÁ÷Ƭ¡£Èç¹ûûÓÐÏñ ChatGPT ÕâÑùµÄLLMÀ´¼¤ÀøÎÒÈ¥³¢ÊÔ£¬ÎÒÒ²ÐíÒ²²»»áÕâô×ö¡£ÎÒÓÖ×öÁËһЩʵÑ飬·¢ÏÖоƬ¿ÉÄÜ´æÔÚһЩÎÊÌ⣬°üÀ¨ÔËÐÐ HALT ÃüÁîºó²»ÏëÖØÐÂÆô¶¯µÄÎÊÌ⣨ºÜ·³ÈË£¬ÒòΪÎÒϲ»¶ HALT À´Ö¸Ê¾³ÌÐòÒÑÍê³ÉÔËÐУ¡£©¡£ÎÒ×îÖÕ´´½¨ÁËÒ»¸ö¼òµ¥µÄ¼ÆÊýÆ÷³ÌÐò£¬Óë caravel ´¦ÀíÆ÷ÎÕÊÖ£¬ÀàËÆÓÚ֮ǰµÄ LED ÉÁ˸³ÌÐò£¬È»ºó£¬ÎÒÃÇÖÕÓڵõ½Á˽ÚÈÕµÄÊ¥µ®Ê÷Ê¢Ñç¡£ÎÒÃÇµÄ QTCore-C1 Éè¼ÆÊÇÒ»¸ö»ùÓÚ 8 λÀÛ¼ÓÆ÷µÄ¼Ü¹¹£¬¿ÉÒԳ䵱Ö÷ Caravel ºËÐĵÄÒ»ÖÖ¿ÉÔ¤²âд¦ÀíÆ÷¡£Ëü¿ÉÒÔÖ´Ðлù±¾µÄÊýѧºÍÂß¼ÔËË㣬Óë¶à¸öÊäÈë/Êä³öÏß½»»¥ÒÔ¼°Ê¹ÓÃÄÚ²¿¼ÆÊýÆ÷²âÁ¿Ê±¼ä£¬²¢ÇÒ¿ÉÒÔÏòÖ÷´¦ÀíÆ÷·¢ËͺͽÓÊÕÖµÒÔ¼°ÖжÏÇëÇó¡£×Ô 2020 ÄêÒÔÀ´£¬ÎÒÒ»Ö±ÓëÓ²¼þLLMºÏ×÷£¬ÒòΪÎÒÏàÐÅËüÃÇÔÚ¼ò»¯¡¢ÃñÖ÷»¯ºÍ¼ÓËÙÓ²¼þ¿ª·¢·½Ãæ¾ßÓо޴óDZÁ¦£¬ÌرðÊÇÓë OpenLane ºÍ Caravel ÌṩµÄ¿ªÔ´Éè¼ÆÁ÷³Ì½áºÏʹÓÃʱ¡£ÎÒÒ²²»ÈÏΪÎÒÊÇ*³ÖÕâÖÖ¹ÛµãµÄÈË¡£½ü¼¸¸öÔÂÀ´£¬RapidSilicon Ðû²¼ÁË RapidGPT£¬NVIDIA ÍƳöÁË ChipNeMo£¬Cadence Ðû²¼ÁË JedAI£¬Synopsys.AI Ò²ÒÑÍƳö¡£ËùÓÐÕâЩ¶¼ÊÇÏÖʵÊÀ½çµÄÉÌÒµÆóÒµ£¬Ö¼ÔÚ½«LLM´øÈëÓ²¼þÁìÓò¡£ÎÒ¶Ô½ÓÏÂÀ´·¢ÉúµÄÊÂÇé¸Ðµ½·Ç³£ÐË·Ü¡£ 600ÒÚºÚÂí£¬Í»È»ÖÕÖ¹IPO
±à¼-ÑîÓ±,