ডিজিটাল ডিভাইস: লজিক গেইটস, বুলিয়ান অ্যালজেবরা ও অ্যাডার সার্কিট
পর্ব ৩: হাফ অ্যাডার, ফুল অ্যাডার এবং এনকোডার ও ডিকোডার সার্কিট ল্যাব
কম্পিউটারের ALU (Arithmetic Logic Unit) কীভাবে যোগ করে? ২টি বিট যোগ করার জন্য ব্যবহৃত হয় হাফ-অ্যাডার (Half Adder) এবং পূর্বের হাতে থাকা ক্যারি বিটসহ (Carry In) মোট ৩টি বিট যোগ করার জন্য ব্যবহৃত হয় ফুল-অ্যাডার (Full Adder)। দুটি হাফ-অ্যাডার এবং একটি OR গেইট যুক্ত করে সহজেই একটি ফুল-অ্যাডার তৈরি করা যায়! আর মানুষের ভাষাকে কম্পিউটারের বাইনারিতে রূপান্তর করে এনকোডার (Encoder, 2ⁿ → n) এবং কম্পিউটারের বাইনারি কোডকে মানুষের বোধগম্য আউটপুটে রূপান্তর করে ডিকোডার (Decoder, n → 2ⁿ)।
- হাফ অ্যাডার (Half Adder): ইনপুট ২টি (A, B); আউটপুট ২টি—যোগফল S = A ⊕ B (XOR) এবং ক্যারি C = A · B (AND)।
- ফুল অ্যাডার (Full Adder): ইনপুট ৩টি (A, B, Cin); যোগফল S = A ⊕ B ⊕ Cin এবং ক্যারি Cout = AB + (A ⊕ B)·Cin (অথবা AB + BCin + ACin)।
- ২টি হাফ অ্যাডার + ১টি OR গেইট = ১টি ফুল অ্যাডার!
- এনকোডারে ইনপুট থাকে 2ⁿ টি এবং আউটপুট n টি (যেমন 8-to-3 Encoder)। ডিকোডারে ইনপুট থাকে n টি এবং আউটপুট 2ⁿ টি (যেমন 3-to-8 Decoder)।
বাইনারিতে 1 + 1 = 10₂, অর্থাৎ যোগফল (Sum) = 0 এবং হাতে থাকা ক্যারি (Carry) = 1। ডানপাশের সার্কিটে দেখো!
তিনটি ইনপুটই 1 হলে ১ম হাফ অ্যাডার দেয় S₁ = 0, C₁ = 1 এবং ২য় হাফ অ্যাডার Cin=1 যোগ করে চূড়ান্ত S = 1 ও Cout = 1 তৈরি করে!
ডিকোডারে ৩টি ইনপুট (X=1, Y=0, Z=1) দিলে এর বাইনারি মান 5 হওয়ায় ৮টি আউটপুটের মধ্যে কেবল D₅ লাইনটি 1 (ON) হয়!
ইনপুট তিনটির (A, B, Cin) মধ্যে বিজোড় সংখ্যক (১টি বা ৩টি) "1" থাকলে যোগফল S = 1 হবে! আর কমপক্ষে ২টি বা ৩টি "1" থাকলে ক্যারি Cout = 1 হবে!
- সৃজনশীল ঘ-নম্বরে প্রায় ১০০% ক্ষেত্রেই আসে: "উদ্দীপকের ১ম বর্তনী (হাফ অ্যাডার) দিয়ে ২য় বর্তনী (ফুল অ্যাডার) বাস্তবায়ন সম্ভব কি না—লজিক সার্কিটসহ বিশ্লেষণ করো।" ডানপাশের ল্যাবের ফুল অ্যাডার সার্কিট ডায়াগ্রামটি ভালো করে দেখে নাও!
ডিজিটাল সার্কিট ল্যাব: হাফ অ্যাডার, ফুল অ্যাডার ও ডিকোডার
ইনপুট সুইচ (0 / 1) পরিবর্তন করে যোগফল (Sum), ক্যারি (Carry) ও সত্যক সারণি সরাসরি পরীক্ষা করো
| A | B | Sum (S = A⊕B) | Carry (C = AB) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
💡 ১ + ১ যোগ করলে বাইনারিতে ১০ হয়—যার ডানের বিট Sum = 0 এবং বামের বিট Carry = 1!