11 / 63 · अवधारणा
डिकोडर, one-hot चयन और वैध इनपुट
द्विआधारी पते को अलग चयन लाइनों में बदलें तथा enable, सीमा और चयन की अपरिवर्तनीय शर्तें बनाएँ।
पाठ पढ़ना मुफ़्त है। प्रगति सेव करने के लिए नामांकन करें।
पते को चयन लाइनों में बदलना
-बिट डिकोडरडिकोडर द्विआधारी कोड के अनुरूप आउटपुट लाइन सक्रिय करता है। enable होने पर निष्क्रिय अवस्था में सभी आउटपुट 0 रखे जा सकते हैं। इनपुट पते से अधिकतम आउटपुटों में से एक चुनता है। enable वाला आउटपुट इस तरह परिभाषित कर सकते हैं।
2-to-4 डिकोडर में , , , हैं। enable=0 पर सभी आउटपुट 0 और enable=1 पर ठीक एक आउटपुट 1 है।
enable=1 पर a1a0 पता बदलें: d0 से d3 में केवल एक सक्रिय होगा। enable=0 करके देखें कि सभी चयन लाइनें निष्क्रिय होती हैं।
d[i] = enable AND (2 × a1 + a0 = i)
डिफ़ॉल्ट मान कार्य पूरा करता है
module decoder2 (
input logic en,
input logic [1:0] addr,
output logic [3:0] select
);
always_comb begin
select = 4'b0000;
if (en) begin
case (addr)
2'd0: select = 4'b0001;
2'd1: select = 4'b0010;
2'd2: select = 4'b0100;
2'd3: select = 4'b1000;
default: select = 4'b0000;
endcase
end
end
endmoduleप्रारंभिक डिफ़ॉल्ट असाइनमेंट सभी निष्पादन पथों को ढकता है, ताकि पुराना आउटपुट याद न रखा जाए। केवल always_comb नाम देने से अपरिभाषित शाखाएँ अपने आप सही परिपथ नहीं बन जातीं।
जब आउटपुट संख्या दो की घात न हो
10 उपकरणों में चयन के लिए चार-बिट पता चाहिए, लेकिन 10 से 15 अमान्य हैं। इनके लिए सभी आउटपुट 0 और त्रुटि फ़्लैग 1 जैसी नीति विनिर्दिष्ट करें। कोई कोड उपयोग में नहीं है, इसका अर्थ मनमाना आउटपुट स्वीकार्य होना नहीं है।
सत्यापन में इनपुट-आउटपुट संबंध के साथ क्या कई चयन लाइनें एक साथ सक्रिय हैं और disable होने पर क्या सभी बंद हैं भी जाँचें। ऐसी अपरिवर्तनीय शर्तेंअपरिवर्तनीय शर्त हर अनुमत निष्पादन में हमेशा सत्य रहने वाली शर्त। मसलन चार स्थान वाली FIFO में संग्रहित वस्तुओं की संख्या हमेशा 0 से 4 के बीच रहती है। विस्तार से पढ़ें मेमोरी write enable और बस चयन में विशेष महत्त्व रखती हैं। बड़ा डिकोडर पता संकेतों का fan-out और तार लोड भी बढ़ाता है, इसलिए पदानुक्रमित डिकोडिंग उपयोगी हो सकती है।
खुद आज़माएँ
10 आउटपुट वाला पता डिकोडर बनाएँ। पता चौड़ाई, अमान्य इनपुटों की संख्या और en=0 पर अनिवार्य शर्त तय करें।
व्याख्या पढ़ें
पता चौड़ाई बिट है और छह कोड अमान्य हैं। en=0 पर पते से स्वतंत्र होकर सभी चयन लाइनें 0 होनी चाहिए। अमान्य पते पर भी सभी 0 और अलग त्रुटि संकेत देने का विनिर्देश चुन सकते हैं।