प्राथमिकता एनकोडर

From Vigyanwiki
Revision as of 23:57, 7 August 2023 by alpha>Indicwiki (Created page with "प्राथमिकता एनकोडर एक विद्युत सर्किट या कलन विधि है जो कई बाइन...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

प्राथमिकता एनकोडर एक विद्युत सर्किट या कलन विधि है जो कई बाइनरी कोड इनपुट को कम संख्या में आउटपुट में संपीड़ित करता है। प्राथमिकता एनकोडर का आउटपुट शून्य से शुरू होने वाली सबसे महत्वपूर्ण सक्रिय लाइन के सूचकांक का द्विआधारी प्रतिनिधित्व है। इनका उपयोग अक्सर सर्वोच्च प्राथमिकता वाले इंटरप्ट इनपुट पर कार्य करके इंटरप्ट अनुरोधों को नियंत्रित करने के लिए किया जाता है। A 4:2 प्राथमिकता एनकोडरयदि एक ही समय में दो या दो से अधिक इनपुट दिए जाते हैं, तो सर्वोच्च प्राथमिकता वाला इनपुट :wikt:precedence लेगा।[1] एकल बिट 4 से 2 एनकोडर का एक उदाहरण दिखाया गया है, जहां उच्चतम-प्राथमिकता वाले इनपुट बाईं ओर हैं और x एक अप्रासंगिक मान को इंगित करता है - यानी वहां कोई भी इनपुट मान समान आउटपुट देता है क्योंकि इसे उच्च-प्राथमिकता वाले इनपुट द्वारा प्रतिस्थापित किया जाता है। (आमतौर पर शामिल है[lower-alpha 1]) वी आउटपुट इंगित करता है कि इनपुट वैध है या नहीं।

4 to 2 Priority Encoder
I3 I2 I1 I0 O1 O0 v
0 0 0 0 x x 0
0 0 0 1 0 0 1
0 0 1 x 0 1 1
0 1 x x 1 0 1
1 x x x 1 1 1

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

प्राथमिकता एनकोडर का पुनरावर्ती निर्माण[2][3][4]

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

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

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

पुनरावर्ती प्राथमिकता-एनकोडर के लिए एक ओपन-सोर्स वेरिलॉग जनरेटर ऑनलाइन उपलब्ध है।[5] Priority-एनकोडर (बाएं) प्रतीक (दाएं) पुनरावर्ती परिभाषा।वेरिलॉग में प्राथमिकता एनकोडर का व्यवहारिक विवरण इस प्रकार है।[5]<सिंटैक्सहाइलाइट लैंग= वेरिलॉग लाइन= 1 > // प्राथमिकता एनकॉन्डर का व्यवहारिक विवरण; // https://github.com/AmeerAbdelhadi/Indirectly-Indexed-2D-Binary-Content-Addressable-Memory-BCAM

मॉड्यूल pe_bhv

#(पैरामीटर OHW = 512) // एनकोडर एक-हॉट इनपुट चौड़ाई
 (इनपुट सीएलके, // पाइपलाइन प्राथमिकता एनकोडर के लिए घड़ी
   इनपुट आरएसटी, // पाइपलाइन प्राथमिकता एनकोडर के लिए रजिस्टर रीसेट
   इनपुट [ओएचडब्ल्यू -1:0] ओएचटी, // एक-हॉट इनपुट / [ओएचडब्ल्यू -1:0]
   आउटपुट reg [`log2(OHW)-1:0] बिन, // पहला '1' इंडेक्स/ [`log2(OHW)-1:0]
   आउटपुट रेग वीएलडी); // यदि कोई पाया गया तो बाइनरी मान्य है
   
 // गैर निश्चित लूप लंबाई के लिए while लूप का उपयोग करें
 // इंटेल के क्वार्टस II के साथ अच्छी तरह से संश्लेषित
 हमेशा @(*) प्रारंभ करें
   बिन = {`log2(OHW){1'b0}};
   वीएलडी = ओएचटी[बिन] ;
   जबकि ((!vld) && (bin!=(OHW-1))) शुरू होता है
     बिन = बिन + 1 ;
     वीएलडी = ओएचटी[बिन];
   अंत
 अंत

एंडमॉड्यूल </सिंटैक्सहाइलाइट>

सरल एनकोडर

A simple 4:2 OR गेट का उपयोग करने वाला एनकोडर.
OR गेट का उपयोग करने वाला एक सरल 4:2 एनकोडर।

एक एनकोडर (डिजिटल) सर्किट एक-हॉट से बाइनरी कनवर्टर है। अर्थात यदि 2 हैंnइनपुट लाइनें, और अधिकतम उनमें से केवल एक ही कभी ऊंची होगी, इस 'हॉट' लाइन का बाइनरी कोड एन-बिट आउटपुट लाइनों पर निर्मित होता है।

टिप्पणियाँ

  1. For instance, the 74x147 10-to-4 BCD priority encoder does not have a dedicated output valid signal. However, invalid is indicated by all outputs simultaneously high. https://www.ti.com/lit/ds/symlink/sn74ls148.pdf


संदर्भ

  1. M. Morris Mano, Michael D. Ciletti, "Digital Design", 4th Edition, Prentice Hall, 2006, ISBN 978-0-13-198924-5.
  2. Abdelhadi, Ameer M. S. (2016). Architecture of block-RAM-based massively parallel memory structures : multi-ported memories and content-addressable memories (Thesis). University of British Columbia.
  3. Abdelhadi, Ameer M.S.; Lemieux, Guy G.F. (May 2015). "Modular SRAM-Based Binary Content-Addressable Memories". 2015 IEEE 23rd Annual International Symposium on Field-Programmable Custom Computing Machines. pp. 207–214. doi:10.1109/FCCM.2015.69. ISBN 978-1-4799-9969-9. S2CID 16985129.
  4. Abdelhadi, Ameer M. S.; Lemieux, Guy G. F. (December 2014). "Deep and narrow binary content-addressable memories using FPGA-based BRAMs". 2014 International Conference on Field-Programmable Technology (FPT). pp. 318–321. doi:10.1109/FPT.2014.7082808. ISBN 978-1-4799-6245-7. S2CID 2074456.
  5. 5.0 5.1 Abdelhadi, A.M.S.; Lemieux, G.G.F. (2014). "Modular SRAM-based Indirectly-indexed 2D Binary Content Addressable Memory II2DCAM". The University of British Columbia.
    Abdelhadi, A.M.S.; Lemieux, G.G.F. (2015). "Modular SRAM-Based Binary Content-Addressable Memories" (PDF). 2015 IEEE 23rd Annual International Symposium on Field-Programmable Custom Computing Machines. IEEE. pp. 207–214. doi:10.1109/FCCM.2015.69. ISBN 978-1-4799-9969-9. S2CID 16985129.