क्यों ट्रिगर स्तर पर बढ़त ट्रिगर पसंद की जाती है?


18

मैं समझने की कोशिश कर रहा हूं कि स्तर ट्रिगरिंग से अधिक बढ़त ट्रिगर क्यों पसंद की जाती है। मेरी पुस्तक में यह स्पष्ट रूप से नहीं बताया गया है। ऑनलाइन सर्च करने के बाद मुझे पता चला कि एज ट्रिगरिंग ग्लिट्स के लिए असंवेदनशील है जबकि लेवल ट्रिगरिंग संवेदनशील है। इसका क्या मतलब है?

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

मुझे समझ में नहीं आया कि आउटपुट ट्रिगरिंग में क्यों नहीं बढ़ेगा और आउटपुट को होल्ड करने के लिए हमें शॉर्ट पल्स की आवश्यकता क्यों है।

दूसरे, फीडबैक समस्या, चूंकि स्तर ट्रिगरिंग की अवधि एज ट्रिगरिंग की तुलना में लंबी है, पूर्व के मामले में, आउटपुट को इनपुट पर फिर से फीड किया जाएगा और यह तब तक ऐसा करता रहेगा जब तक कि घड़ी सक्रिय है । प्रतिक्रिया समस्या क्या है?

लेकिन यह कैसे बढ़त ट्रिगर में हल किया जाएगा? यदि गिरने या उठने का समय बहुत कम है, तो आउटपुट सभी फाटकों के माध्यम से कैसे फैल पाएगा? क्या यह पसंद है, एक बार बढ़त ट्रिगर होने के बाद आउटपुट को सभी गेटों के माध्यम से प्रचारित किया जाएगा और अगले इनपुट को केवल अगले घड़ी के किनारे पर माना जाएगा?


1
"एक बार एज ट्रिगरिंग लागू होने के बाद आउटपुट को सभी गेट्स के माध्यम से प्रचारित किया जाएगा और अगले इनपुट को केवल अगली घड़ी के किनारे पर माना जाएगा" - बुल्सआई !!
राउटर वैन Ooijen

जवाबों:


12

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

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

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

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

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

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


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

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


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

2
@supercat एक परिचित उदाहरण के रूप में, मास्टर-स्लेव फ्लिप-फ्लॉप को बहु-चरण क्लॉकिंग का एक उदाहरण माना जा सकता है। गुरु और दास विपरीत अवस्थाओं में होते हैं, और यदि प्रतिक्रिया होती है तो यही स्थिति रहती है: यह एक अलग चरण में जाता है। मुझे इसे गोल करने के उत्तर में जोड़ना चाहिए।
कज़

2
+1 एयर लॉक सादृश्य। मैंने कभी किसी को इस तरह से समझाते हुए नहीं सुना, लेकिन यह सही समझ में आता है।
अज़ ४१०

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

2

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

इसके विपरीत, किनारे-ट्रिगर कुंडी का उपयोग किए बिना एक इनपुट पर दालों को गिनने के लिए एक सर्किट का निर्माण करना सर्किट के कुछ हिस्सों की सापेक्ष गति के बारे में कुछ गारंटी की आवश्यकता होगी। एक सामान्य दृष्टिकोण एक आने वाली घड़ी (ClkIn) संकेत को एक गैर-अतिव्यापी जोड़ी घड़ी संकेतों (Phi1 और Phi2) में परिवर्तित करने के लिए उपयोग किया जाता है। Phi1 सच है जब ClkIn उच्च है और कुछ गारंटी-न्यूनतम समय के लिए उच्च रहा है । Phi2 उच्च है जब ClkIn कम है और न्यूनतम गारंटी वाले कुछ समय के लिए कम है। जब ClkIn कम से उच्च पर स्विच करता है, Phi1 उच्च जाने से पहले Phi2 कम जाएगा; इसी तरह जब यह उच्च से निम्न पर स्विच करता है। एक लैच के दो सेट होने से एक काउंटर का निर्माण कर सकता था (जिसे मैं काउंट 1 और काउंट 2 कहूंगा)। जब भी Phi1 अधिक होता है, तो Count1, Count2 को पीछे छोड़ देता है। जब भी Phi2 अधिक होता है, तो काउंट 2 लैचेस (काउंट 1 + 1)। यदि Phi1 और Phi2 दोनों एक साथ उच्च जाते हैं, या उनके बीच बहुत कम समय होता है, तो काउंटर मान अनिश्चित हो जाएगा, लेकिन बशर्ते उचित पृथक्करण बनाए रखा जाए, काउंटर बहुत अच्छी तरह से संचालित होगा। दो-चरण-क्लॉक किए गए सिस्टम में अक्सर जुदाई की उदार राशि होती है, जिसमें इंजीनियर होते हैं; बशर्ते सबकुछ काफी तेज़ हो, इस तरह की जुदाई घड़ी की तिरछी समस्या से बच सकती है।

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

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


2

यह समझने के लिए कि एज ट्रिगर को क्यों पसंद किया जाता है, रजिस्टर में एक 8-बिट योजक को हुक करने की कल्पना करें, रजिस्टर के मूल्य में लगातार 1 जोड़कर, पुश-बटन के साथ रजिस्टर के सक्षम पिन को वायर्ड किया गया।

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

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


1

दूसरों की तरह, किनारे समय में एक बहुत विशिष्ट क्षण है। हम सभी जानते हैं कि डिजिटल सर्किट ग्लिट्स के माध्यम से जा सकते हैं, जहां एक गेट का आउटपुट गलत है, क्योंकि इसके कुछ इनपुट उस तक पहुंच चुके हैं, अन्य सिग्नल अपने रास्ते पर हैं और लंबे रास्ते के कारण अधिक समय ले रहे हैं (बिजली काफी तेजी से यात्रा करती है लेकिन फिर भी 3x10 ^ 8 m / s तारों के चारों ओर जाने में थोड़ा समय लेता है)। यदि हमारे पास एक स्तर की ट्राइगरड यूनिट है, तो इसका आउटपुट ग्लिट्स द्वारा प्रभावित होगा। चीजों को बढ़त बनाने के साथ, हमारे पास समय में एक बहुत ही संकीर्ण खिड़की है जहां "चीजें हो सकती हैं", दूसरे शब्दों में सर्किट केवल अपनी स्थिति (सर्किट सहित विभिन्न तारों पर मान, आउटपुट सहित) को कुछ अच्छी तरह से परिभाषित उदाहरणों में बदल देगा। समय। कृपया ध्यान दें "समय में उदाहरण"

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


1

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

कल्पना कीजिए कि आप एक सर्किट डिजाइन करना चाहते हैं जिसमें किसी प्रकार की प्रतिक्रिया शामिल है। कहें A = A.B(मूल रूप से एक प्रतिक्रिया के साथ एक गेट)। यदि आप इसे एक साधारण स्तर की संवेदनशील कुंडी का उपयोग करके कार्यान्वित करते हैं जो ए के मूल्य को संग्रहीत करता है, तो आपका सर्किट कुछ इस तरह दिखाई देगा यहां छवि विवरण दर्ज करें

यह एक समस्या पैदा कर सकता है। जब घड़ी अधिक होती है, तो कुंडी पारदर्शी हो जाती है, और AND गेट नए मान की गणना करता है A and B। लेकिन मान वापस कुंडी को खिलाया जाता है, और चूंकि कुंडी अभी भी पारदर्शी है (सीएलके अभी भी उच्च है), के नए मूल्य की A AND Bगणना की जाती है। यह वही है जिसे आमतौर पर रेस कंडीशन के रूप में जाना जाता है , जो आपके द्वारा उल्लिखित ग्लिट्स (अप्रत्याशित उच्चता और आउटपुट में चढ़ाव) बनाता है।

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

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

यहां छवि विवरण दर्ज करें

मूल रूप से, जब CLKसिग्नल अधिक होता है, तो कुंडी U1 पारदर्शी होती है, जो A इनपुट पर तर्क मान को कुंडी U1 के आउटपुट में लाती है, जब CLKसंकेत LOW होता है, तो कुंडी U2 पारदर्शी हो जाता है, और नया मानA AND B गणना की जाती है। लेकिन यह मान AND और गेट के इनपुट के लिए तभी प्रचारित होगा जब कुंडी U1 पारदर्शी (CLK HIGH) हो, और परिणामस्वरूप कुंडी U1 पारदर्शी (CLK LOW) हो जाए। जो मूल रूप से यह कहने के बराबर है कि सर्किट अब किनारे संवेदनशील है (आउटपुट मान केवल घड़ी के नकारात्मक किनारे पर बदलता है)।

इससे पहले बताई गई रेस कंडीशन की समस्या से बचा जाता है , और इसीलिए एज ट्रिगरिंग पर लेवल ट्रिगरिंग को प्राथमिकता दी जाती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.