ক) এনকোডার কী?
এনকোডার হলো এমন একটি ডিজিটাল লজিক সার্কিট যা মানুষের বোধগম্য ভাষাকে (যেমন: আলফানিউমেরিক ক্যারেক্টার বা দশমিক সংখ্যা) কম্পিউটারের বোধগম্য যান্ত্রিক ভাষা বা বাইনারি কোডে রূপান্তর করে।
খ) $0 + 1 = 1$ উপপাদ্যটি কখন $1 \cdot 0 = 0$ হয়? ব্যাখ্যা কর।
বুলিয়ান অ্যালজেবরায় এটি মূলত দ্বৈতনীতি (Duality Principle) অনুযায়ী ঘটে। দ্বৈতনীতি অনুসারে, একটি বৈধ বুলিয়ান সমীকরণ থেকে অন্য একটি বৈধ সমীকরণ পাওয়া যায় যদি:
১. '+' চিহ্নকে '$\cdot$' (AND) চিহ্ন দ্বারা পরিবর্তন করা হয়।
২. '০' কে '১' এবং '১' কে '০' দ্বারা পরিবর্তন করা হয়।
সুতরাং, $0 + 1 = 1$ সমীকরণে নীতিগুলো প্রয়োগ করলে $1 \cdot 0 = 0$ পাওয়া যায়।
গ) উদ্দীপকের বর্তনীটি মৌলিক গেইট দিয়ে বাস্তবায়ন
উদ্দীপকের বর্তনীটি একটি ফুল অ্যাডার (Full Adder)। তিনটি ইনপুট $A, B, C_{\in}$ এর জন্য আউটপুট সাম ($S$) এবং ক্যারি ($C_{out}$) এর সমীকরণ হলো:
$S = A \oplus B \oplus C_{\in}$
$C_{out} = AB + BC_{\in} + AC_{\in}$
মৌলিক গেট (AND, OR, NOT) দিয়ে বাস্তবায়ন:
১. সাম ($S$) বের করার জন্য $A \oplus B \oplus C_{\in}$ কে সরলীকরণ করলে পাওয়া যায়: $\bar{A}\bar{B}C_{\in} + \bar{A}B\bar{C_{\in}} + A\bar{B}\bar{C_{\in}} + ABC_{\in}$। এখানে NOT গেট দিয়ে ইনভার্ট করে AND গেট ও OR গেট ব্যবহার করতে হবে।
২. ক্যারি ($C_{out}$) বের করার জন্য তিনটি AND গেট ($AB, BC_{\in}, AC_{\in}$) এবং একটি ৩-ইনপুটের OR গেট প্রয়োজন।
ঘ) ইনপুট সংখ্যা বৃদ্ধি করে নতুন বর্তনীটি NAND গেট দিয়ে বাস্তবায়ন
উদ্দীপকের ৩-ইনপুটের বর্তনীটির ইনপুট ১টি বৃদ্ধি করলে অর্থাৎ ৪টি ইনপুট হলে সেটি একটি **৪-বিট বাইনারি অ্যাডার** বা সমগোত্রীয় উচ্চতর সার্কিট নির্দেশ করে। তবে পাঠ্যবইয়ের প্রেক্ষাপটে ৩-ইনপুট বিশিষ্ট ফুল অ্যাডারকে যখন আরও ইনপুট দিয়ে বিস্তৃত করা হয়, তখন আমরা মূলত একাধিক ফুল অ্যাডারের সমন্বয়ে প্যারালাল অ্যাডার পাই।
যদি প্রশ্নটি ৩-ইনপুট এনকোডার/ডিকোডার থেকে ৪-ইনপুটে (যেমন: ২ থেকে ৪ ডিকোডার বা ৪ থেকে ২ এনকোডার) রূপান্তর বুঝায়, তবে ৪টি ইনপুট ও ২টি আউটপুট বিশিষ্ট সার্কিটটি হবে একটি ৪-টু-২ এনকোডার।
৪-টু-২ এনকোডারের সমীকরণ (যদি ইনপুট $D_0, D_1, D_2, D_3$ হয়):
$A = D_2 + D_3$
$B = D_1 + D_3$
NAND গেট দিয়ে বাস্তবায়ন:
NAND গেট একটি সার্বজনীন গেট। OR অপারেশনকে NAND গেটে রূপান্তর করতে হলে ডমরগানের সূত্র ব্যবহার করতে হয়:
$A = D_2 + D_3 = \overline{\overline{D_2 + D_3}} = \overline{\bar{D_2} \cdot \bar{D_3}}$
$B = D_1 + D_3 = \overline{\overline{D_1 + D_3}} = \overline{\bar{D_1} \cdot \bar{D_3}}$
এভাবে কেবল NAND গেট ব্যবহার করে ইনপুটগুলোকে ইনভার্ট করে এবং পুনরায় NAND গেটের মধ্য দিয়ে চালনা করে কাঙ্ক্ষিত আউটপুট পাওয়া সম্ভব।