एक अनुभवी इंजीनियर के रूप में ( FPGA डिजाइन और एम्बेडेड सिस्टम के साथ 3 साल ), मैं आपको बता रहा हूं कि आपको FPGA की डेटशीट और उपयोगकर्ता गाइड की जांच करने की आवश्यकता है। इसका आसान जवाब नहीं है।
आपको अपना डिजाइन FITs FPGA टाइप करना होगा जिसे आपने चुना है। कुछ FPGAs में FlipFlops हैं जो Async रीसेट के लिए डिज़ाइन किए गए थे, कुछ सिंक रीसेट के लिए डिज़ाइन किए गए हैं।
आपको किस प्रकार के FlipFlops के लिए FPGA उपयोगकर्ता गाइड की जांच करनी है।
यदि आप अपने कोड को FPGA प्राइमेटीस प्रकार के साथ मेल खाते हैं, तो इंप्लॉई / मैपर आपके रिसेट के लिए डेडिकेटेड रूट ( कोड ज्यादा फ्रीक में चला सकता है और कम जगह लेता है ) को चुन सकता है।
आपका डिज़ाइन किसी भी स्थिति में काम करेगा , लेकिन कभी-कभी FPGA इंप्लॉयर आपके तर्क कार्य ( अधिक तर्क जोड़ता है ) को बनाने के लिए अपने रास्ते से बाहर चला जाएगा , लेकिन यह कम अधिकतम आवृत्ति और / या अधिक FPGA रेज़ोर्स का कारण बनेगा।
उदाहरण: Xilinx के ZYNQ ( FPGA को सिंक किए गए रीसेट के लिए डिज़ाइन किया गया है - प्राइमेटीज़ उपयोगकर्ता गाइड देखें ) के साथ परीक्षण किया गया । एसिंक्रोनस से सिंक में रीसेट बदलकर , अधिकतम स्थिर आवृत्ति 220MHz से 258MHz हो गई और इसलिए मैंने अपनी आवृत्ति मार्जिन को पार कर लिया।
इसके अलावा, मैं यह भी जोड़ सकता हूं कि कार्यान्वयनकर्ता को यह पता नहीं है कि एक घड़ी और रीसेट सिग्नल क्या है। यह ORDER द्वारा सिग्नल को फ्लिपफ्लॉप पिन प्रदान करता है, नाम से नहीं। इसलिए कुछ FPGAs में, कार्यान्वयनकर्ता घड़ी के रूप में VHDL में "प्रक्रिया () शुरू होने" के बाद पहला संकेत चुनता है, कुछ में रीसेट के रूप में, जो FPGA को लागू करने वाले के लिए निर्धारित होता है।