42 / 63 · अवधारणा
शिफ्ट परिपथ सत्यापन और डेटा/valid संरेखण
सममित पैटर्न से छिपने वाले दोष और valid सिग्नल का एक-चक्र विस्थापन खोजें।
पाठ पढ़ना मुफ़्त है। प्रगति सेव करने के लिए नामांकन करें।
दोष दिखाने वाले बिट क्रम चुनें
केवल 0000 या 1111 खिसकाने से दिशा का उलटाव छिप जाता है। 1000 जैसा असममित पैटर्न या केवल एक 1 वाला इनपुट देकर हर स्थान का पीछा करें। हमेशा शून्य प्रारंभिक अवस्था रखने से initialization पथ और hold के कुछ दोष भी छूट सकते हैं।
3-बिट रजिस्टररजिस्टर कई बिटों की अवस्था संग्रहित करता है। इस पाठ्यक्रम के तुल्यकालिक रजिस्टर निर्धारित इनपुट को क्लॉक एज पर संग्रहित करते हैं। और पढ़ें को 000 से शुरू करके 1,0,0 देने पर 001→010→100 मिलता है। उलटी दिशा के implementation में 100→010→001 मिलेगा, इसलिए पहला किनारा ही अंतर दिखाता है।
संदर्भ मॉडल को दो रूपों में देखें
हर मान्य किनारे पर इस संख्यात्मक मॉडल को वास्तविक sliceस्लाइस वेक्टर से लगातार बिटों की सीमा चुनना। चुनी हुई सीमा परिणाम की चौड़ाई और बिट क्रम तय करती है। और पढ़ें/concatenation RTL से मिलाएँ। N=3 जैसे छोटे मामले में आठ सामान्य अवस्थाएँ और दो इनपुट, कुल 16 संक्रमणों की पूर्ण जाँच कर सकते हैं। Reset और enable संयोजन इसके अतिरिक्त जोड़ें।
हर स्तंभ एक उदयी किनारेउदयी किनारा (rising edge) क्लॉक के 0 से 1 होने का क्षण। यह CLK=1 के पूरे स्तर-अंतराल से अलग है। और पढ़ें का अवलोकन है। इनपुट किनारे से ठीक पहले के हैं; नाम में after वाली अवस्थाएँ अद्यतन के तुरंत बाद की हैं। स्तंभों का क्रम नमूनों का क्रम दिखाता है, भौतिक प्रसार विलंबप्रसार विलंब इनपुट बदलने के बाद आउटपुट सही मान पर स्थिर होने तक का समय। तार्किक समतुल्यता और समय-संबंधी गुण अलग हैं। और पढ़ें नहीं। प्रारंभिक q=000 है। दूसरे किनारे पर enable=0 होने से din बदलने पर भी q=001 रहता है। किनारे और स्वीकारे गए इनपुट अलग-अलग गिनें।
तरंगरूप डेटा देखें
| संकेत | तरंगरूप | बस मान |
|---|---|---|
| edge | 2345 | E0 → E1 → E2 → E3 |
| enable | 101. | |
| din | 10.1 | |
| q बाद में | 2.34 | 001 → 010 → 101 |
ऊपर का तरंगरूप स्वयं दोहराएँ। पहले din=1 से एक किनारा चलाकर 001 बनाएँ। फिर enable=0, din=0 से अगला किनारा चलाने पर 001 बना रहेगा। Enable फिर सक्रिय करके din=0,1 देने पर 010,101 मिलते हैं। यह मॉडल केवल डेटा रजिस्टर दर्शाता है; valid को भी समान enable शर्त पर रोकने की आवश्यकता अगले भाग में अलग देखें।
तुल्यकालिक reset को enable पर प्राथमिकता है। enable=0 पर संग्रहित मान बनाए रखें। q=000; q_next = (2q + din) mod 8
Valid भी डेटा पथ का हिस्सा है
केवल डेटा रुक जाए और valid चलता रहे, या डेटा चलता रहे और valid रुक जाए, तो आउटपुट का ग्रहणकर्ता गलत sample लेता है। केवल “आउटपुट बिट सही हैं” जाँचने से इंटरफ़ेस सही नहीं सिद्ध होता।
| परीक्षण | अपेक्षित व्यवहार |
|---|---|
| लगातार सामान्य इनपुट | बिट क्रम और निश्चित मान्य विलंब सही |
| बीच में enable=0 | डेटा और valid साथ बने रहें |
| बीच में reset | पुराने फ़्रेम की valid अवस्था हटे |
| लगातार नया फ़्रेम | पुराने फ़्रेम का अंत और नए का आरंभ अलग दिखें |
विफलता विश्लेषण में इनपुट स्वीकारने का क्रमांक भी रिकॉर्ड करें, ताकि वास्तविक क्लॉक क्रमांक से भ्रम न हो। फ़्रेम सीमा वाला न्यूनतम प्रतिउदाहरण रखना पूरे लंबे तरंगरूप को बार-बार देखने से अधिक उपयोगी है।
खुद आज़माएँ
डेटा रजिस्टर केवल enable=1 पर खिसकता है, लेकिन valid delay line हर क्लॉक पर चलती है। किस इनपुट से दोष सबसे आसानी से दिखेगा?
व्याख्या पढ़ें
दो अलग डेटा के बीच enable=0 वाला रुका किनारा रखें। Valid पहले पहुँच जाएगा या दूसरे डेटा से जुड़ जाएगा। ऐसे संदर्भ मॉडल से तुलना करें जो डेटा और metadata दोनों पर समान स्वीकार शर्त लागू करता हो।