AI-Generated RTL Code: A Functional Evaluation of Natural-Language and HLS Prompting
यह अध्ययन उच्च-स्तरीय विनिर्देशों (high-level specifications) से कार्यात्मक वर्डिग (Verilog) RTL उत्पन्न करने की वाणिज्यिक LLMs की क्षमता का मूल्यांकन करता है, जिसमें यह पाया गया है कि HLS-C प्रॉम्प्ट्स का उपयोग करने से प्राकृतिक भाषा की तुलना में शुद्धता में उल्लेखनीय सुधार होता है, जबकि सिमुलेशन त्रुटियों और परिवर्तनशील बिट-चौड़ाई (variable bit-widths) केAcross सीमित सामान्यीकरण (limited generalization) संबंधी निरंतर चुनौतियों का भी पता चलता है।
मूल पेपर CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक माइक्रोचिप के भीतर एक छोटा, सुपर-फास्ट कारखाना बनाने की कोशिश कर रहे हैं। यह ऐसा कारखाना नहीं है जो खिलौने या कारें बनाता है; यह एक डिजिटल कारखाना है जो प्रकाश की गति से सूचनाओं को प्रोसेस करता है। इसे बनाने के लिए, इंजीनियर एक विशेष प्रकार की निर्देश पुस्तिका लिखते हैं जिसे RTL कोड (रजिस्टर-ट्रांसफर लेवल) कहा जाता है। इस कोड को कारखाने के कन्वेयर बेल्ट, असेंबली आर्म और ट्रैफिक लाइट के ब्लूप्रिंट (खाके) के रूप में समझें। यदि ब्लूप्रिंट में एक भी छोटी सी गलती होती है, तो पूरा कारखाना जाम हो सकता है, उसमें आग लग सकती है, या वह पूरी तरह से काम करना बंद कर सकता है।
लंबे समय तक, इन ब्लूप्रिंट्स को लिखना एक गुप्त, कठोर भाषा बोलने जैसा था जिसे केवल कुछ विशेषज्ञ ही समझते हैं। लेकिन अब, हमारे पास आर्टिफिशियल इंटेलिजेंस (AI) है जो सॉफ्टवेयर के लिए कोड लिखने में अविश्वसनीय रूप से कुशल है—जैसे आपके फोन के ऐप्स या वेबसाइटें। लोगों ने सोचना शुरू किया: "यदि AI सॉफ्टवेयर कोड इतनी अच्छी तरह से लिख सकता है, तो क्या वह ये जटिल हार्डवेयर ब्लूप्रिंट भी लिख सकता है?" यही वह बड़ा सवाल था जिसे शोधकर्ताओं ने हल करने की कोशिश की। वे देखना चाहते थे कि क्या एक स्मार्ट AI एक साधारण हार्डवेयर कार्य के विवरण को देखकर उसे एक काम करने वाले हार्डवेयर ब्लूप्रिंट में बदल सकता है, या वह सख्त नियमों के कारण भ्रमित हो जाएगा।
प्रयोग: बातचीत बनाम कोडिंग
शोधकर्ताओं ने यह देखने के लिए एक विशाल परीक्षण आयोजित किया कि विभिन्न AI मॉडल इस काम को कितनी अच्छी तरह कर सकते हैं। उन्होंने AI को ब्लूप्रिंट मांगने के दो बहुत अलग तरीके दिए:
- "बातूनी" दृष्टिकोण (प्राकृतिक भाषा): उन्होंने AI को साधारण अंग्रेजी में बताया कि हार्डवेयर को क्या करना चाहिए। उदाहरण के लिए, "एक ऐसी मशीन बनाओ जो दो संख्याओं को गुणा करे।" यह किसी दोस्त से पूछने जैसा है, "हे, मेरे लिए एक सैंडविच बना दो," बिना किसी रेसिपी के।
- "प्रोग्रामर" दृष्टिकोण (HLS-C प्रॉम्प्टिंग): साधारण अंग्रेजी के बजाय, उन्होंने AI को C कोड (एक सामान्य प्रोग्रामिंग भाषा) का एक हिस्सा दिया जिसने तर्क (logic) का वर्णन किया। यह AI को एक विस्तृत रेसिपी देने जैसा है जिसे वह बहुत अच्छी तरह जानता है, और फिर उससे उस रेसिपी को विशिष्ट "हार्डवेयर भाषा" (Verilog) में अनुवाद करने के लिए कहना।
उन्होंने सात अलग-अलग AI मॉडलों पर इसका परीक्षण किया (GPT-4 और Gemini जैसे बड़े नामों सहित) और उन्हें आठ अलग-अलग प्रकार के डिजिटल सर्किट बनाने के लिए कहा, जिनमें सरल ट्रैफिक लाइट कंट्रोलर से लेकर जटिल गणित कैलकुलेटर तक शामिल थे। उन्होंने प्रत्येक परीक्षण को 30 बार चलाया ताकि यह देखा जा सके कि क्या AI इसे संयोग से सही कर रहा है या वह वास्तव में कार्य को समझता है।
परिणाम: रेसिपी की जीत
निष्कर्ष काफी स्पष्ट थे, और वे आपको आश्चर्यचकित कर सकते हैं। जब AI के साथ केवल साधारण अंग्रेजी में "चैट" की गई, तो उसे संघर्ष करना पड़ा। औसतन, उसके द्वारा बनाए गए ब्लूप्रिंटों में से केवल लगभग 26.9% ही वास्तव में काम कर रहे थे। ज्यादातर समय, AI ने ऐसी गलतियाँ कीं जो गलत ईंटों के साथ घर बनाने की कोशिश करने जैसी थीं—कोड या तो कंपाइल (शुरू) ही नहीं हो पाता था, या वह चलता तो था लेकिन गलत परिणाम देता था।
हालाँकि, जब शोधकर्ताओं ने C कोड रेसिपी (HLS-C प्रॉम्प्टिंग) का उपयोग किया, तो AI का प्रदर्शन काफी बढ़ गया। सफलता दर बढ़कर 39.5% हो गई। यह एक बड़ी सुधार है! यह सुझाव देता है कि भले ही AI स्मार्ट है, लेकिन वह एक प्रोग्रामर की तरह सोचता है, न कि एक हार्डवेयर इंजीनियर की तरह। जब आप उसे एक संरचित कोड रेसिपी देते हैं, तो वह उन चरणों को हार्डवेयर भाषा में अनुवाद करने का सटीक तरीका जान जाता है। यह ऐसा है जैसे AI कह रहा हो, "ओह, आपने मुझे फ्रेंच में रेसिपी दी? मैं उसे पूरी तरह से स्पेनिश में अनुवाद कर सकता हूँ। लेकिन अगर आप सिर्फ अंग्रेजी में 'सैंडविच बनाओ' कहेंगे, तो मैं गलत सामग्री का अनुमान लगा सकता हूँ।"
"अजीब नंबर" परीक्षण: क्या यह याद रख रहा है या समझ रहा है?
यह देखने के लिए कि क्या AI केवल पहले देखे गए उत्तरों की नकल कर रहा था (याद रखना) या वास्तव में इन मशीनों को बनाने की समझ रखता था, शोधकर्ताओं ने एक चाल चली। उन्होंने AI को अजीब, असामान्य बिट्स (bits) का उपयोग करके एक मल्टीप्लायर (गणित की मशीन) बनाने के लिए कहा, जैसे कि 7 बिट्स या 31 बिट्स। ये ऐसे नंबर हैं जिन्हें आप वास्तविक जीवन में लगभग कभी नहीं देखते, इसलिए AI इसे अपने प्रशिक्षण डेटा से केवल कॉपी नहीं कर सकता था।
यहाँ के परिणाम दिलचस्प थे। कुछ स्मार्ट AI मॉडल (जैसे o4-mini और Gemini 2.5 Pro) ने इन अजीब नंबरों को लगभग पूरी तरह से संभाला, और 90% से अधिक बार सही परिणाम दिए। यह दर्शाता है कि ये मॉडल केवल कॉपी-पेस्ट नहीं कर रहे हैं; वे वास्तव में मशीन बनाने के तर्क को समझते हैं। वे सामान्यीकरण (generalize) कर सकते हैं, जिसका अर्थ है कि वे नियमों को उन नई स्थितियों पर लागू कर सकते हैं जिन्हें उन्होंने पहले कभी नहीं देखा।
कमी: यह अभी भी पूर्ण नहीं है
इन सुधारों के बावजूद, यह शोध पत्र स्पष्ट रूप रूप से कहता है कि हम अभी वहां नहीं पहुंचे हैं। भले ही "रेसिपी" दृष्टिकोण के साथ, AI अभी भी सफलता से अधिक बार विफल होता है। सबसे बड़ी समस्या यह नहीं है कि AI सिंटैक्स (जैसे स्पेलिंग की गलती) को गलत करता है, बल्कि यह है कि वह टाइमिंग (समय) को गलत करता है।
कल्पना कीजिए कि AI एक ऐसा कारखाना बनाता है जहाँ कन्वेयर बेल्ट एक सेकंड बहुत तेज़ चलती है। ब्लूप्रिंट एकदम सही दिखता है, और मशीन चालू हो जाती है, लेकिन उत्पाद पैक होने से पहले ही लाइन से गिर जाते हैं। अध्ययन में, ये "सिमुलेशन त्रुटियां" सबसे आम विफलताएं थीं। AI अक्सर ऐसा कोड बनाता है जो दिखने में सही लगता है लेकिन जब घड़ी टिक-टिक करती है, तो व्यवहार थोड़ा गलत हो जाता है। इन त्रुटियों को ठीक करना कठिन है क्योंकि इसके लिए हार्डवेयर के समय के साथ व्यवहार की गहरी समझ की आवश्यकता होती है, जो AI के पास अभी भी कम है।
शोधकर्ताओं ने यह भी पाया कि जब AI सफल होता था, तो परिणामी हार्डवेयर अक्सर मानव विशेषज्ञों द्वारा लिखे गए ब्लूप्रिंट के समान या उससे भी तेज़ होता था। यह एक बड़ी जीत है, जो सुझाव देती है कि यदि हम AI को उन छोटी टाइमिंग गलतियों को रोकने में सक्षम बना सकें, तो यह इंजीनियरों के लिए एक अत्यंत शक्तिशाली सहायक बन सकता है।
मुख्य निष्कर्ष
तो, इससे क्या सीख मिलती है? AI कंप्यूटर चिप्स को डिजाइन करने में हमारी मदद करने में बहुत अच्छा हो रहा है, लेकिन यह अभी पूरी तरह से काम संभालने के लिए तैयार नहीं है। यह एक प्रतिभाशाली इंटर्न की तरह है जो एक शानदार डिज़ाइन का मसौदा तैयार कर सकता है यदि आप उसे एक स्पष्ट, संरचित योजना (जैसे C कोड रेसिपी) दें, लेकिन उसे अंतिम विवरणों की जांच करने और यह सुनिश्चित करने के लिए एक मानव पर्यवेक्षक की आवश्यकता होती है कि कारखाना क्रैश न हो।
अध्ययन बताता है कि इन AI मॉडलों से बात करने के लिए केवल साधारण अंग्रेजी में चैट करने की तुलना में कोड-आधारित प्रॉम्प्ट का उपयोग करना कहीं बेहतर तरीका है। हालांकि AI अभी भी ऐसी गलतियाँ करता है जिनके लिए मानवीय सुधार (debugging) की आवश्यकता होती है, लेकिन यह पहले से ही हार्डवेयर इंजीनियरिंग में नए लोगों को शुरुआत करने में मदद करने और डिजाइन प्रक्रिया को तेज करने के लिए एक शक्तिशाली उपकरण साबित हो रहा है। हम उस बिंदु पर नहीं हैं जहाँ AI बिना किसी मदद के शून्य से चिप बना सके, लेकिन हम निश्चित रूप से सही दिशा में बढ़ रहे हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।