कालद विचलन

क्लॉक स्क्यू (कभी-कभी टाइमिंग स्क्यू कहा जाता है) सिंक्रोनस सर्किट डिजिटल इलेक्ट्रॉनिक्स (जैसे कंप्यूटर सिस्टम) में एक घटना है जिसमें एक ही सोर्स घड़ी संकेत  गेट के कारण अलग-अलग इलेक्ट्रॉनिक घटक पर अलग-अलग समय पर आता है या अधिक उन्नत  सेमीकंडक्टर डिवाइस का निर्माण  में, तार संकेत प्रसार विलंब। किन्हीं दो घड़ियों के पाठ्यांकों के बीच तात्क्षणिक अंतर को उनका तिरछा कहा जाता है।

अधिकांश डिजिटल सर्किट का संचालन एक आवधिक संकेत द्वारा सिंक्रनाइज़ किया जाता है जिसे क्लॉक सिग्नल के रूप में जाना जाता है जो सर्किट पर उपकरणों के अनुक्रम और पेसिंग को निर्देशित करता है। यह घड़ी एक ही स्रोत से सर्किट के सभी मेमोरी तत्वों में वितरित की जाती है, जो उदाहरण के लिए हार्डवेयर रजिस्टर या फ्लिप-फ्लॉप (इलेक्ट्रॉनिक्स)|फ्लिप-फ्लॉप हो सकता है। एज-ट्रिगर रजिस्टरों का उपयोग करने वाले सर्किट में, जब क्लॉक एज या टिक एक रजिस्टर पर आता है, तो रजिस्टर रजिस्टर इनपुट को रजिस्टर आउटपुट में स्थानांतरित करता है, और ये नए आउटपुट मान अगले के लिए रजिस्टर इनपुट पर मान प्रदान करने के लिए संयोजन तर्क के माध्यम से प्रवाहित होते हैं। घड़ी की टिक।

आदर्श रूप से, प्रत्येक मेमोरी तत्व का इनपुट अगली घड़ी की टिक के लिए समय में अपने अंतिम मूल्य तक पहुँच जाता है ताकि पूरे सर्किट के व्यवहार का सटीक अनुमान लगाया जा सके। भौतिक संरचना, तापमान और पथ की लंबाई में अंतर के कारण सर्किट के विभिन्न तत्वों के बीच होने वाली भिन्नता के लिए अधिकतम गति जिस पर एक प्रणाली चल सकती है।

एक तुल्यकालिक सर्किट में, दो रजिस्टरों, या फ्लिप-फ्लॉप, को क्रमिक रूप से आसन्न कहा जाता है यदि कोई तर्क पथ उन्हें जोड़ता है। दो क्रमिक रूप से आसन्न रजिस्टरों को देखते हुए Ri और आरj स्रोत और गंतव्य पर घड़ी के आगमन के समय के साथ टी के बराबर घड़ी पिन दर्ज करेंCi और टीCj क्रमशः, क्लॉक स्क्यू को इस प्रकार परिभाषित किया जा सकता है: $T_{skew i, j} = T_{Ci} − T_{Cj}$.

सर्किट डिजाइन में
क्लॉक तिरछा कई अलग-अलग चीजों के कारण हो सकता है, जैसे वायर-इंटरकनेक्ट की लंबाई, तापमान भिन्नता, मध्यवर्ती उपकरणों में भिन्नता, कैपेसिटिव कपलिंग, सामग्री की खामियां, और घड़ी का उपयोग करने वाले उपकरणों के क्लॉक इनपुट पर इनपुट कैपेसिटेंस में अंतर। जैसे ही सर्किट की घड़ी की दर बढ़ती है, समय अधिक महत्वपूर्ण हो जाता है और यदि सर्किट को ठीक से काम करना है तो कम बदलाव को सहन किया जा सकता है।

घड़ी का तिरछा दो प्रकार का होता है: ऋणात्मक तिरछा और धनात्मक तिरछा। सकारात्मक तिरछा तब होता है जब प्राप्त करने वाला रजिस्टर ट्रांसमिटिंग रजिस्टर की तुलना में बाद में घड़ी की टिक प्राप्त करता है। नकारात्मक तिरछा विपरीत है: प्रेषण रजिस्टर को बाद में प्राप्त करने वाले रजिस्टर की तुलना में घड़ी की टिक मिलती है। जीरो क्लॉक स्क्यू का मतलब ट्रांसमिटिंग और रिसीविंग रजिस्टर के साथ-साथ क्लॉक टिक के आने से है।

हानिकारक तिरछा
घड़ी के टेढ़े होने के कारण दो प्रकार के उल्लंघन हो सकते हैं। एक समस्या तब होती है जब घड़ी पहले रजिस्टर तक पहुँचती है और दूसरे रजिस्टर की ओर घड़ी का संकेत पहले रजिस्टर के आउटपुट की तुलना में दूसरे रजिस्टर में धीमी गति से यात्रा करता है - पहले रजिस्टर का आउटपुट दूसरे रजिस्टर इनपुट तक तेज़ी से पहुँचता है और इसलिए इसे बदलकर क्लॉक किया जाता है दूसरे रजिस्टर पर प्रारंभिक डेटा, या शायद लैच्ड डेटा की अखंडता को नष्ट करना। इसे होल्ड उल्लंघन कहा जाता है क्योंकि पिछले डेटा को गंतव्य फ़्लिप-फ़्लॉप पर ठीक से क्लॉक किए जाने के लिए पर्याप्त समय तक नहीं रखा जाता है। एक अन्य समस्या तब उत्पन्न होती है जब गंतव्य फ्लिप-फ्लॉप स्रोत फ्लिप-फ्लॉप की तुलना में पहले घड़ी की टिक प्राप्त करता है - डेटा सिग्नल में अगली घड़ी की टिक से पहले गंतव्य फ्लिप-फ्लॉप तक पहुंचने के लिए बहुत कम समय होता है। यदि यह ऐसा करने में विफल रहता है, तो एक सेटअप उल्लंघन होता है, तथाकथित क्योंकि नया डेटा सेट नहीं किया गया था और अगली घड़ी के आने से पहले स्थिर था। सेटअप उल्लंघन की तुलना में होल्ड उल्लंघन अधिक गंभीर है क्योंकि इसे घड़ी की अवधि बढ़ाकर ठीक नहीं किया जा सकता है। सकारात्मक तिरछा और नकारात्मक तिरछा सेटअप को नकारात्मक रूप से प्रभावित नहीं कर सकता है और क्रमशः समय की कमी को रोक सकता है (नीचे असमानताएं देखें)।

फायदेमंद तिरछा
जहां एक संकेत मोटे तौर पर एक सर्किट को देखता है, इससे पहले कि यह शुरू होने वाले संकेतों / राज्य-संक्रमणों को स्थिर किया जाना चाहिए, इससे पहले कि यह राज्य संक्रमणों के एक और सेट को संकेत देता है - और यह घड़ी की ऊपरी आवृत्ति को सीमित करता है। तिरछा इस प्रकार घड़ी की आवृत्ति कम हो जाती है जिस पर सर्किट सही ढंग से काम करेगा। पथ से जुड़े प्रत्येक स्रोत रजिस्टर और गंतव्य रजिस्टर के लिए, निम्नलिखित सेटअप और होल्ड असमानताओं का पालन किया जाना चाहिए: कहाँ
 * 1) $$ T \ge reg + path_{max} + J + S - (s_d - s_s) $$
 * 2) $$ (s_d - s_s) \le reg + path_{min} - J - H $$
 * टी घड़ी की अवधि है,
 * reg स्रोत रजिस्टर की क्यू देरी की घड़ी है,
 * $$path_{max}$$ स्रोत से गंतव्य तक सबसे लंबी देरी वाला मार्ग है,
 * जे जिटर पर ऊपरी बाउंड है,
 * एस गंतव्य रजिस्टर का सेटअप समय है
 * $$(s_d - s_s)$$ स्रोत से गंतव्य रजिस्टरों तक घड़ी तिरछा प्रतिनिधित्व करता है,
 * $$path_{min}$$ स्रोत से गंतव्य तक सबसे कम विलंब वाला पथ है,
 * H डेस्टिनेशन रजिस्टर का होल्ड टाइम है,
 * $$s_d$$ गंतव्य रजिस्टर के लिए घड़ी तिरछी है, और
 * $$s_s$$ स्रोत रजिस्टर के लिए घड़ी तिरछी है।

सेटअप उल्लंघनों को ठीक करने के लिए पॉज़िटिव क्लॉक स्क्यू अच्छे हैं, लेकिन होल्ड उल्लंघन का कारण बन सकते हैं। निगेटिव क्लॉक तिरछा होल्ड उल्लंघन से बचाव कर सकता है, लेकिन सेटअप उल्लंघन का कारण बन सकता है।

उपरोक्त असमानताओं में, एकल पैरामीटर, J, का उपयोग घबराना  के लिए किया जाता है। यह पैरामीटर सभी स्रोत रजिस्टर/गंतव्य रजिस्टर जोड़े पर जिटर में अंतर के लिए ऊपरी और निचली सीमा होनी चाहिए। हालाँकि, यदि घड़ी वितरण नेटवर्क की संरचना ज्ञात है, तो विभिन्न स्रोत रजिस्टर/गंतव्य रजिस्टर जोड़े में अलग-अलग जिटर पैरामीटर हो सकते हैं, और सेटअप बाधा के मान के विपरीत होल्ड बाधा के लिए एक अलग जिटर मान का उपयोग किया जा सकता है। उदाहरण के लिए, यदि स्रोत रजिस्टर और गंतव्य रजिस्टर एक सामान्य पास के घड़ी डिजिटल बफर से अपने क्लॉक सिग्नल प्राप्त करते हैं, तो उस होल्ड कंस्ट्रेंट के लिए जिटर बाउंड बहुत छोटा हो सकता है, क्योंकि उस क्लॉक सिग्नल में कोई भी बदलाव दो रजिस्टरों को समान रूप से प्रभावित करेगा। उसी उदाहरण के लिए, सेटअप बाधा के लिए बाध्य जिटर होल्ड बाधा से बड़ा होना चाहिए, क्योंकि जिटर क्लॉक टिक से क्लॉक टिक तक भिन्न हो सकता है। यदि स्रोत रजिस्टर क्लॉक डिस्ट्रीब्यूशन नेटवर्क के लीफ बफर से अपना क्लॉक सिग्नल प्राप्त करता है, जो डेस्टिनेशन रजिस्टर को फीड करने वाले लीफ बफर से बहुत दूर है, तो दो रजिस्टरों के लिए अलग-अलग क्लॉक पाथ को ध्यान में रखते हुए जिटर बाउंड बड़ा होना चाहिए।, जिसमें अलग-अलग शोर स्रोत हो सकते हैं।

फाइल: लॉन्ग एंड शिफ्ट पाथ2.pdf|थंब|फिगर 1. जीरो स्क्यू के खतरे। FF2 -> FF3 पथ होल्ड उल्लंघन के साथ खराब हो जाएगा यदि FF3 में थोड़ी सी अतिरिक्त क्लॉक देरी, जैसे क्लॉक जिटर, होती है।

फ़ाइल:लंबा और शिफ्ट पथ तिरछा2.pdf|अंगूठा|चित्र 2. FF2 के क्लॉक इनपुट पर डाली गई देरी की एक छोटी मात्रा FF2 -> FF3 पथ में होल्ड उल्लंघन के विरुद्ध सुरक्षा करती है, और उसी समय FF1 -> की अनुमति देती है कम घड़ी अवधि में संचालित करने के लिए FF2 पथ। यह जानबूझकर तिरछा सर्किट चित्र 1 के शून्य तिरछा सर्किट की तुलना में अधिक सुरक्षित और तेज़ है।

आंकड़े 1 और 2 एक ऐसी स्थिति का वर्णन करते हैं जहां जानबूझकर घड़ी तिरछा करना एक तुल्यकालिक सर्किट को लाभ पहुंचा सकता है। चित्र 1 के शून्य तिरछा सर्किट में, एक लंबा रास्ता फ्लिप-फ्लॉप FF1 से फ्लिप-फ्लॉप FF2 तक जाता है, और एक छोटा रास्ता, जैसे शिफ्ट-रजिस्टर पथ, FF2 से FF3 तक। FF2 -> FF3 पथ खतरनाक रूप से होल्ड उल्लंघन के करीब है: यदि FF3 पर थोड़ी सी अतिरिक्त घड़ी की देरी भी होती है, तो यह FF3 के D इनपुट पर डेटा को नष्ट कर सकता है, इससे पहले कि घड़ी FF3 के क्यू के माध्यम से इसे देखने के लिए आती है आउटपुट। यह तब भी हो सकता है जब FF2 और FF3 शारीरिक रूप से एक-दूसरे के करीब हों, अगर उनका क्लॉक इनपुट क्लॉक डिस्ट्रीब्यूशन नेटवर्क के अलग-अलग लीफ बफ़र्स से आया हो।

चित्रा 2 दिखाता है कि जानबूझकर घड़ी के झुकाव के साथ समस्या को कैसे ठीक किया जा सकता है। FF2 के क्लॉक इनपुट से पहले थोड़ी सी अतिरिक्त देरी को रोका जाता है, जो तब सुरक्षित रूप से FF2 -> FF3 पथ को उसके होल्ड उल्लंघन से दूर रखता है। एक अतिरिक्त लाभ के रूप में, यह वही अतिरिक्त घड़ी विलंब FF1 -> FF2 पथ के लिए सेटअप बाधा को आराम देता है। FF1 -> FF2 पथ एक घड़ी की अवधि में सही ढंग से काम कर सकता है जो कि शून्य घड़ी तिरछा मामले के लिए आवश्यक से कम है, अतिरिक्त घड़ी विलंब बफर की देरी के बराबर राशि से।

जानबूझकर घड़ी तिरछा करने के बारे में एक आम गलत धारणा यह है कि यह शून्य घड़ी तिरछा से अधिक खतरनाक है, या यह कि घड़ी वितरण नेटवर्क में देरी के अधिक सटीक नियंत्रण की आवश्यकता है। हालाँकि यह चित्र 1 का शून्य तिरछा सर्किट है जो खराबी के करीब है - FF2 -> FF3 जोड़ी के लिए थोड़ी मात्रा में सकारात्मक घड़ी तिरछा होने से पकड़ का उल्लंघन होगा, जबकि चित्र 2 का जानबूझकर तिरछा सर्किट अनपेक्षित देरी के प्रति अधिक सहिष्णु है घड़ी वितरण में बदलाव।

इष्टतम तिरछा
यदि अलग-अलग रजिस्टरों पर घड़ी के आगमन के समय को चर के रूप में देखा जाता है ताकि सेटअप को संतुष्ट करते हुए घड़ी की अवधि को कम करने के लिए समायोजित किया जा सके और सर्किट के माध्यम से सभी पथों के लिए असमानताएं पकड़ सकें, तो परिणाम एक रैखिक प्रोग्रामिंग समस्या है। इस रेखीय कार्यक्रम में, शून्य घड़ी तिरछा केवल एक व्यवहार्य बिंदु है - रैखिक कार्यक्रम का समाधान आम तौर पर एक घड़ी की अवधि देता है जो कि शून्य तिरछा द्वारा प्राप्त की गई अवधि से कम है। इसके अलावा, शून्य तिरछा मामले से अधिक या उसके बराबर सुरक्षा मार्जिन की गारंटी लीनियर प्रोग्राम में उचित रूप से सेटअप और होल्ड समय और जिटर बाउंड करके दी जा सकती है।

इस रेखीय कार्यक्रम के सरल रूप के कारण, समाधान पर पहुंचने के लिए आसानी से क्रमादेशित एल्गोरिथम उपलब्ध है। वीएलएसआई और एफपीजीए डिजाइन के लिए अधिकांश सीएडी सिस्टम में क्लॉक स्क्यू को अनुकूलित करने की सुविधाएं हैं।

क्लॉक स्क्यू और क्लॉक जिटर
के बीच भ्रम

क्लॉक स्रोत से प्रत्येक क्लॉक किए गए रजिस्टर में क्लॉक लेटेंसी में स्थिर अंतर के कारण क्लॉक तिरछा होने के अलावा, कोई भी क्लॉक सिग्नल पूरी तरह से आवधिक नहीं है, ताकि क्लॉक अवधि या क्लॉक चक्र का समय एक घटक पर भी भिन्न हो, और यह भिन्नता ज्ञात हो घड़ी जिटर के रूप में। क्लॉक डिस्ट्रीब्यूशन नेटवर्क में एक विशेष बिंदु पर, क्लॉक टाइमिंग अनिश्चितता के लिए जिटर एकमात्र योगदानकर्ता है।

सन्निकटन के रूप में, दो रजिस्टरों के बीच कुल क्लॉक टाइमिंग अनिश्चितता पर चर्चा करना अक्सर उपयोगी होता है, जैसे कि स्पेसियल क्लॉक स्क्यू (क्लॉक सोर्स से क्लॉक लेटेंसी में स्थानिक अंतर), और क्लॉक जिटर (अर्थात् घड़ी की गैर-आवधिकता) नेटवर्क में एक विशेष बिंदु पर)। दुर्भाग्य से, बिजली की आपूर्ति, स्थानीय तापमान, और अन्य संकेतों के लिए शोर युग्मन में स्थानीय समय-निर्भर भिन्नताओं के कारण स्थानिक घड़ी तिरछा समय एक चक्र से दूसरे चक्र में भिन्न होता है।

इस प्रकार, विभिन्न स्थानों पर रजिस्टर भेजने और प्राप्त करने के सामान्य मामले में, कुल घड़ी समय अनिश्चितता को स्थानिक तिरछा और घबराहट में अलग करने का कोई स्पष्ट तरीका नहीं है। इस प्रकार कुछ लेखक स्थानिक क्लॉक स्क्यू और क्लॉक जिटर के योग का वर्णन करने के लिए क्लॉक स्क्यू शब्द का उपयोग करते हैं। इसका निश्चित रूप से मतलब है कि दो बिंदुओं के बीच की घड़ी तिरछा चक्र से चक्र में भिन्न होती है, जो कि एक जटिलता है जिसका उल्लेख शायद ही कभी किया जाता है। कई अन्य लेखक क्लॉक स्क्यू शब्द का उपयोग केवल घड़ी के समय की स्थानिक भिन्नता के लिए करते हैं, और क्लॉक जिटर शब्द का उपयोग कुल क्लॉक टाइमिंग अनिश्चितता के बाकी हिस्सों का प्रतिनिधित्व करने के लिए करते हैं। इसका निश्चित रूप से मतलब है कि प्रत्येक घटक पर घड़ी का कंपन अलग होना चाहिए, जिस पर फिर से शायद ही कभी चर्चा की जाती है।

सौभाग्य से, कई मामलों में, स्थानिक घड़ी तिरछा चक्र से चक्र तक काफी स्थिर रहता है, जिससे कि कुल घड़ी समय की अनिश्चितता के बाकी हिस्सों को एक सामान्य घड़ी घबराना मान से अच्छी तरह अनुमानित किया जा सकता है।

एक नेटवर्क पर
इंटरनेट जैसे नेटवर्क पर, घड़ी तिरछा नेटवर्क के भीतर विभिन्न घड़ियों की आवृत्ति (समय के साथ चरण (तरंगों) का पहला व्युत्पन्न) में अंतर का वर्णन करता है। नेटवर्क ऑपरेशंस जिन्हें TIMESTAMP  की आवश्यकता होती है जो मेजबानों में तुलनीय हैं, क्लॉक स्क्यू से प्रभावित हो सकते हैं। कई प्रोटोकॉल (जैसे नेटवर्क टाइम प्रोटोकॉल) घड़ी के झुकाव को कम करने और अधिक स्थिर कार्यों का उत्पादन करने के लिए डिज़ाइन किए गए हैं। कुछ एप्लिकेशन (जैसे कि  खेल सर्वर ) क्लॉक स्क्यू के कारण विश्वसनीयता की समस्याओं से बचने के लिए अपने स्वयं के तुल्यकालन तंत्र का उपयोग कर सकते हैं।

इंटरफेस
क्लॉक स्क्यू यही कारण है कि तेज गति या लंबी दूरी पर, समानांतर इंटरफेस (जैसे समानांतर एससीएसआई) पर सीरियल इंटरफेस (जैसे सीरियल संलग्न एससीएसआई  या  USB ) को प्राथमिकता दी जाती है।

यह भी देखें

 * घड़ी का बहाव
 * घबराना
 * तिरछापन