ডিকোডার সার্কিট এনকোডারের ঠিক বিপরীত কাজটুকু করে। এনকোডারে আলাদা আলাদা লাইনের সিগন্যালকে এনকোড করে আউটপুটে বাইনারি সংখ্যা হিসেবে প্রদান করেছে। ডিকোডার ইনপুটে বাইনারি কোনো সংখ্যা দেয়া হলে আউটপুটে সেই সংখ্যার লাইনটিতে একটি সিগন্যাল 1 দেওয়া হয়, অন্যগুলো ০ থেকে যায়। বিষয়টি বোঝার জন্য আমরা প্রথমেই ডিকোডারের সত্যক সারণী বা ট্রুথ টেবিলটি প্রস্তুত করি। বোঝাই যাচ্ছে, এনকোডারে যেগুলো ছিল আউটপুট লাইন, ডিকোডারে সেটা হবে ইনপুট লাইন এবং এনকোডারে যেগুলো ছিল ইনপুট লাইন ডিকোডারে সেগুলো হবে আউটপুট লাইন। ট্রুথ টেবিলে প্রথমে তিনটি ইনপুট লাইন (Ao, A1, A2) এবং তার পরে আটটি আউটপুট লাইন (Co, Q1, Q2, 3, 4, Os, Qs, Q7) দেখানো হয়েছে (চিত্র 3.17)।
এটাকে কার্যকর করানোর জন্য ঠিক কী ধরনের সার্কিট ব্যবহার করতে হবে সেটা আমরা সত্যক সারণীটির দিকে তাকালেই বুঝতে পারব। যেহেতু এখানে Qo থেকে Q7 এই আটটি আউটপুট রয়েছে কাজেই এই আটটি আউটপুটের জন্য আটটি তিন ইনপুটের AND গেট ব্যবহার করতে হবে। 3.17 চিত্রে সার্কিটটা দেখানো হয়েছে, প্রত্যেকটি তিন ইনপুটের AND গেটে Ao, A1, A2 এর সিগন্যাল দেয়া হয়েছে, কোনো কোনো সময় সরাসরি, কোনো কোনো পরিবর্তন করে। যেমন- প্রথম আউটপুটের জন্য Ao, A2, A2 সিগন্যাল (0,0,0) সরাসরি AND গেটে দেয়া হলে সেটি Qo আউটপুটে 1 দেবে না। আমরা জানি AND গেটের আউটপুটে 1 পেতে হলে ইনপুটের সব 1 হতে হয়। কাজেই Ao, A1, A2 এর সিগন্যাল (0,0,0) এর তিনটিকেই NOT করে দেয়া হলেই সেটি আউটপুটে 1 দেবে, সার্কিটে সেটা করা হয়েছে। ঠিক সেভাবে Q3 তে পজেটিভ সিগন্যাল পেতে হলে তার জন্য নির্দিষ্ট AND গেটের ইনপুটে প্রথমটি (Ao) NOT করে অন্য দুটি সরাসরি দিতে হবে। একইভাবে বলা যায় Q এর জন্য নির্ধারিত AND গেটটিতে Ao, A1, A2 এর সিগন্যাল যেহেতু সবই 1, তাই সাথে মিলিয়ে সার্কিটটি দেখে নাও।
আরও দেখুন...