आमतौर पर ASIC डिजाइन काम की जटिलता और मात्रा के कारण एक टीम प्रयास है। मैं चरणों का एक मोटा क्रम देता हूँ, हालाँकि कुछ चरणों को समानांतर या क्रम से पूरा किया जा सकता है। मैं उन उपकरणों की सूची दूंगा जिनका उपयोग मैंने प्रत्येक कार्य के लिए किया है, लेकिन यह विश्वकोश नहीं होगा।
एक सेल लाइब्रेरी बनाएँ। (वैकल्पिक रूप से, अधिकांश प्रक्रियाओं में गेट लाइब्रेरी होती हैं जो व्यावसायिक रूप से उपलब्ध होती हैं। मैं आपको इसकी सलाह दूंगा जब तक आपको पता न हो कि आपको किसी ऐसी चीज़ की आवश्यकता है जो उपलब्ध नहीं है।) इसमें कई लॉजिक फ़ंक्शंस के लिए कई लॉजिक फ़ंक्शंस डिज़ाइन करना शामिल है, जैसे पैड ड्राइवर / रिसीवर डिज़ाइन करना। और किसी भी मैक्रोज़ जैसे कि एक सरणी गुणक या मेमोरी। एक बार प्रत्येक सेल के लिए योजनाबद्ध डिजाइन और सत्यापित करने के बाद, भौतिक लेआउट को डिज़ाइन किया जाना चाहिए। मैंने स्पेक्टर और HSPICE जैसे एनालॉग सर्किट सिमुलेटर के साथ-साथ इस प्रक्रिया के लिए ताल पुण्यप्रसू का उपयोग किया है ।
सेल लाइब्रेरी को विशेषता दें। (यदि आपके पास थर्ड पार्टी गेट लाइब्रेरी है, तो यह आमतौर पर आपके लिए किया जाता है।) स्टेटिक टाइमिंग एनालिसिस (STA) के लिए टाइमिंग टेबल बनाने के लिए आपकी लाइब्रेरी की प्रत्येक सेल को सिम्युलेटेड होना चाहिए। इसमें तैयार सेल लेना, अस्सुरा , दिवा , या कैलिबर का उपयोग करके लेआउट पैरासिटिक्स को निकालना और अलग-अलग इनपुट स्थितियों और आउटपुट लोड के तहत सर्किट का अनुकरण करना शामिल है। यह प्रत्येक गेट के लिए एक टाइमिंग मॉडल बनाता है जो आपके STA पैकेज के अनुकूल है। समय के मॉडल आमतौर पर लिबर्टी फ़ाइल प्रारूप में होते हैं। मैंने सिलिकॉन स्मार्ट और लिबर्टी-एनसीएक्स का इस्तेमाल किया हैसभी आवश्यक शर्तों का अनुकरण करने के लिए। ध्यान रखें कि आपको "सबसे खराब स्थिति", "नाममात्र", और "सबसे अच्छा मामला" के लिए सबसे सॉफ्टवेयर के लिए ठीक से काम करने के लिए टाइमिंग मॉडल की आवश्यकता होगी।
अपने डिजाइन का संश्लेषण करें। मुझे उच्च स्तरीय संकलक के साथ अनुभव नहीं है, लेकिन दिन के अंत में संकलक या संकलक श्रृंखला को आपके उच्च स्तर के डिजाइन को लेना चाहिए और गेट-स्तरीय नेटलिस्ट उत्पन्न करना चाहिए। संश्लेषण परिणाम पहली बार आपको सैद्धांतिक प्रणाली के प्रदर्शन पर मिलता है, और जहां ड्राइव शक्ति के मुद्दों को पहली बार संबोधित किया जाता है। मैंने RTL कोड के लिए डिज़ाइन कंपाइलर का उपयोग किया है ।
अपने डिज़ाइन को रखें और रूट करें। यह सिंथेसाइज़र से गेट-लेवल नेटलिस्ट लेता है और इसे एक भौतिक डिज़ाइन में बदल देता है। आदर्श रूप से यह पैड-टू-पैड लेआउट उत्पन्न करता है जो निर्माण के लिए तैयार है। अपने P & R सॉफ़्टवेयर को स्वचालित रूप से हजारों DRC त्रुटियों को स्वचालित रूप से सेट करना आसान है, इसलिए इस चरण में सभी मज़ेदार और गेम नहीं हैं। अधिकांश सॉफ्टवेयर ड्राइव शक्ति के मुद्दों का प्रबंधन करेंगे और निर्देशित के रूप में घड़ी के पेड़ उत्पन्न करेंगे। कुछ सॉफ्टवेयर पैकेजों में एस्ट्रो, आईसी कंपाइलर, सिलिकॉन एनकाउंटर और सिलिकॉन एनसेंबल शामिल हैं। स्थान और मार्ग से अंतिम परिणाम अंतिम नेटलिस्ट, अंतिम लेआउट और निकाले गए लेआउट परजीवी हैं।
पोस्ट-लेआउट स्टेटिक टाइमिंग विश्लेषण। यहां लक्ष्य यह सत्यापित करना है कि आपका डिज़ाइन आपके समय विनिर्देशन को पूरा करता है, और इसमें कोई सेटअप, होल्ड या गेटिंग समस्याएँ नहीं हैं। यदि आपकी डिज़ाइन आवश्यकताएं कड़ी हैं, तो आप त्रुटियों को ठीक करने और अपने P & R टूल में सुधारों को अपडेट करने में बहुत समय व्यतीत कर सकते हैं। अंतिम एसटीए टूल जिसका हमने उपयोग किया था वह था प्राइमटाइम ।
लेआउट का भौतिक सत्यापन। एक बार पी एंड आर उपकरण द्वारा एक लेआउट तैयार किया गया है, आपको यह सत्यापित करने की आवश्यकता है कि डिजाइन प्रक्रिया डिजाइन नियमों (डिजाइन नियम चेक / डीआरसी) से मिलता है और यह लेआउट योजनाबद्ध (लेआउट बनाम योजनाबद्ध / एलवीएस) से मेल खाता है। इन चरणों का पालन यह सुनिश्चित करने के लिए किया जाना चाहिए कि लेआउट सही ढंग से वायर्ड है और यह manufacturable है। फिर से, कुछ भौतिक सत्यापन उपकरण Assura , Diva , या Caliber हैं ।
अंतिम डिजाइन का अनुकरण। जटिलता के आधार पर, आप स्पेक्टर या HSPICE , HSIM का उपयोग करके "फास्ट मसाला" सिमुलेशन , या ModelSim या VCS का उपयोग करके पूरी तरह से डिजिटल सिमुलेशन का उपयोग करके ट्रांजिस्टर-स्तरीय सिमुलेशन करने में सक्षम हो सकते हैं । आपको अपने STA या P & R टूल की मदद से यथार्थवादी देरी के साथ एक सिमुलेशन उत्पन्न करने में सक्षम होना चाहिए।
मौजूदा गेट लाइब्रेरी के साथ शुरू करना एक बड़ा समय बचाने वाला है, साथ ही किसी भी मैक्रो का उपयोग करना जो आपके डिज़ाइन को लाभान्वित करता है, जैसे कि मेमोरी, एक माइक्रोकंट्रोलर या वैकल्पिक प्रसंस्करण ब्लॉक। डिजाइन की जटिलता का प्रबंधन एक बड़ा हिस्सा है - एक ही घड़ी का डिज़ाइन कई घड़ी डोमेन वाले सर्किट की तुलना में सत्यापित करना आसान होगा।