Simulation of a synchronous counter-48DKMeE5kvQ 33.7 KB
Newer Older
Vandan Mujadia's avatar
Vandan Mujadia committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
बेसिक इलेक्ट्रॉनिक्स में फिर से आपका स्वागत है।
 हमने देखा है कि दिए गए स्टेट(state) ट्रांजीशन(transition) तालिका को संतुष्ट करने के लिए एक सिंक्रोनस (synchronous) काउंटर को कैसे डिज़ाइन किया जाए।
 इस सत्र में हम काउंटर डिजाइन करने के लिए उस प्रक्रिया का पालन करेंगे।
 हम काउंटर का अनुकरण भी करेंगे और सत्यापित करेंगे कि यह वास्तव में हमारे द्वारा शुरू किए गए स्टेट(state) ट्रांजीशन(transition) तालिका का पालन करता है।
 चलो शुरू करें।
 आइए इस डिज़ाइन समस्या पर विचार करें।
 आकृति में दिखाए गए ट्रांजीशन(transition) तालिका के साथ एक सिंक्रोनस (synchronous) काउंटर में डिज़ाइन करें।
 और सिमुलेशन के साथ अपने डिजाइन को सत्यापित करें, इसलिए यहां ट्रांजीशन(transition) तालिका है।
 हमारे पास पहले स्टेट(state) में Q 3, Q 2, Q 1, Q 0 के बराबर है, फिर 0 0 1 1 0 1 1 0 0 आदि।
 और 9 स्टेट्स(states) के बाद हम 0 0 0 0 पर वापस आ गए हैं, इसलिए यह एक मॉड(mod) 9 काउंटर है।
 और यह है कि काउंटर कैसे लागू किया जा सकता है, हमारे पास 4 फ्लिप-फ्लॉप हैं यहां आउटपुट Q 3, Q 2, Q 1, Q 0 हैं।
 हमारा पहला काम इस काउंटर को डिजाइन करना है; इसका मतलब है, हमें यह पता लगाने की आवश्यकता है कि Q 0 क्या होना चाहिए, K 0 क्या होना चाहिए J 1 आदि, Q 0, Q 1, Q 2, Q 3 के संदर्भ में, ताकि काउंटर इस ट्रांजीशन(transition) तालिका का अनुसरण करे।
 और हमारा अगला काम इस काउंटर का अनुकरण करना है और यह सुनिश्चित करना है कि यह वास्तव में इस ट्रांजीशन(transition) तालिका का पालन करता है।
 तो, आइए हम अपनी डिजाइन प्रक्रिया के साथ शुरुआत करें।
 यह ट्रांजीशन(transition) तालिका है जिसका काउंटर को पालन करना चाहिए।
 और यहां एक तालिका है जिसे हमने पहले देखा है जिसका उपयोग डिजाइन में किया जा सकता है।
 यदि आप Q n और Q n प्लस 1 जानते हैं तो यह तालिका हमें बताती है कि J और K क्या होना चाहिए।
 और ध्यान दें कि हमारे पास यहां इंगित की गई क्लॉक(clock) का सकारात्मक एज(edge) है।
 क्योंकि हम JK फ्लिप-फ्लॉप के लिए सकारात्मक एज(edge) के ट्रिगर(trigger) का उपयोग करने जा रहे हैं।
 इसके बाद हमें जो करने की आवश्यकता है वह इन सभी के लिए J 0, K 0, J 1, K 1 और सभी के लिए कर्नेल मैप(kernel map) प्राप्त करना है ताकि ट्रांजीशन(transition) तालिका के आधार पर काउंटर का पालन करना पड़े।
 हमें डोंट केयर कंडीशन (Don't Care Condition) के साथ शुरू करते हैं; इसका मतलब है कि इन स्टेट्स(states) में सूचीबद्ध नहीं हैं।
 और उन्हें एक्स(x) के रूप में तुरंत चिह्नित किया जा सकता है।
 उदाहरण के लिए, यह स्टेट(state) Q 3 Q 2 के बराबर 0 1, 0 1 Q 1 Q के बराबर0 है जो कि 1 1 0 1 है जिसे ट्रांजीशन(transition) तालिका में सूचीबद्ध नहीं किया गया है, और इसलिए, हमें परवाह नहीं है कि यह 0 या 1 है इसलिए , यह एक्स के रूप में चिह्नित है।
 अब हम पहले स्टेट(state) पर विचार करते हैं; इसका मतलब है कि, 0 0 0 0. अब क्लॉक एज(edge) के बाद एक्टिव क्लॉक एज(edge) हमारे Q 3 को 0 से 0 तक जाना चाहिए, Q 2 को 0 से 0 तक जाना चाहिए, Q 1 को 0 से 1 तक जाना चाहिए और Q 0 को भी जाना चाहिए 0 से 1. तो आइए इस ट्रांजीशन(transition) के लिए आवश्यक J और K वैल्यूज(values) को देखें।
 और जो हमें J के बराबर 0, K के बराबर X देता है।
 इसलिए J 3 और K 3 के लिए हमारे पास J के बराबर 0 होना चाहिए, और K के बराबर X।
 और यही बात J 2 और K 2 के बारे में भी सत्य है क्योंकि Q 2 भी उसी ट्रांजीशन(transition) में जाता है।
 Q 1 के बारे में क्या? Q 1, 0 से 1 तक जाता है, तो हम देखते हैं कि प्रविष्टि 0 से 1, J होना चाहिए 1, और K, X होना चाहिए और हमारे पास यहां 1 j है 1, K1 एक्स है और वही सच है Q 0. Q 0 के बारे में भी 0 से 1 तक जाता है, इसलिए इसलिए, हमारे पास J 0 के बराबर 1और K 0 के बराबर X है।
 और हम इस प्रक्रिया का पालन कर सकते हैं और शेष तालिका को पूरा कर सकते हैं और यही हम करेंगे प्राप्त।
 और आप निश्चित रूप से इसे स्वयं करने के लिए प्रोत्साहित कर रहे हैं और सत्यापित करें कि आपकी प्रविष्टियाँ वही हैं जो हमने यहाँ दिखाई हैं।
 हमारा अंतिम चरण J 0, K 0, J 1, K 1 इत्यादि के लिए भाव प्राप्त करना है।
 और हम K- नक्शे का उपयोग करके न्यूनतम अभिव्यक्ति प्राप्त कर सकते हैं जो हमने पिछली स्लाइड में बनाया था जो यहां पर पुन: प्रस्तुत किया गया है।
 उदाहरण के लिए, J 0 को इस समूह के लिए Q 3 Q 2 के नाम से दिया गया है और साथ ही Q 3 बार(bar) Q 2 बार(bar) Q 1 बार(bar) को इस समूह के लिए यहाँ से संबंधित किया गया है।
 ध्यान दें कि हमारे पास 2 अलग-अलग प्रकार के X हैं।
 यहां जिन लोगों को गुलाबी रंग में चिह्नित किया गया है वे स्टेट्स(states) से आए हैं जो ट्रांजीशन(transition) तालिका में गायब हैं, जबकि, ये अन्य हमारी तालिका से J और K के लिए दिए गए Q n और Q n प्लस 1 हैं, लेकिन वे सभी डोंट केयर कंडीशन(Don't Care Condition) हैं और हम उनमें से प्रत्येक को 0 या 1 के रूप में चुन सकते हैं ताकि J 0 या K 0 आदि के लिए अभिव्यक्ति को कम किया जा सके।
 J 0 के मानचित्र में, हमने इस X को 0 0 0 0 0 0 होने के लिए लिया है।
 हमने इस X को 1 1 1 1 होने के लिए लिया है, ताकि हम सभी 1 के समूह वाले सबसे बड़े संभावित समूह प्राप्त कर सकें।
 अब, आप यह सत्यापित कर सकते हैं कि ये सभी अन्य अभिव्यक्तियाँ सही हैं और वे यहाँ दिए गए नक्शे के अनुरूप हैं।
 तो हमने K 0 के बराबर Q 3 बार(bar), J 1 के बराबर Q 3 बार(bar), Q 2 बार(bar), K 1 के बराबर Q 0 बार(bar), J 2 के बराबर Q 1, K 2 के बराबर Q 1 बार(bar) J 3 के बराबर Q 2 और K 3 के बराबर Q 2 बार(bar) कर दिया है।
 अब हम एक सर्किट सिम्युलेटर के साथ इस काउंटर का निर्माण करने के लिए आगे बढ़ सकते हैं और फिर यह जांचने के लिए अनुकरण कर सकते हैं कि क्या काउंटर वास्तव में ट्रांजीशन(transition) तालिका का पालन करता है जिसे हम प्राप्त करने के लिए निर्धारित करते हैं।
 आइए अब हम काउंटर के लिए योजनाबद्ध निर्माण शुरू करें।
 पहले हमें कॉम्पोनेन्ट(component)मिलते हैं और हम जेके फ्लिप-फ्लॉप के साथ शुरू करेंगे।
 इसमें J K FF नामक एक तत्व होता है पॉजिटिव एज(edge) के लिए 1 पॉस(pos) फ्लिप-फ्लॉप है जो एक है।
 हमें तब पाने के लिए ऐण्ड गेट(AND gate) की जरूरत है और हम अभी एक प्राप्त कर सकते हैं, और फिर बाद में कॉपी कर सकते हैं, या हमें एक क्लॉक(clock) तत्व की भी आवश्यकता है जो हमारी क्लॉक(clock) के रूप में काम करेगा।
 आइए हम J K फ्लिप-फ्लॉप के गुणों को देखें।
 इसे 2 वास्तविक पैरामीटर मिले हैं।
 एक को उच्च से निम्न में देरी कहा जाता है और दूसरे को उच्च से निम्न में देरी(delay) कहा जाता है।
 इस पैरामीटर में शामिल देरी(delay) का वर्णन है जब आउटपुट उच्च से निम्न तक जाता है।
 और यह 1 उस देरी(delay) का वर्णन करता है जब आउटपुट कम से उच्च पर जाता है।
 अब ये डिफ़ॉल्ट मान उनमें से प्रत्येक के लिए 5 नैनोसेकंड हैं।
 और ये हमारे अनुकरण के लिए उपयुक्त हैं क्योंकि हम एक क्लॉक(clock) की अवधि चुनने जा रहे हैं जो इन वैल्यूज(values) से बहुत बड़ी है।
 इसलिए हम इन गुणों को उनके डिफ़ॉल्ट वैल्यूज(values) पर छोड़ देंगे।
 इसी तरह, ऐण्ड गेट(AND gate), ऑर गेट (OR gate) में भी ये पैरामीटर हैं और वे दोनों 5 नैनोसेकंड पर सेट हैं।
 और हम उन लोगों को उनके डिफ़ॉल्ट वैल्यूज(values) पर भी छोड़ सकते हैं।
 अब हम क्लॉक(clock) को देखते हैं।
 क्लॉक(clock) को 2 पैरामीटर मिले हैं, t 1 और t 2, जो इस सिमुलेशन में प्रासंगिक हैं।
 t 1 क्लॉक(clock) के पहले भाग के लिए अंतराल है, जिसमें यह 0. है।
 हमने कहा होगा कि 40 माइक्रोसेकंड के रूप में।
 और t 2 अंतराल है जिसमें क्लॉक(clock) अधिक है; हमने कहा है कि 10 माइक्रोसेकंड इन तत्वों के अलावा हम कनेक्टर(connecter) तत्व को भी सुविधाजनक पाएंगे।
 तो, आइए हम इसे एक भौतिक तत्व के साथ एक डमी(dummy) तत्व के रूप में लाएं और इसे सभी सही वायरिंग(wiring) के लिए इस्तेमाल किया जा सकता है।
 हमारा अगला कदम फ्लिप-फ्लॉप तत्व को पुन: उत्पन्न करना है, 3 बार तो हम ऐसा करते हैं जैसे कि कंट्रोल(Control) C कंट्रोल(Control) V ।
 अब हम कॉम्पोनेन्ट(component) को रखते हैं और अपनी वायरिंग(wiring) शुरू करते हैं, और हमें इस टूल बॉक्स से छुटकारा दिलाते हैं।
 चूँकि हमें किसी और कॉम्पोनेन्ट(component) और विन्यास पैनल की भी आवश्यकता नहीं है, और हम इस संबंधक को कॉपी करते हैं, ताकि हम क्लॉक(clock) को इन सभी से जोड़ सकें।
 अब हम यहां पर क्लॉक(clock) लाते हैं और उस वायरिंग(wiring) को करते हैं।
 चूंकि यह एक समकालिक काउंटर है, इसलिए क्लॉक(clock) को इन सभी फ्लिप-फ्लॉप पर जाना चाहिए।
 अगला हम उन कनेक्शनों को देखते हैं जो आवश्यक हैं।
 ये ऐसे कनेक्शन हैं जिन्हें हमने पहले पता किया था, और आप ध्यान दें कि इनमें से कई हैं कनेक्शन के लिए किसी भी गेट(gate) की आवश्यकता नहीं होती है।
 उदाहरण के लिए, K 1,Q 0 बार(bar) है अब यह हमारा Q 0 है यह हमारा Q 1 Q 2 Q 3 है।
 यह हमारा K 1 है और इसलिए,Q 0 बार(bar) को बस सीधे K से जोड़ा जा सकता है।
 इसलिए इसके लिए ऑर गेट (OR gate) की जरूरत नहीं है।
 केवल गेट्स जिनकी आपको आवश्यकता होती है, वे ये हैं।
 J 0 के लिए और J 1 के लिए इसलिए हमें वहां पर एक ऐण्ड गेट(AND gate) की आवश्यकता है और कुछ और गेट्स पर।
 वहाँ तो हमें पता है कि अब बाहर।
 ध्यान दें कि यह Q 3 बार(bar) Q 2 बार(bar) J 0 के लिए अभिव्यक्ति में भी दिखाई देता है; इसका मतलब है, हमारे यहां जो भी है वह J 1 है जो Q 1 बार(bar) के साथ समाप्त हुआ है।
 इसलिए हमारे पास एक ऐण्ड गेट(AND gate) है, वहां एक ऐण्ड गेट(AND gate) है, और एक ऑर गेट (OR gate) है, और यहां हमारे पास एक ऐण्ड गेट(AND gate) है।
 इसलिए हमें 3 ऐण्ड गेट(AND gate) और एक ऑर गेट (OR gate) की आवश्यकता है।
 तो, हम इसे इस तरह से कॉपी करते हैं।
 और हमारा J 0 यहाँ आने वाला है, इसलिए हो सकता है कि हमें क्या करना चाहिए, इसको चारों ओर मोड़ना चाहिए, क्योंकि तब यह आउटपुट सीधे J 0 से जुड़ सकता है।
 हम अब क्या करेंगे, हम इन गेट्स को लगाएंगे और फिर हम शुरू करेंगे वायरिंग(wiring)।
 तो यह ऑर गेट (OR gate) हमें J 0 देता है, और यह एक इनमें से एक और संचालन हो सकता है।
 और यह ऐण्ड गेट(AND gate) Q 3 बार(bar)Q 2 बार(bar)के लिए इस्तेमाल किया जा सकता है इसलिए वास्तव में, हम उस वायरिंग(wiring) को तुरंत पूरा कर सकते हैं।
 यह हमारा Q 2 बार(bar)है और यह हमारा Q 3 बार(bar)है, जैसे कि।
 आइए हम इस गेट का उपयोग Q 3 Q 2 प्राप्त करने के लिए करते हैं।
 अब यह हमारा Q 2 है जो कि हमारा Q 3 है, इसलिए हम उन दोनों को कनेक्ट(connect) करें।
 वह Q 2 है और वह Q 3 जैसा है।
 और इस गेट का आउटपुट इस इस तरह के ऑर गेट (OR gate) पर जाना चाहिए।
 एक सवाल जो मन में आता है कि क्या यहां पर एक क्रॉस(cross) है, या क्या ये तार वास्तव में जुड़े हुए हैं।
 तार पर क्लिक(click) करने के लिए जाँच करने का तरीका और वह पूरा रास्ता दिखाता है।
 तो इस मामले में यह तार बस इस दूसरे को पार कर रहा है।
 कनेक्शन को इंगित करने के लिए इस कनेक्टर(connecter) का उपयोग करना एक अच्छा अभ्यास है।
 इसलिए, उदाहरण के लिए, अगर वास्तव में वहां पर एक कनेक्शन था, तो हम कनेक्टर(connecter) को वहां रख सकते थे, और इसका उपयोग हमारी वायरिंग(wiring) के लिए कर सकते थे।
 अब बाकी की वायरिंग(wiring) को पूरा करते हैं।
 इस गेट का आउटपुट उस तरह ऑर गेट (OR gate) पर जाना चाहिए, और यह गेट हमें क्या दे रहा है, यहीं, Q 3 बार(bar)Q 2 बार(bar)Q 1 बार के साथ समाप्त हुआ।
 अब यह शब्द यहाँ पहले से ही J 1 है और हम पहले से ही हमें देने के लिए एक ऐण्ड गेट(AND gate) का उपयोग कर चुके हैं।
 तो आइए हम उस संबंध को बनाते हैं और जिसे Q 1 बार(bar) के साथ समाप्त करना है।
 यह हमारा Q 1 बार(bar) है, इसलिए हमें इसे उसी तरह के अन्य इनपुट से कनेक्ट(connect) करें।
 यह हमारा J 0 है, इसलिए हम इसे यहां कनेक्ट(connect) करें।
 K 0 के बारे में क्या? K 0, Q 3 बार(bar) के समान है, यह Q 3 बार(bar) है, इसलिए हम इसे K 0 की तरह कनेक्ट(connect) करेंगे।
 J 1 के बारे में क्या? J 1, Q 3 बार(bar) Q 2 बार(bar) है, जो कि ऐण्ड गेट (AND gate) के यहाँ का आउटपुट है।
 K 1 के बारे में क्या? K 1,Q 0 बार(bar) के समान है जो कि हमाराQ 0 बार(bar) है।
 J 2 के बारे में क्या? Q 1 के रूप में वही है जो हमारा Q 1 है जो J 2 है।
 K2, Q 1 बार(bar) है, J 3, Q 2 है जो हमारा Q 2 है और k 3, Q 2 बार(bar)है।
 इसलिए, अब हमारे कनेक्शन पूरे हो गए हैं।
 और हम आगे बढ़ सकते हैं और नोड्स को नाम दे सकते हैं और आउटपुट वैरिएबल(variable) और सभी को ठीक से परिभाषित कर सकते हैं।
 तो चलिए हम यह पूर्ण स्क्रीन(full screen) बनाते हैं और हमारे टूल बॉक्स के साथ-साथ कॉन्फ़िगरेशन पैनल(configuration panel) को भी वापस लाते हैं।
 पहले क्लॉक(clock) के साथ शुरू होने वाले नोड्स का नाम दें; हम इसको c l K कह सकते हैं।
 यह हमारा Q 0 है, इसलिए इस फ्लिप-फ्लॉप का Q 0 है, और हम इस Q बार कोQ 0 बार(bar) कहेंगे।
 इसी तरह, वह हमारा Q 1 है और वह Q 1 बार और इसी तरह है।
 आइए अब हम अपने आउटपुट वैरिएबल(variable) को निर्दिष्ट करते हैं।
 और जब से हम एक से अधिक का चयन करने जा रहे हैं, हम नियंत्रण(control) कुंजी(key) के साथ एड(add) वैरिएबल(variable) पर क्लिक(click) कर सकते हैं।
 और यह कई आउटपुट वैरिएबल(variable) के चयन की अनुमति देता है।
 इसलिए हम क्लॉक(clock) Q 0 Q 1 Q 2 और Q 3. का चयन करेंगे और हमें एक बार फिर से इस एड बटन(add variable button ) पर क्लिक(click) करना होगा।
 ताकि ऐड वेरिएबल मोड(add variable mode) समाप्त हो जाए।
 आइए हम इन डिफ़ॉल्ट आउटपुट वैरिएबल(variable) नामों को कुछ सार्थक नामों में बदल दें।
 अब हमने परियोजना के सर्किट संपादक भाग को पूरा कर लिया है और अब हम सॉल्व(solve) ब्लॉकों पर आगे बढ़ेंगे।
 एक महत्वपूर्ण बिंदु और वह यह है कि हम चाहते हैं कि हमारा काउंटर 0 0 0 0 स्टेट(state) में शुरू हो; इसका मतलब है कि, हम चाहते हैं कि फ्लिप-फ्लॉप में से प्रत्येक का आउटपुट 0 हो, और इसे स्टार्टअप सिमुलेशन(startup simulation) नामक किसी चीज़ का उपयोग करके नियंत्रित किया जा सकता है।
 और क्या फ्लिप-फ्लॉप आउटपुट 0 या 1 होगा, यह स्टार्टअप पैरामीटर(startup parameters ) द्वारा निर्धारित किया जाता है जिसे qsv कहा जाता है।
 और डिफ़ॉल्ट रूप से यह 0 है इसलिए, यदि हम डिफ़ॉल्ट सेटिंग्स(default settings) के साथ स्टार्टअप सिमुलेशन(startup simulation) करते हैं तो हमारा काउंटर स्वचालित रूप से स्टेट(state) 0 0 0 0 में शुरू हो जाएगा, ठीक है।
 आइए अब हम सॉल्व(solve) ब्लॉकों के साथ आगे बढ़ें, आइए हम एक सॉल्व(solve) ब्लॉक जोड़ते हैं, और इसे स्टार्टअप पर टाइप करते हैं जो फ्लिप-फ्लॉप के लिए प्रारंभिक परिस्थितियों को सेट करेगा।
 और अब हम इस तरह एक क्षणिक सिमुलेशन सॉल्व(solve) ब्लॉक के साथ इसका पालन करेंगे।
 अब डिजिटल सर्किट में, यह पिछड़ा हुआ ईयूलर विधि(Euler method ) प्रासंगिक नहीं है जिसे हम हटा सकते हैं।
इसी तरह, जब हम डिजिटल सिमुलेशन करते हैं, तो यह डेल्टा(delta)मॉड (mod) 9 काउंटर है, और एक क्लॉक(clock) की अवधि 50 माइक्रोसेकंड है।
 इसलिए हमें कम से कम 9 क्लॉक(clock) चक्रों के लिए सिमुलेशन(simulation) करना चाहिए जो कि 50 माइक्रोसेकंड के लिए है।
 हम कहते हैं कि हम 600 माइक्रोसेकंड से अधिक के लिए सिमुलेशन(simulation) करते हैं।
 हमें प्रारंभिक समाधान या विधि को प्रारंभिक समाधान प्राप्त करने की आवश्यकता है।
 और इस कथन का उपयोग करके यहां प्रारंभिक सॉल्व(solve) किया जा सकता है।
 और इनिशियलाइज़ करने के बजाय हमें यहाँ पिछले विकल्प का उपयोग करना चाहिए, क्योंकि हम चाहते हैं कि इस ब्लॉक का आउटपुट क्षणिक सिमुलेशन ब्लॉक(transient simulation block) के लिए पिछले समाधान के रूप में उपयोग किया जाए।
 आगे हम आउटपुट ब्लॉक जोड़ना चाहते हैं।
तो चलिए हम इंटरेस्ट(interest) के वैरिएबल(variable) अर्थात क्लॉकQ 0,Q 1,Q2,Q3,को जोड़ते हैं ठीक है।
 और हम अब सिमुलेशन चलाने के लिए तैयार हैं।
 तो, अब सिमुलेशन पूरा हो गया है और यह आउटपुट फ़ाइल बनाई गई है।
 X- अक्ष(x-axis) अक्ष के रूप में समय चुनें और हमें इन सभी वैरिएबल(variable) क्लॉक(clock) Q 0, Q 1, Q 2, Q3 पर ध्यान दें।
 यह वेव(Wave) यहाँ क्लॉक एक है, Q 0 है तो क्लॉक Q 0, Q 1, Q 2, Q 3. अब हम देखते हैं कि क्या हमारा काउंटर ट्रांजीशन(transition) तालिका का पालन करता है जिसे हम प्राप्त करना चाहते थे।
 पहला स्टेट(state) Q 3, Q 2, Q 1, Q 0 है 0 0 0 0 0 है, यही Q 3 है इसलिए 0 0 0 अगला स्टेट(state) है 0 0 1 1 0 0 1 1 0 1 1 1 0 0 1 1 1 0 तब हमारे पास 1 1 0 0 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 0 है, और फिर वापस 0 0 0 0 0. तो हमारे काउंटर वांछित के रूप में काम करने लगता है और डिजाइन प्रक्रिया इसलिए है मान्य है, सब ठीक है।
 अब, इस विशेष अभ्यास के एक छोटे से विस्तार के रूप में, आप क्या कर सकते हैं इस स्टेट(state) के कहने के बाद एक और स्टेट(state) को जोड़कर एक मॉड(mod) 10 काउंटर डिज़ाइन करें, और वह स्टेट(state) उदाहरण के लिए 1 1 1 1 हो सकता है, इसलिए तब आप इसके माध्यम से जा सकते हैं जे J 0 K 0 J 1 K 1 आदि के साथ आने की पूरी प्रक्रिया, और फिर सर्किट का अनुकरण करें और जांचें कि आपका डिज़ाइन सही है या नहीं।
 सारांश में, हमने एक दिए गए स्टेट(state) ट्रांजीशन(transition) तालिका के साथ शुरुआत की और एक सिंक्रोनस (synchronous) काउंटर तैयार किया, जो दिए गए अनुक्रम को संतुष्ट करेगा।
 हमने तब स्क्रैच(scratch) से सर्किट स्कीमैटिक(schematic) को काउंटर सिम्युलेटेड(simulated ) बनाया और सत्यापित किया कि यह हमारे द्वारा डिज़ाइन किए गए अनुक्रम का अनुसरण करता है।
 यह कनेक्शन किए जाने के संदर्भ में एक सरल सर्किट है और इसलिए, इसे ब्रेडबोर्ड(breadboard) पर आज़माना एक अच्छा विचार है।
 अभी के लिए बस इतना ही, अगली बार मिलते हैं।