সরাসরি পর্বে যান
পর্ব ২০ · ৫৫-এর মধ্যে · মডিউল ৩

লজিক গেট, truth table আর universal gate

Logic Gates — AND, OR, NOT, NAND, NOR, XOR, XNOR, Truth Tables and Universal Gates

Taught in Bangla, this lesson explains logic gates as small decision machines built from transistor switches: the basic AND, OR and NOT gates, the derived NAND, NOR, XOR and XNOR gates, converting Boolean expressions to circuits and back, NAND and NOR as universal gates, 7400-series ICs, everyday uses such as alarms and parity, and checking circuits with truth tables.

এই পর্বে যা শিখবেন

  • লজিক গেট আসলে কী, ট্রানজিস্টর কীভাবে সুইচ হয়ে গেট বানায়, আর ভোল্টেজ কীভাবে 0/1 হয়
  • AND, OR, NOT, NAND, NOR, XOR, XNOR — প্রতিটির চিহ্ন, এক্সপ্রেশন আর truth table
  • এক্সপ্রেশন থেকে সার্কিট আঁকা আর সার্কিট দেখে এক্সপ্রেশন লেখা — ধাপে ধাপে
  • শুধু NAND বা শুধু NOR দিয়ে সব গেট বানানো, আর কেন চিপ-নির্মাতারা NAND পছন্দ করেন
  • 7400 সিরিজের IC, আর অ্যালার্ম, সিটবেল্ট, ভোটিং, parity-র মতো বাস্তব ব্যবহার

১ · লজিক গেট কী — সুইচ থেকে সিদ্ধান্ত

বাসার সিঁড়ির বাতির কথা ভাবুন। নিচতলায় একটি সুইচ, দোতলায় আরেকটি — যেকোনো একটি চাপলেই বাতির অবস্থা বদলায়। কিংবা অনেক মোটরসাইকেলের কথা ভাবুন: চাবি ঘোরানো এবং সাইড-স্ট্যান্ড তোলা — দুটোই হলে তবেই ইঞ্জিন চালু হয়। প্রতিদিন আমরা এমন অনেক যন্ত্র দেখি, যারা কয়েকটি “হ্যাঁ/না” তথ্য মিলিয়ে একটি সিদ্ধান্ত নেয়।

কম্পিউটারের ভেতরে ঠিক এই কাজটি করে লজিক গেট (logic gate). লজিক গেট হলো একটি খুব ছোট ইলেকট্রনিক সার্কিট, যা এক বা একাধিক বাইনারি ইনপুট (0 বা 1) নেয় আর একটি নির্দিষ্ট নিয়ম মেনে একটি আউটপুট (0 বা 1) দেয়। নিয়মগুলো আসে বুলিয়ান অ্যালজেব্রা থেকে — যার AND, OR, NOT ক্রিয়া আর উপপাদ্য আপনি পর্ব ১৯-এ দেখেছেন। সহজ কথায়: বুলিয়ান অ্যালজেব্রা হলো খাতার অঙ্ক, আর লজিক গেট হলো সেই অঙ্কের ধাতব-সিলিকন রূপ।

মূল ধারণা

এই পাতাটি দেখানো, দুটি সংখ্যা যোগ করা, একটি ছবি বড় করা — কম্পিউটারের প্রতিটি কাজ শেষ পর্যন্ত কোটি কোটি লজিক গেটের 0 থেকে 1-এ আর 1 থেকে 0-তে বদলানো। একটি আধুনিক CPU-তে কয়েকশো কোটি ট্রানজিস্টর থাকে, আর সেগুলো মিলে গড়ে কোটি কোটি গেট। প্রতিটি গেট বোকা — শুধু একটি ছোট নিয়ম জানে। কিন্তু সঠিকভাবে জোড়া লাগালে তারা মিলে যোগ করে, তুলনা করে, মনে রাখে।

ট্রানজিস্টর — বিদ্যুৎ দিয়ে চালানো সুইচ

গেট তৈরি হয় ট্রানজিস্টর দিয়ে। ঘরের সুইচ আপনি আঙুল দিয়ে চাপেন; ট্রানজিস্টর এমন এক সুইচ, যাকে চাপে আরেকটি বিদ্যুৎ সংকেত। একটি ট্রানজিস্টরের তিনটি প্রান্ত — দুটি দিয়ে বিদ্যুৎ যায়-আসে, আর তৃতীয়টি (MOSFET-এ যার নাম gate) হলো “আঙুল”। সেই নিয়ন্ত্রণ-প্রান্তে ভোল্টেজ দিলে সুইচ বন্ধ হয়ে বিদ্যুৎ চলে; ভোল্টেজ সরালে সুইচ খুলে যায়। যেহেতু একটি ট্রানজিস্টরের আউটপুট আরেকটির “আঙুল” চাপতে পারে, তাই সুইচ দিয়ে সুইচ চালানো যায় — আর এখান থেকেই জন্ম নেয় যুক্তি।

যেমন, দুটি ট্রানজিস্টর সিরিজে (একটির পর আরেকটি) বসালে বিদ্যুৎ যাবে শুধু তখন, যখন দুটোই চালু — এটাই AND-এর মূল ভাব। প্যারালালে (পাশাপাশি দুই পথে) বসালে যেকোনো একটি চালু হলেই বিদ্যুৎ যাবে — OR-এর ভাব। আসল চিপে গেটের নকশা আরেকটু চতুর (অংশ ৫-এ CMOS-এর কথা আসবে), আর ট্রানজিস্টর থেকে অ্যাপ পর্যন্ত স্তরগুলো পর্ব ২৩-এ বিস্তারিত দেখবেন। এই পর্বে ট্রানজিস্টরকে শুধু একটি “বিদ্যুতে চলা সুইচ” ভাবলেই চলবে।

ভোল্টেজ কীভাবে 0 আর 1 হয় — logic level

তারের ভেতরে তো সংখ্যা দৌড়ায় না, দৌড়ায় বিদ্যুৎ। তাই একটি চুক্তি করা হয়: কম ভোল্টেজ মানে 0 (একে বলে Low), বেশি ভোল্টেজ মানে 1 (High). এই সীমাগুলোকে বলে logic level. পুরোনো ৫ ভোল্টের চিপে মোটামুটি 0 V-এর কাছাকাছি হলো 0 আর 5 V-এর কাছাকাছি হলো 1; আজকের অনেক চিপ চলে 3.3 V-এ, আর CPU-র ভেতরে আরও কম — ১ ভোল্টের আশপাশে।

কেন মাত্র দুটি স্তর? কারণ দুটি স্তর আলাদা করা সবচেয়ে সহজ আর নিরাপদ। ধরুন 0 V থেকে 0.8 V পর্যন্ত যেকোনো কিছুকে 0 ধরা হলো, আর 2 V-এর ওপরে যেকোনো কিছুকে 1. তারে সামান্য গোলমাল (noise) ঢুকে 0.3 V হয়ে গেলেও সেটি 0-ই থাকে। মাঝের অংশটুকু “নিষিদ্ধ এলাকা” — ভালো সার্কিট সেখানে বেশিক্ষণ থাকে না। দশটি স্তর রাখলে প্রতিটির ফাঁক এত ছোট হতো যে সামান্য গোলমালেই 3 হয়ে যেত 4. ঠিক এ কারণেই কম্পিউটার bit-এ ভাবে (পর্ব ১৬)।

উপমা: ট্রেনের সিগন্যাল বাতির কথা ভাবুন — লাল মানে থামতে হবে, সবুজ মানে যাওয়া যাবে। বাতিটা একটু ম্লান হলেও চালক ভুল বোঝেন না, কারণ মাত্র দুটি অবস্থা, আর দুটো একেবারে আলাদা। লজিক লেভেলও তাই: “প্রায় শূন্য” আর “প্রায় পুরো” — মাঝামাঝি কিছু নয়।

২ · তিন মৌলিক গেট — AND, OR আর NOT

সব ডিজিটাল সার্কিটের ভিত্তি তিনটি গেট। প্রতিটি গেটের তিনটি পরিচয় জানতে হবে: চিহ্ন (সার্কিট ডায়াগ্রামে কেমন দেখায়), এক্সপ্রেশন (সূত্রে কীভাবে লেখে), আর truth table (প্রতিটি ইনপুটে কী আউটপুট)। নিচে আন্তর্জাতিকভাবে সবচেয়ে প্রচলিত ANSI/IEEE আকৃতির চিহ্ন দেখানো হলো — পাঠ্যবই আর পরীক্ষায় এগুলোই আঁকতে হয়।

তিন মৌলিক গেটের চিহ্ন

Standard (ANSI) symbols: AND, OR, NOT

ABY

AND · Y = A·B

ABY

OR · Y = A + B

AY

NOT · Y = A′

ছবি ২০.১ — AND-এর পিঠ সমতল, OR-এর পিঠ বাঁকা; NOT-এর মাথার ছোট বৃত্তটি মানে “উল্টে দিন”।

AND গেট — “সবাই রাজি হলে তবেই”

AND গেট-এর আউটপুট 1 হয় শুধু তখন, যখন সব ইনপুট 1. একটিও 0 থাকলে আউটপুট 0. এক্সপ্রেশনে লেখা হয় গুণের মতো ফোঁটা দিয়ে: Y = A·B (অনেকে শুধু AB লেখেন)। আসলেও এটি সাধারণ গুণ: 1×1 = 1, বাকি সব গুণফলে কোথাও না কোথাও 0 আছে, তাই 0.

OR গেট — “যেকোনো একজন রাজি হলেই”

OR গেট-এর আউটপুট 1 হয়, যখন অন্তত একটি ইনপুট 1. সব ইনপুট 0 হলে তবেই আউটপুট 0. লেখা হয় যোগের চিহ্নে: Y = A + B. সাবধান: এখানে 1 + 1 = 1, ২ নয় — বুলিয়ান জগতে মান শুধু 0 আর 1, আর “+” মানে “অথবা”।

NOT গেট — “উল্টে দিন”

NOT গেট-এর ইনপুট একটিই, আর আউটপুট সবসময় তার উল্টো: 0 দিলে 1, 1 দিলে 0. এর আরেক নাম inverter. এক্সপ্রেশনে লেখা হয় A′ (A prime) বা A-এর মাথায় একটি দাগ দিয়ে (A̅, পড়া হয় “A bar”). চিহ্নের মাথার ছোট বৃত্তটিকে বলে inversion bubble — পরে দেখবেন, এই বৃত্ত যেকোনো গেটের মুখে বসালেই সেই গেটের আউটপুট উল্টে যায়।

ABAND: A·BOR: A + BNOT: A′
00001
01011
10010
11110

লক্ষ করুন, দুই ইনপুটে সারি চারটি: 00, 01, 10, 11 — বাইনারিতে ০ থেকে ৩ গোনার মতো। n টি ইনপুট হলে সারি হয় 2n টি: তিন ইনপুটে ৮টি, চার ইনপুটে ১৬টি। truth table লেখার সময় সারিগুলো এভাবে বাইনারি ক্রমে সাজালে কোনো সমন্বয় বাদ পড়ে না।

সুইচ আর বাল্ব দিয়ে AND ও OR

Claude Shannon ১৯৩৭ সালে দেখান, সুইচের সার্কিট আর বুলিয়ান অ্যালজেব্রা আসলে একই জিনিস। একটি ব্যাটারি, একটি বাল্ব আর দুটি সুইচ নিয়ে নিজেই দেখুন: সুইচ বন্ধ (চাপা, সংযোগ আছে) = 1, খোলা = 0; বাল্ব জ্বলা = 1, নেভা = 0. নিচের stepper-এ চারটি সমন্বয় একে একে চালান:

সিরিজ ও প্যারালাল সুইচ সার্কিট বাঁ দিকে একটি ব্যাটারি, পরপর দুটি সুইচ A ও B আর একটি বাল্ব এক লুপে (সিরিজ)। ডান দিকে ব্যাটারি আর বাল্বের মাঝে সুইচ A ও B দুটি আলাদা সমান্তরাল পথে (প্যারালাল)। AB AB ++ সিরিজ = AND প্যারালাল = OR
truth table তৈরি হচ্ছে
সুইচ A, B
সিরিজ বাল্ব (AND)
প্যারালাল বাল্ব (OR)
লেখা সারি (AB → AND, OR)
  1. দুটি সুইচই খোলা (A = 0, B = 0). সিরিজ সার্কিটে পথ দুই জায়গায় কাটা, প্যারালালে দুটি পথই কাটা — কোথাও বিদ্যুৎ যাওয়ার রাস্তা নেই। দুটি বাল্বই নেভা: AND = 0, OR = 0.
  2. শুধু B বন্ধ (A = 0, B = 1). সিরিজে A এখনো খোলা, তাই পুরো লুপ কাটা — বাল্ব নেভা। প্যারালালে নিচের পথটি (B) পুরো হয়ে গেছে — বিদ্যুৎ সেদিক দিয়েই গেল, বাল্ব জ্বলল। AND = 0, OR = 1.
  3. শুধু A বন্ধ (A = 1, B = 0). একই গল্প উল্টো দিক থেকে: সিরিজে এবার B খোলা থাকায় বাল্ব নেভা; প্যারালালে ওপরের পথ খোলা, বাল্ব জ্বলছে। AND = 0, OR = 1.
  4. দুটিই বন্ধ (A = 1, B = 1). সিরিজের পুরো লুপ এখন জোড়া — বাল্ব প্রথমবার জ্বলল। প্যারালালে দুটি পথ খোলা, বাল্ব জ্বলছেই। AND = 1, OR = 1. চারটি সারি মিলিয়ে দেখুন — ওপরের truth table-এর হুবহু কপি। সিরিজ = AND, প্যারালাল = OR.

দৈনন্দিন উপমা: ব্যাংকের লকার খুলতে গ্রাহকের চাবি এবং ব্যাংকের চাবি — দুটোই লাগে: AND. বাসায় ঢুকতে সামনের দরজা অথবা পেছনের দরজা — যেকোনো একটি খোলা থাকলেই চলে: OR. আর পরীক্ষার হলে “মোবাইল নয়” — উল্টো শর্ত: NOT.

৩ · NAND, NOR, XOR আর XNOR — যৌগিক গেট

মৌলিক তিনটি গেট জোড়া লাগিয়ে আরও চারটি গেট তৈরি হয়, যেগুলো এত বেশি ব্যবহার হয় যে প্রত্যেকের আলাদা নাম আর চিহ্ন আছে। এদের বলে derived বা যৌগিক গেট।

চার যৌগিক গেটের চিহ্ন

NAND, NOR, XOR, XNOR — a bubble means “invert”, a second curve means “exclusive”

ABY

NAND · Y = (A·B)′

ABY

NOR · Y = (A + B)′

ABY

XOR · Y = A ⊕ B

ABY

XNOR · Y = (A ⊕ B)′

ছবি ২০.২ — মুখে বৃত্ত = আউটপুট উল্টো; OR-এর পিঠে বাড়তি বাঁকা দাগ = “exclusive” (একচেটিয়া)।
  • NAND (NOT-AND): AND-এর আউটপুট উল্টে দেওয়া। সব ইনপুট 1 হলে তবেই আউটপুট 0; বাকি সব সারিতে 1. AND-এর চিহ্নের মুখে একটি বৃত্ত।
  • NOR (NOT-OR): OR-এর আউটপুট উল্টে দেওয়া। সব ইনপুট 0 হলে তবেই আউটপুট 1; একটিও 1 থাকলে 0.
  • XOR (Exclusive-OR): ইনপুট দুটি আলাদা হলে 1, একই হলে 0. সাধারণ OR বলে “A অথবা B অথবা দুটোই”; XOR বলে “A অথবা B — কিন্তু দুটো একসাথে নয়”। সূত্রে: A ⊕ B = A·B′ + A′·B.
  • XNOR (Exclusive-NOR): XOR-এর উল্টো — ইনপুট দুটি সমান হলে 1. তাই XNOR হলো “সমতা যাচাইকারী” (equality detector): দুটি bit মিলে গেলে 1. সূত্রে: (A ⊕ B)′ = A·B + A′·B′; কোনো কোনো বইয়ে লেখা হয় A ⊙ B.
ABANDORNANDNORXORXNOR
00001101
01011010
10011010
11110001

মুখস্থ না করে প্যাটার্নটা দেখুন: NAND কলাম হুবহু AND-এর উল্টো, NOR হুবহু OR-এর উল্টো, XNOR হুবহু XOR-এর উল্টো। আর এক লাইনে মনে রাখার কৌশল:

AND: সব 1 হলে 1 · OR: কোনো 1 থাকলে 1 · NAND: সব 1 হলে 0
NOR: সব 0 হলে 1 · XOR: আলাদা হলে 1 · XNOR: সমান হলে 1

XOR-এর গোপন পরিচয় — বিজোড় গোনা

XOR-এ দুটির বেশি ইনপুট দিলে কী হয়? A ⊕ B ⊕ C হিসাব করুন একটির পর একটি: প্রতিটি 1 আউটপুটকে একবার উল্টে দেয়। ফলে মোট বিজোড় সংখ্যক 1 থাকলে XOR = 1, জোড় সংখ্যক থাকলে 0. যেমন 1 ⊕ 1 ⊕ 1 = 1 (তিনটি 1, বিজোড়), আর 1 ⊕ 0 ⊕ 1 = 0 (দুটি 1, জোড়)। এই গুণটিই XOR-কে parity যাচাইয়ের রাজা বানিয়েছে — পর্ব ১৮-এ দেখা even parity-র parity bit আসলে ডেটার সব bit-এর XOR (অংশ ৭-এ আবার আসবে)।

বহু-ইনপুটের গেট — ৩টি ইনপুটের AND ও OR

AND আর OR গেটে দুটির বেশি ইনপুটও থাকতে পারে — চিহ্ন একই, শুধু পিঠে বেশি তার। ৩-ইনপুটের AND: Y = A·B·C — তিনটিই 1 হলে তবেই 1 (৮টি সারির মধ্যে মাত্র ১টিতে)। ৩-ইনপুটের OR: Y = A + B + C — শুধু 000 সারিতে 0, বাকি ৭টিতে 1.

৩-ইনপুটের AND আর OR

Three-input AND and OR gates — same shapes, one more input

ABCY

Y = A·B·C

ABCY

Y = A + B + C

ছবি ২০.৩ — দুটি ২-ইনপুটের AND পরপর জুড়েও ৩-ইনপুটের AND পাওয়া যায়: (A·B)·C.

একটি সূক্ষ্ম ফাঁদ: ৩-ইনপুটের NAND মানে (A·B·C)′ — এটি দুটি ২-ইনপুটের NAND পরপর জোড়ার সমান নয়, কারণ মাঝের আউটপুট একবার উল্টে যায়। AND আর OR-এ গেট পরপর জোড়া যায়, NAND আর NOR-এ সরাসরি যায় না।

৪ · এক্সপ্রেশন থেকে সার্কিট, সার্কিট থেকে এক্সপ্রেশন

HSC ICT আর অনেক চাকরির পরীক্ষায় সবচেয়ে প্রচলিত প্রশ্ন দুই রকম: “এই এক্সপ্রেশনের লজিক সার্কিট আঁকো” আর “এই সার্কিটের আউটপুট এক্সপ্রেশন লেখো”। দুটোই একটি সহজ নিয়মে করা যায়।

নিয়ম

এক্সপ্রেশন → সার্কিট: অঙ্কের মতো ভেতর থেকে বাইরে যান। আগে NOT (দাগ বা ′), তারপর AND (·), শেষে OR (+) — বন্ধনী থাকলে বন্ধনীর ভেতরের অংশ আগে। প্রতিটি ক্রিয়ার জন্য একটি গেট বসান, আর শেষ ক্রিয়াটির গেটই আউটপুট দেয়।
সার্কিট → এক্সপ্রেশন: উল্টো পথে, বাঁ থেকে ডানে চলুন। প্রতিটি গেটের আউটপুট তারের পাশে লিখে ফেলুন (যেমন P, Q), তারপর পরের গেটে সেগুলো বসান।

উদাহরণ: Y = (A·B) + C′ আঁকুন

ভেতরের ক্রিয়াগুলো খুঁজুন: A·B (একটি AND গেট), C′ (একটি NOT গেট), আর দুটির ফল যোগ (একটি OR গেট)। মোট তিনটি গেট:

Y = (A·B) + C′ — গেট-লেভেল সার্কিট

AND gate and NOT gate feed an OR gate

ABCP = A·BQ = C′Y
ছবি ২০.৪ — মাঝের তারের নাম (P, Q) লিখে রাখলে হিসাব আর যাচাই দুটোই সহজ হয়।

এবার এই সার্কিটে কিছু ইনপুট দিয়ে প্রতিটি গেটের ভেতর দিয়ে মান কীভাবে যায়, ধাপে ধাপে দেখুন:

  1. ইনপুটA, B, Cসুইচ সেট করা
  2. ANDP = A·Bগেট ১
  3. NOTQ = C′গেট ২
  4. ORY = P + Qগেট ৩
তারে তারে মান
A, B, C
P = A·B
Q = C′
Y = P + Q
  1. ইনপুট দিন। ধরা যাক A = 1, B = 0, C = 1. পরীক্ষার প্রশ্নে প্রায়ই এভাবে নির্দিষ্ট ইনপুট দিয়ে আউটপুট জানতে চাওয়া হয়। মাথায় পুরো সূত্র না রেখে গেট ধরে ধরে এগোন।
  2. গেট ১ — AND. এর ইনপুট A আর B: 1·0 = 0. একটি 0 থাকলেই AND-এর আউটপুট 0. তারের পাশে লিখুন P = 0.
  3. গেট ২ — NOT. এর ইনপুট C = 1, উল্টে দিলে Q = 0. খেয়াল করুন, গেট ১ আর গেট ২ একে অপরের ওপর নির্ভর করে না — আসল চিপে এরা একসাথে, একই মুহূর্তে কাজ করে।
  4. গেট ৩ — OR. ইনপুট P = 0 আর Q = 0. OR-এ কোনো 1 নেই, তাই Y = 0. এই ইনপুটে বাতি নেভা।
  5. শুধু C বদলান: C = 0. P আগের মতোই 0 (A, B বদলায়নি), কিন্তু Q = 0′ = 1. OR-এ একটি 1 পেয়েই Y = 1. একটি ইনপুট বদলে পুরো আউটপুট বদলে গেল — কেন, তা তারের মান থেকে সরাসরি দেখা যাচ্ছে।
  6. পুরো truth table. একইভাবে ৮টি সমন্বয় চালালে দেখবেন: C = 0 হলেই Y = 1 (Q = 1 বলে)। আর C = 1 হলে Y = 1 শুধু তখন, যখন A = B = 1. তাই Y = 0 মাত্র তিনটি সারিতে — ABC = 001, 011, 101.

উল্টো কাজ: সার্কিট দেখে এক্সপ্রেশন

নিচের সার্কিটের আউটপুট এক্সপ্রেশন কী? উত্তর দেখার আগে নিজে তারের পাশে নাম লিখে চেষ্টা করুন।

এই সার্কিটের Y কত?

A NOR gate and input C feed an AND gate

ABCP = ?Y
ছবি ২০.৫ — প্রথম গেটের মুখে বৃত্ত আছে, পিঠ বাঁকা: চিনে নিন কোন গেট।

সমাধান: প্রথম গেটের পিঠ বাঁকা আর মুখে বৃত্ত — NOR. তাই P = (A + B)′. দ্বিতীয় গেট AND, তার ইনপুট P আর C. অতএব Y = (A + B)′·C. পর্ব ১৯-এর ডি মরগানের উপপাদ্য দিয়ে লেখা যায় Y = A′·B′·C — অর্থাৎ Y = 1 শুধু একটি সারিতে: A = 0, B = 0, C = 1. truth table-এর ৮টি সারি চালিয়ে মিলিয়ে নিন — এক্সপ্রেশন আর সার্কিটের এই মিল যাচাই করাটাই আসল দক্ষতা।

XOR নিজে বানান — AND, OR আর NOT দিয়ে

XOR-এর সূত্র Y = A·B′ + A′·B. সার্কিটে লাগবে: দুটি NOT (A′ আর B′ বানাতে), দুটি AND (A·B′ আর A′·B), আর একটি OR — মোট পাঁচটি গেট। সূত্রটি পড়ুন এভাবে: “A আছে কিন্তু B নেই, অথবা B আছে কিন্তু A নেই”। নিচের stepper-এ প্রতিটি সারিতে কোন AND গেট “জেগে ওঠে” দেখুন:

ইনপুটA, B
NOT গেট দুটিA′, B′ তৈরি
AND ১: A·B′“শুধু A”
AND ২: A′·B“শুধু B”
OR: Yযেকোনো AND জাগলেই 1
সারি ধরে হিসাব
A, B
A′, B′
A·B′ , A′·B
Y (OR)
  1. A = 0, B = 0. NOT দুটি দেয় A′ = 1, B′ = 1. কিন্তু AND ১ পায় A = 0, AND ২ পায় B = 0 — দুটিই 0. OR-এ কোনো 1 নেই: Y = 0. ঠিক যেমন XOR বলে — ইনপুট সমান, আউটপুট 0.
  2. A = 0, B = 1. AND ২-এর দুই ইনপুট A′ = 1 আর B = 1 — সে জেগে উঠল (1). OR সেই 1 পেয়ে Y = 1. “শুধু B আছে” — XOR = 1.
  3. A = 1, B = 0. এবার AND ১ জাগে: A = 1, B′ = 1. Y = 1. দুটি AND গেট যেন দুই পাহারাদার — একজন “শুধু A”, অন্যজন “শুধু B” ধরার দায়িত্বে।
  4. A = 1, B = 1. A′ = 0 আর B′ = 0, তাই কোনো AND-ই জাগে না। Y = 0 — “দুটো একসাথে নয়”। চার সারিই XOR-এর truth table-এর সাথে মিলল, তাই সার্কিটটি সঠিক। (শুধু NAND দিয়ে XOR বানাতে লাগে মাত্র ৪টি গেট — অনুশীলন ৩-এ দেখবেন।)

৫ · Universal gate — শুধু NAND বা শুধু NOR দিয়ে সব

এখন একটি চমকপ্রদ সত্য: আপনার হাতে যদি শুধু এক বাক্স NAND গেট থাকে — আর কোনো গেট নয় — তবুও আপনি NOT, AND, OR, এমনকি পুরো একটি কম্পিউটার বানাতে পারবেন। NOR-এর বেলাতেও তাই। এই দুটিকে বলে universal gate. কারণটি সহজ: NOT, AND, OR দিয়ে যেকোনো বুলিয়ান এক্সপ্রেশন লেখা যায়; তাই যে গেট দিয়ে এই তিনটি বানানো যায়, সে একাই সব পারে।

তিনটি কৌশল — NAND দিয়ে

  • NOT: NAND-এর দুই ইনপুট জোড়া দিন (দুটোতেই A). তখন Y = (A·A)′ = A′. ১টি গেট।
  • AND: NAND মানে “AND তারপর NOT”. তাই NAND-এর পরে আরেকটি NAND-কে NOT হিসেবে বসালে উল্টোটা আবার উল্টে যায়: ((A·B)′)′ = A·B. ২টি গেট।
  • OR: দুটি NAND দিয়ে A′ আর B′ বানান, তারপর তৃতীয় NAND-এ দিন: (A′·B′)′ = A + B (ডি মরগানের উপপাদ্য, পর্ব ১৯)। ৩টি গেট।

NOR দিয়ে একই খেলা আয়নায় উল্টো: NOT-এ ১টি, OR-এ ২টি ((A + B)′-কে আবার উল্টে), আর AND-এ ৩টি ((A′ + B′)′ = A·B). ডায়াগ্রামগুলো দেখুন — ট্যাব বদলে NAND থেকে NOR-এ যান:

NAND দিয়ে NOT, AND আর OR

NOT = 1 NAND · AND = 2 NAND · OR = 3 NAND

AY = A′ AB(AB)′Y = AB ABA′B′Y = A + B
ছবি ২০.৬ — ওপর থেকে: NOT (১টি NAND), AND (২টি), OR (৩টি)।

NOR দিয়ে NOT, OR আর AND

NOT = 1 NOR · OR = 2 NOR · AND = 3 NOR

AY = A′ AB(A+B)′Y = A + B ABA′B′Y = AB
ছবি ২০.৭ — ওপর থেকে: NOT (১টি NOR), OR (২টি), AND (৩টি)। NAND-এর ঠিক আয়না-রূপ।

শুধু ছবি দেখে বিশ্বাস করবেন না — NAND দিয়ে বানানো AND সত্যিই AND কি না, চারটি সারিতে যাচাই করুন:

  1. ইনপুটA, Bদুটি সুইচ
  2. NAND ১X = (A·B)′AND, তারপর উল্টো
  3. NAND ২ (NOT)Y = (X·X)′ = X′দুই ইনপুট জোড়া
  4. ফলY = A·BAND পাওয়া গেল
যাচাইয়ের খাতা
A, B
X = NAND ১
Y = X′ (NAND ২)
আসল AND
  1. A = 0, B = 0. NAND ১-এর ইনপুটে কোনোটি 1 নয়, তাই AND = 0, উল্টে X = 1. NAND ২-এর দুই ইনপুটেই X = 1 যাচ্ছে: (1·1)′ = 0. Y = 0 — আসল AND-ও 0 দিত। মিলল।
  2. A = 0, B = 1. একটি 0 থাকায় NAND ১ আবার 1 দেয়; NAND ২ সেটি উল্টে 0. মিলল।
  3. A = 1, B = 0. একই — X = 1, Y = 0. লক্ষ করুন, যতক্ষণ কোনো ইনপুটে 0 আছে, NAND ১ “1” বলে চিৎকার করে, আর NAND ২ সেটিকে চুপ করিয়ে 0 বানায়।
  4. A = 1, B = 1. এবার NAND ১-এর একমাত্র 0-সারি: X = 0. NAND ২ সেটি উল্টে Y = 1. আসল AND-ও এখানে 1 — চতুর্থ সারিও মিলল।
  5. সিদ্ধান্ত। চার সারিতেই Y = A·B. truth table-এর প্রতিটি সারি মিললে তবেই বলা যায় দুটি সার্কিট সমতুল্য — একটি-দুটি সারি দেখে নয়। NOR দিয়ে OR (দুটি NOR) একই পদ্ধতিতে নিজে যাচাই করে দেখুন।

চিপ-নির্মাতারা কেন NAND ভালোবাসেন?

আজকের প্রায় সব চিপ তৈরি হয় CMOS (Complementary MOS) প্রযুক্তিতে। সেখানে প্রতিটি গেটে দুই ধরনের ট্রানজিস্টর জোড়ায় জোড়ায় বসে — একদল আউটপুটকে 1-এর দিকে টানে, আরেকদল 0-এর দিকে। এর বড় সুবিধা: গেট স্থির থাকলে প্রায় কোনো বিদ্যুৎ খরচ হয় না, খরচ হয় শুধু বদলের মুহূর্তে। ফোনের ব্যাটারি সারাদিন টেকার একটি বড় কারণ এটি।

CMOS-এ সবচেয়ে সরল গেট আসলে NOT (২টি ট্রানজিস্টর), তারপর NAND আর NOR (৪টি করে)। মজার ব্যাপার, AND বানাতে লাগে NAND + NOT = ৬টি — অর্থাৎ CMOS-এ “উল্টানো” গেটগুলোই স্বাভাবিক, সোজা AND-OR বরং বাড়তি খরচ। আর NAND আর NOR-এর মধ্যে NAND সাধারণত একটু দ্রুত ও ছোট হয়, কারণ NOR-এ যে ট্রানজিস্টরগুলো সিরিজে বসে, সেগুলো প্রকৃতিগতভাবে ধীর ধরনের। তাই চিপ-নকশার সফটওয়্যার বড় সার্কিটকে সাধারণত NAND, NOR আর NOT-এর ভাষায় অনুবাদ করে। কারখানার জন্যও সুবিধা — অল্প কয়েক ধরনের “ইট” নিখুঁতভাবে বানালেই পুরো দালান হয়।

৬ · চিপের ভেতরে — 7400 সিরিজের IC

গেট কি আলাদা আলাদা কেনা যায়? যায়, তবে একটি একটি করে নয় — একটি ছোট IC (integrated circuit) চিপে কয়েকটি গেট একসাথে থাকে। ল্যাবে আর পাঠ্যবইয়ে সবচেয়ে পরিচিত পরিবার হলো 7400 সিরিজ, যা ১৯৬০-এর দশকে Texas Instruments বাজারে আনে আর পরে বহু কোম্পানি একই নম্বরে বানাতে শুরু করে। প্রথম দিকের চিপগুলো ছিল TTL (Transistor-Transistor Logic) প্রযুক্তির, ৫ ভোল্টে চলে; পরের 74HC-এর মতো সংস্করণ CMOS, কিন্তু নম্বর আর পিনের কাজ একই।

IC নম্বরভেতরে কী আছেমনে রাখার কৌশল
7400৪টি ২-ইনপুট NAND (quad NAND)সিরিজের প্রথম চিপটিই universal gate
7402৪টি ২-ইনপুট NORঅন্য universal gate
7404৬টি NOT (hex inverter)NOT-এর একটিই ইনপুট, তাই ১৪ পিনে ৬টি আঁটে
7408৪টি ২-ইনপুট AND“08” — AND
7432৪টি ২-ইনপুট OR“32” — OR
7486৪টি ২-ইনপুট XORparity ও যোগের সার্কিটে

সাধারণ চিপগুলো ১৪ পায়ের (pin) কালো প্লাস্টিকের আয়তাকার প্যাকেটে আসে — দুই সারিতে ৭টি করে পা, একে বলে DIP. প্রচলিত নিয়মে পিন ১৪-তে দিতে হয় +৫ ভোল্ট (VCC) আর পিন ৭-এ গ্রাউন্ড (0 V). বাকি ১২টি পিন গেটগুলোর ইনপুট-আউটপুট: যেমন 7408-এ প্রতিটি AND গেটের দুটি ইনপুট আর একটি আউটপুট — ৪টি গেট × ৩ = ১২টি পিন। চিপের এক মাথায় একটি খাঁজ বা ফোঁটা থাকে, যা দেখে পিন ১ চেনা যায়। কোন পিন কোন গেটের — তা নির্মাতার datasheet-এ দেওয়া থাকে; ল্যাবে সার্কিট জোড়ার আগে সবসময় datasheet মিলিয়ে নিন।

TTL চিপে logic level-এর হিসাব মোটামুটি এমন: ইনপুটে 0.8 V-এর নিচে মানে 0, আর 2 V-এর ওপরে মানে 1. আর প্রতিটি গেট ইনপুট বদলের পর আউটপুট বদলাতে সামান্য সময় নেয় — একে বলে propagation delay; পুরোনো TTL গেটে প্রায় ১০ ন্যানোসেকেন্ড। অনেক গেট পরপর জোড়া থাকলে দেরি যোগ হয়, আর এটিই শেষ পর্যন্ত ঠিক করে একটি চিপ কত দ্রুত চলতে পারবে (ক্লক স্পিড, পর্ব ২৪)।

একটি আধুনিক CPU-তে অবশ্য 7400-এর মতো আলাদা চিপ থাকে না — কোটি কোটি গেট একটিই সিলিকনের টুকরোয় তৈরি হয়। কিন্তু ধারণা হুবহু এক। 7400 সিরিজ দিয়ে ব্রেডবোর্ডে একটি সার্কিট নিজের হাতে জুড়লে, আর LED জ্বলতে দেখলে, CPU-র “ভেতরটা” আর রহস্য থাকে না।

৭ · বাস্তব জীবনে গেট — অ্যালার্ম, সিটবেল্ট, ভোট আর parity

গেট শুধু পরীক্ষার খাতার বিষয় নয়। চারপাশের অনেক যন্ত্রের ভেতরের যুক্তি আসলে কয়েকটি গেট। কয়েকটি উদাহরণ এক্সপ্রেশনসহ দেখুন:

🚨 নিরাপত্তা অ্যালার্ম

দোকানের অ্যালার্ম বাজবে যদি সিস্টেম “armed” (চালু) থাকে এবং দরজা অথবা জানালা খোলা হয়। A = armed, D = দরজা খোলা, W = জানালা খোলা: Y = A·(D + W) — একটি OR আর একটি AND.

AND + OR

🚗 গাড়ির সিটবেল্ট সতর্কবার্তা

বিপ বাজবে যদি গাড়ি চালু (I), সিটে মানুষ বসা (S), এবং বেল্ট বাঁধা নয় (B′)। Y = I·S·B′ — একটি NOT আর একটি ৩-ইনপুটের AND.

AND + NOT

🗳️ তিনজনের ভোট

তিন বিচারকের মধ্যে অন্তত দুজন “হ্যাঁ” দিলে ফল “হ্যাঁ”: Y = AB + BC + CA — তিনটি AND আর একটি ৩-ইনপুটের OR. একে বলে majority circuit.

AND + OR

🔐 parity, যোগ আর এনক্রিপশন

XOR দিয়ে parity bit (জোড়-বিজোড় যাচাই), দুটি bit যোগের “যোগফল” অংশ (পর্ব ২১-এ adder), আর সরল এনক্রিপশন: বার্তা ⊕ চাবি = গোপন লেখা, গোপন লেখা ⊕ একই চাবি = আবার বার্তা।

XOR

ভোটের সার্কিটটি একটু ভেঙে দেখুন। তিনটি AND প্রতিটি “জোড়া” ধরে — A ও B রাজি, B ও C রাজি, বা C ও A রাজি। যেকোনো একটি জোড়া রাজি হলেই OR আউটপুট 1 দেয়। ৮টি সারির মধ্যে ঠিক ৪টিতে Y = 1: 011, 101, 110, 111. গুরুত্বপূর্ণ যন্ত্রে (যেমন উড়োজাহাজ বা মহাকাশযানের নিয়ন্ত্রণে) তিনটি আলাদা কম্পিউটার একই হিসাব করে, আর এমন ভোটের সার্কিট সংখ্যাগরিষ্ঠের উত্তর নেয় — একটি কম্পিউটার ভুল করলেও ফল ঠিক থাকে।

XOR-এর এনক্রিপশন কৌশলটি একটি উদাহরণে: বার্তা 1011, চাবি 0110. 1011 ⊕ 0110 = 1101 (গোপন লেখা)। যে চাবি জানে, সে 1101 ⊕ 0110 = 1011 — আসল বার্তা ফেরত পায়। কারণ কোনো কিছুকে একই চাবি দিয়ে দুবার XOR করলে আগের অবস্থায় ফিরে আসে। আধুনিক এনক্রিপশনের (পর্ব ৪৪) ভেতরেও XOR সবচেয়ে বেশি ব্যবহৃত ক্রিয়াগুলোর একটি।

নিজে চালিয়ে দেখুন — ছোট্ট লজিক সিমুলেটর

নিচের কোডটি “Run” চাপলে একটি ছোট সিমুলেটর আঁকে: A আর B দুটি বোতাম, আর চারটি গেটের আউটপুট চারটি বাতি হিসেবে। বোতাম চেপে ইনপুট বদলান, কোন বাতি জ্বলে দেখুন। সাথে কোডটি নিজে থেকেই চার গেটের পুরো truth table লিখে দেয়।

const ops = {                                  // চারটি গেট = চারটি ছোট নিয়ম
  AND: (a, b) => a & b,   OR: (a, b) => a | b,
  XOR: (a, b) => a ^ b,   NAND: (a, b) => 1 - (a & b),
};
const inp = { A: 0, B: 0 };                     // দুটি সুইচ, শুরুতে খোলা
function draw() {                              // বোতাম আর বাতি নতুন করে আঁকা
  for (const k in inp) {
    document.getElementById(k).textContent = `${k} = ${inp[k]}`;
    document.getElementById(k).className = inp[k] ? 'on' : '';
  }
  document.getElementById('lamps').innerHTML = Object.keys(ops).map((g) => {
    const y = ops[g](inp.A, inp.B);
    return `<span class="lamp ${y ? 'on' : ''}">${g} = ${y}</span>`;
  }).join('');
}
for (const k in inp) document.getElementById(k).onclick = () => { inp[k] ^= 1; draw(); };
draw();
console.log('A B | AND OR XOR NAND');
for (const a of [0, 1]) for (const b of [0, 1])
  console.log(`${a} ${b} |  ${ops.AND(a, b)}   ${ops.OR(a, b)}   ${ops.XOR(a, b)}   ${ops.NAND(a, b)}`);

Run চাপলে আউটপুটে পাঁচ লাইন আসে: শিরোনাম A B | AND OR XOR NAND, তারপর চার সারি — 0 0 | 0 0 0 1, 0 1 | 0 1 1 1, 1 0 | 0 1 1 1, 1 1 | 1 1 0 0. ওপরের সাত-গেটের টেবিলের সাথে মিলিয়ে নিন। কোডে &, |, ^ হলো JavaScript-এর bitwise AND, OR আর XOR — CPU-র ভেতরে এগুলো সত্যিই লজিক গেট দিয়েই হিসাব হয়। NAND লেখা হয়েছে 1 - (a & b) দিয়ে, কারণ 0/1-এ “১ থেকে বিয়োগ” মানেই উল্টে দেওয়া (NOT). বোতাম চাপলে inp[k] ^= 1 — নিজের সাথে 1-এর XOR, অর্থাৎ 0 হলে 1, 1 হলে 0: XOR দিয়ে সুইচ টগল! শুরুতে A = B = 0, তাই শুধু NAND-এর বাতি জ্বলে থাকে।

পরীক্ষা ও ইন্টারভিউতে — এ ধরনের প্রশ্ন প্রায়ই আসে:

  • Universal gate কোনগুলো, কেন? NAND আর NOR — কারণ শুধু এদের যেকোনো একটি দিয়েই NOT, AND, OR, অর্থাৎ সব সার্কিট বানানো যায়।
  • XOR-এর truth table? 00 → 0, 01 → 1, 10 → 1, 11 → 0; ইনপুট আলাদা হলে 1. এক্সপ্রেশন A·B′ + A′·B.
  • NAND গেট কোন দুটি গেটের সমন্বয়? AND-এর পরে NOT; Y = (A·B)′, সব ইনপুট 1 হলে তবেই 0.
  • প্রদত্ত সার্কিটের আউটপুট কত? প্রতিটি গেটের আউটপুট তারে লিখে বাঁ থেকে ডানে এগোন; যেমন Y = (A·B) + C′-তে A = 1, B = 0, C = 1 দিলে Y = 0.
  • NAND দিয়ে OR বানাতে কয়টি গেট? ৩টি (দুটি NOT হিসেবে, একটি শেষে)। আর NOR দিয়ে AND বানাতেও ৩টি।

আরও গভীরে: এই পর্বে প্রতিটি গেটকে “কালো বাক্স” ধরে কাজ করেছি। কোন ট্রানজিস্টর কোথায় বসে কীভাবে CMOS NAND গঠন করে, Karnaugh map দিয়ে কীভাবে কম গেটে একই সার্কিট বানানো যায়, আর NAND-NOR দিয়ে বড় নকশা কীভাবে রূপান্তর হয় — সব আছে আমাদের Computer Architecture & Digital Logic কোর্সে। শুরু করতে পারেন সেখানকার universal gate পর্বটি দিয়ে।

৮ · AI-এর যুগে — সার্কিট যাচাই করুন truth table দিয়ে

AI চ্যাটবট লজিক গেট খুব সুন্দর করে ব্যাখ্যা করতে পারে, আর “Y = AB + C′-এর সার্কিট আঁকো” বললে বর্ণনাও দেয়। কিন্তু অভিজ্ঞতা বলে, এই বিষয়ে AI-এর ভুল খুব “আত্মবিশ্বাসী” দেখায় — বিশেষ করে ছবি, গেট গোনা আর বড় truth table-এ। কারণ AI আসলে হিসাব চালায় না, লেখার ধাঁচ অনুমান করে; আর ASCII বা টেক্সটে আঁকা সার্কিটে একটি তার ভুল জায়গায় গেলেই পুরো অর্থ বদলে যায়।

AI-এর সাধারণ ভুলকীভাবে ধরবেন
XOR আর XNOR, বা NAND আর NOR-এর truth table গুলিয়ে ফেলাশুধু 11 সারিটি দেখুন: XOR = 0, XNOR = 1; NAND আর NOR দুটিই 0, তাই এ দুটি আলাদা করতে 01 বা 10 সারি দেখুন: NAND = 1, NOR = 0
“NAND দিয়ে OR-এ ২টি গেট লাগে” — গেটের সংখ্যা ভুলনিজে এঁকে গুনুন: NAND দিয়ে NOT ১, AND ২, OR ৩; NOR দিয়ে NOT ১, OR ২, AND ৩
৩-ইনপুটের truth table-এ সারি বাদ পড়া বা দুবার আসাসারি গুনুন — 23 = ৮টি হতেই হবে, বাইনারি ক্রমে 000 থেকে 111
ছবি বা টেক্সট-ডায়াগ্রামে ভুল গেট বা ভুল তার, অথচ লেখায় ঠিক এক্সপ্রেশনছবি থেকে আবার এক্সপ্রেশন লিখে মূল এক্সপ্রেশনের সাথে মেলান
ডি মরগান প্রয়োগে দাগ (′) ভুল জায়গায় বসানোসরলীকরণের আগে-পরে দুই এক্সপ্রেশনের truth table মিলিয়ে দেখুন

যাচাইয়ের সবচেয়ে ভালো বন্ধু একটি লজিক সিমুলেটর. দুটি বিনা মূল্যের পরিচিত টুল: Logisim Evolution (কম্পিউটারে ইনস্টল করে চালাতে হয়, ওপেন সোর্স) আর CircuitVerse (ব্রাউজারেই চলে, অ্যাকাউন্ট খুলে সার্কিট সেভ করা যায়)। দুটিতেই গেট টেনে এনে তার জুড়ে ইনপুট বদলে আউটপুট দেখা যায়, আর অনেক ক্ষেত্রে truth table-ও নিজে থেকে তৈরি হয়।

নিচের prompt-টি কপি করে নিজের এক্সপ্রেশন বসিয়ে ব্যবহার করুন। খেয়াল করুন, AI-কে শুধু উত্তর নয়, যাচাইযোগ্য ধাপ দিতে বলা হয়েছে:

আমি HSC ICT-র লজিক গেট অধ্যায় পড়ছি। এক্সপ্রেশন: Y = [এখানে এক্সপ্রেশন লেখো, যেমন A·B + C′]. ১. কোন কোন গেট লাগবে, কয়টি করে — তালিকা দাও। প্রতিটি গেটের আউটপুট তারের একটা নাম দাও (P, Q, R…). ২. বাঁ থেকে ডানে কোন গেটের ইনপুট কোথা থেকে আসছে, ধাপে ধাপে লেখো (ছবি আঁকার দরকার নেই)। ৩. সব ইনপুট-সমন্বয়ের পূর্ণ truth table দাও — সারিগুলো বাইনারি ক্রমে, মাঝের তার P, Q-এর মানসহ। ৪. একই সার্কিট শুধু NAND গেট দিয়ে বানাতে কয়টি গেট লাগবে, হিসাবসহ বলো। ৫. কোথাও অনিশ্চিত হলে স্পষ্ট করে বলো; অনুমানকে নিশ্চিত তথ্য হিসেবে লিখবে না।

AI-এর উত্তর হাতে পেলে — যাচাইয়ের চেকলিস্ট

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিয়ে নিজে কিছুক্ষণ ভাবুন — তারপর “→ উত্তর” চাপুন। গেটের ইতিহাস আর পদার্থবিজ্ঞানের এই গল্পগুলো একটি সাধারণ AND গেটকেও নতুন চোখে দেখাবে।

প্র ০১রিলে থেকে ভ্যাকুয়াম টিউব, ট্রানজিস্টর হয়ে IC — লজিক গেটের “শরীর” বারবার বদলেছে। কিন্তু যুক্তিটি কেন বদলায়নি?

১৯৩৭ সালে MIT-র তরুণ ছাত্র Claude Shannon তাঁর মাস্টার্স থিসিসে (“A Symbolic Analysis of Relay and Switching Circuits”, প্রকাশ ১৯৩৮) একটি সরল কিন্তু বিপ্লবী কথা দেখান: টেলিফোন এক্সচেঞ্জের রিলে-সুইচের যেকোনো জটিল সার্কিটকে George Boole-এর আশি বছরেরও বেশি পুরোনো অ্যালজেব্রা দিয়ে লেখা আর সরল করা যায় — সিরিজ মানে AND, প্যারালাল মানে OR. অনেকে একে বিংশ শতাব্দীর সবচেয়ে গুরুত্বপূর্ণ মাস্টার্স থিসিস বলেন। প্রায় একই সময়ে জার্মানিতে Konrad Zuse নিজের উদ্যোগে রিলে দিয়ে কম্পিউটার বানাচ্ছিলেন; ১৯৪১ সালে তাঁর Z3 দুই হাজারেরও বেশি রিলে দিয়ে বাইনারিতে হিসাব করত।

রিলে ছিল যান্ত্রিক — ভেতরে চুম্বক টেনে ধাতব পাত নাড়ায়, খটখট শব্দ হয়, সেকেন্ডে বড়জোর কয়েকশো বার বদলায়। তারপর এল ভ্যাকুয়াম টিউব: কোনো নড়ার অংশ নেই, ইলেকট্রনের প্রবাহ নিয়ন্ত্রণ করে হাজার গুণ দ্রুত। ১৯৪৫ সালে চালু ENIAC-এ প্রায় ১৮,০০০ টিউব ছিল — কিন্তু টিউব গরম হতো, বাল্বের মতো ফিউজ হতো, আর পুরো ঘর জুড়ে বসত।

১৯৪৭ সালের ডিসেম্বরে Bell Labs-এ John Bardeen, Walter Brattain আর William Shockley-র দল প্রথম ট্রানজিস্টর দেখান — ছোট, ঠান্ডা, টেকসই। তারপর ১৯৫৮ সালে Texas Instruments-এ Jack Kilby একটি টুকরোর ওপর কয়েকটি উপাদান একসাথে বানিয়ে প্রথম IC দেখান, আর ১৯৫৯ সালে Fairchild-এ Robert Noyce সিলিকনের ওপর সমতল (planar) পদ্ধতিতে IC তৈরির নকশা দেন, যা ব্যাপক উৎপাদনের পথ খুলে দেয়। Kilby ২০০০ সালে পদার্থবিজ্ঞানে নোবেল পান।

প্রতিটি লাফে সুইচ ছোট, দ্রুত আর সস্তা হয়েছে — রিলের মিলিসেকেন্ড থেকে আজকের ট্রানজিস্টরের পিকোসেকেন্ডের ঘরে। কিন্তু গেটের truth table একটুও বদলায়নি: আজকের ফোনের AND গেট আর Z3-এর রিলে-AND একই চারটি সারি মানে। কারণ যুক্তি সুইচের উপাদানের ওপর নির্ভর করে না, নির্ভর করে শুধু দুটি অবস্থা আর তাদের জোড়ার নিয়মের ওপর। এই আলাদা করাটাকেই বলে abstraction — পর্ব ২৩-এর মূল বিষয়।

মূল উপলব্ধি: লজিক গেট একটি ধারণা, কোনো নির্দিষ্ট যন্ত্র নয়। যে জিনিস দুটি অবস্থায় থাকতে পারে আর একটি অন্যটিকে নিয়ন্ত্রণ করতে পারে — রিলে, টিউব, ট্রানজিস্টর, এমনকি আলো বা অণু — তা দিয়েই কম্পিউটার বানানো সম্ভব। এ কারণেই ভবিষ্যতের কম্পিউটার নতুন উপাদানে বানানো হলেও এই পর্বের বুলিয়ান যুক্তি পুরোনো হবে না।

প্র ০২পেনড্রাইভ আর SSD-র ভেতরের মেমরিকে “NAND flash” বলে। স্টোরেজের সাথে NAND গেটের কী সম্পর্ক?

Flash memory উদ্ভাবন করেন জাপানের Toshiba কোম্পানির প্রকৌশলী Fujio Masuoka ও তাঁর দল, ১৯৮০-র দশকের শুরুতে। তাঁরা দুটি নকশা দেখান — প্রথমে NOR flash, পরে (১৯৮৭ সালের দিকে) NAND flash. নাম দুটি এসেছে মেমরি-সেলগুলো কীভাবে তারে জোড়া, সেখান থেকে — আর সেই জোড়ার ধরন হুবহু NOR আর NAND গেটের ভেতরের ট্রানজিস্টরের মতো।

CMOS NAND গেটের ভেতরে আউটপুটকে 0-তে টানার ট্রানজিস্টরগুলো সিরিজে বসে — সবগুলো চালু হলে তবেই আউটপুট 0 (ঠিক সিরিজ সুইচ = AND, তারপর উল্টো)। NOR গেটে সেগুলো প্যারালালে — যেকোনো একটি চালু হলেই আউটপুট 0. Flash-এ প্রতিটি সেল আসলে বিশেষ ধরনের একটি ট্রানজিস্টর, যার ভেতরে চার্জ আটকে রেখে 0/1 মনে রাখা হয়। NOR flash-এ সেলগুলো প্যারালালে জোড়া — প্রতিটি সেল আলাদাভাবে সরাসরি পড়া যায়, দ্রুত random access; তাই একসময় ফোন আর যন্ত্রের firmware রাখতে NOR flash জনপ্রিয় ছিল। NAND flash-এ অনেকগুলো সেল একটি শিকলের মতো সিরিজে জোড়া — প্রতিটি সেলের আলাদা সংযোগ লাগে না, তাই একই জায়গায় অনেক বেশি সেল আঁটে, দামও কম।

বিনিময়ে NAND flash একটি একটি byte করে পড়া যায় না, পড়তে হয় page ধরে (কয়েক KB), আর মুছতে হয় আরও বড় block ধরে — পর্ব ০৪-এ SSD-র ক্ষয় আর wear levelling-এর গল্পে যা দেখেছেন। ফাইল রাখার জন্য এটি কোনো সমস্যা নয়, কারণ ফাইল এমনিতেই বড় টুকরোয় পড়া-লেখা হয়। তাই ধারণক্ষমতা আর দামের প্রতিযোগিতায় NAND জিতে গেছে: আজকের SSD, পেনড্রাইভ, মেমরি কার্ড আর ফোনের স্টোরেজ সবই NAND flash, আর সেলগুলো এখন কয়েকশো তলা উঁচু “3D NAND” দালানে সাজানো।

লক্ষ করুন, NAND flash নিজে কোনো NAND “গেট” দিয়ে হিসাব করে না — নামটি এসেছে সেলের সাজানোর ধরন থেকে। কিন্তু সেই সাজানোর পেছনের যুক্তি ঠিক এই পর্বের: সিরিজ মানে “সবাইকে রাজি থাকতে হবে”, প্যারালাল মানে “যেকোনো একজন হলেই হবে”।

মূল উপলব্ধি: সিরিজ আর প্যারালাল — এই দুটি সরল নকশা-সিদ্ধান্ত শুধু গেটের আচরণ নয়, একটি পুরো শিল্পের অর্থনীতিও ঠিক করে দিয়েছে। প্রকৌশলে প্রায়ই সবচেয়ে বড় পার্থক্য আসে উপাদান নয়, উপাদান জোড়ার ধরন থেকে।

প্র ০৩চাঁদে মানুষ নেওয়া Apollo মহাকাশযানের কম্পিউটার নাকি প্রায় পুরোটাই একটিমাত্র ধরনের গেট দিয়ে তৈরি ছিল। কেন এমন সিদ্ধান্ত?

Apollo Guidance Computer (AGC) নকশা করে MIT-র Instrumentation Laboratory, ১৯৬০-এর দশকে। তখন IC একেবারে নতুন প্রযুক্তি — দামি, আর নির্ভরযোগ্যতা নিয়ে অনেকের সন্দেহ। তবুও দলটি সাহসী সিদ্ধান্ত নেয়: কম্পিউটারটি বানানো হবে IC দিয়ে। আর সব যুক্তি তৈরি হবে একটিমাত্র ধরনের IC দিয়ে — ৩-ইনপুটের NOR গেট। চাঁদে যাওয়া পরের সংস্করণে (Block II) প্রতিটি ছোট চিপে ছিল দুটি ৩-ইনপুট NOR গেট, আর এমন প্রায় ২,৮০০টি চিপ মিলে পুরো কম্পিউটারের যুক্তি তৈরি হয়েছিল।

কেন শুধু NOR? প্রথমত, NOR একটি universal gate — এই পর্বেই দেখেছেন, শুধু NOR দিয়ে NOT, OR, AND সব বানানো যায়, তাই যোগ-বিয়োগ থেকে মেমরির নিয়ন্ত্রণ পর্যন্ত সব সম্ভব। দ্বিতীয়ত, নির্ভরযোগ্যতা: একটিমাত্র ধরনের চিপ হলে সেটিকেই হাজারবার পরীক্ষা করা যায়, প্রতিটি ব্যাচ খুঁটিয়ে দেখা যায়, আর কোন চিপ কীভাবে নষ্ট হয় তা নিখুঁতভাবে বোঝা যায়। দশ রকম চিপের জন্য দশ রকম পরীক্ষা লাগত। তৃতীয়ত, সরবরাহ: একই চিপ বিপুল পরিমাণে কেনায় দাম কমে, মান স্থির থাকে। বলা হয়, ১৯৬০-এর দশকের শুরুর দিকে যুক্তরাষ্ট্রে তৈরি IC-র একটি বড় অংশ কিনেছিল Apollo প্রকল্প — এই চাহিদা সেই সময়ের তরুণ IC শিল্পকে দাঁড়াতে সাহায্য করে।

বিনিময়ে কিছু অপচয় মেনে নিতে হয়েছিল: একটি AND বানাতে যেখানে একটি AND গেটই যথেষ্ট, সেখানে NOR দিয়ে লেগেছে একাধিক গেট। কিন্তু মহাকাশে যেখানে মেরামতের কোনো সুযোগ নেই, সেখানে “একটু বেশি গেট, কিন্তু নিশ্চিত কাজ” অনেক ভালো চুক্তি। AGC-র প্রোগ্রাম রাখা হয়েছিল হাতে বোনা “core rope” মেমরিতে (পর্ব ০৪-এর ভাবনার প্রশ্নে যার কথা এসেছে), আর Margaret Hamilton-এর নেতৃত্বে লেখা সফটওয়্যার Apollo 11-এর অবতরণের সময় অতিরিক্ত কাজের চাপ সামলে গুরুত্বপূর্ণ কাজগুলো চালু রেখেছিল।

মূল উপলব্ধি: universal gate শুধু পরীক্ষার তত্ত্ব নয় — বাস্তবে “কম ধরনের উপাদান” মানে সহজ পরীক্ষা, সহজ সরবরাহ, বেশি নির্ভরযোগ্যতা। আজকের চিপ-নকশাতেও একই চিন্তা চলে: অল্প কয়েক ধরনের প্রমাণিত cell দিয়ে কোটি গেটের নকশা।

প্র ০৪কম্পিউটার গরম হয় কেন? একটি bit মুছে ফেলারও কি ন্যূনতম শক্তি-খরচ আছে? (একটু উচ্চতর)

আজকের চিপ গরম হওয়ার মূল কারণ ব্যবহারিক: প্রতিবার গেট 0 থেকে 1-এ বা 1 থেকে 0-তে বদলালে ছোট ছোট তারের ধারকত্ব (capacitance) ভরতে আর খালি করতে হয়, আর ট্রানজিস্টর বন্ধ থাকলেও সামান্য বিদ্যুৎ চুইয়ে যায়। কোটি কোটি গেট সেকেন্ডে কোটি কোটি বার বদলালে এই সামান্য খরচগুলো যোগ হয়ে ল্যাপটপের তলা গরম করে দেয়।

কিন্তু একটি গভীরতর প্রশ্ন আছে: ধরুন একদিন নিখুঁত, ক্ষতিহীন ট্রানজিস্টর বানানো গেল। তখন কি গণনা সম্পূর্ণ বিনা খরচে হবে? ১৯৬১ সালে IBM-এর পদার্থবিজ্ঞানী Rolf Landauer দেখান — না, অন্তত একটি ক্ষেত্রে নয়। তাঁর যুক্তি, যা আজ Landauer’s principle নামে পরিচিত: তথ্য মুছে ফেলা একটি ভৌত কাজ, আর একটি bit মুছতে ন্যূনতম kT ln 2 পরিমাণ শক্তি তাপ হয়ে পরিবেশে যাবেই (k = Boltzmann ধ্রুবক, T = তাপমাত্রা)। ঘরের তাপমাত্রায় এটি প্রায় 3 × 10−21 জুল — কল্পনাতীত রকমের ছোট। আজকের চিপ প্রতি ক্রিয়ায় এর চেয়ে বহু হাজার গুণ বেশি শক্তি খরচ করে, তাই এই সীমা এখনো ব্যবহারিক বাধা নয়। তবে ২০১২ সালে ফ্রান্সের একদল গবেষক একটি ক্ষুদ্র কণা দিয়ে পরীক্ষাগারে এই সীমার কাছাকাছি তাপ মেপে নীতিটির পক্ষে প্রমাণ দেন।

এর সাথে লজিক গেটের সম্পর্ক কোথায়? দেখুন AND গেট: আউটপুট 0 পেলে আপনি বলতে পারবেন না ইনপুট 00, 01 না 10 ছিল — তথ্য হারিয়ে গেছে। অর্থাৎ AND, OR, NAND-এর মতো সাধারণ গেট “অপরিবর্তনীয়” (irreversible) — প্রতিটি ক্রিয়ায় কিছু তথ্য মোছা হয়। ১৯৭৩ সালে Charles Bennett দেখান, নীতিগতভাবে এমনভাবে গণনা করা সম্ভব যাতে কোনো তথ্য মোছাই হয় না — reversible computing. পরে Tommaso Toffoli আর Edward Fredkin এমন গেট প্রস্তাব করেন (Toffoli gate, Fredkin gate), যাদের আউটপুট থেকে ইনপুট সবসময় ফেরত পাওয়া যায়, আর যারা একাই যেকোনো গণনা করতে পারে — এক অর্থে reversible জগতের universal gate.

এই চিন্তা এখনো মূলত গবেষণার পর্যায়ে; বাস্তব চিপে বড় খরচগুলো অন্য জায়গায়। কিন্তু ডেটা সেন্টারের বিদ্যুৎ-খরচ যখন বিশাল সমস্যা, তখন “গণনার শক্তির চূড়ান্ত সীমা কোথায়” — প্রশ্নটি নিছক তাত্ত্বিক নয়।

মূল উপলব্ধি: তথ্য বিমূর্ত মনে হলেও তা পদার্থবিজ্ঞানের নিয়মের বাইরে নয়। একটি সাধারণ AND গেটও তথ্য “ভুলে যায়”, আর ভুলে যাওয়ার একটি ন্যূনতম শক্তি-মূল্য আছে — যা তাপগতিবিদ্যাকে কম্পিউটার বিজ্ঞানের সাথে জুড়ে দিয়েছে।

প্র ০৫কোয়ান্টাম কম্পিউটারেও “গেট” আছে বলে শোনা যায়। সেগুলো কি আমাদের AND-OR-এর মতোই?

নামে মিল আছে, স্বভাবে অনেক পার্থক্য। সাধারণ কম্পিউটারের bit সবসময় হয় 0, নয় 1. কোয়ান্টাম কম্পিউটারের মৌলিক একক qubit মাপার আগ পর্যন্ত 0 আর 1-এর একটি “মিশ্রণ” (superposition) অবস্থায় থাকতে পারে — প্রতিটির একটি সম্ভাবনা-বিস্তার (amplitude) নিয়ে। মাপলে অবশ্য একটি নির্দিষ্ট 0 বা 1-ই পাওয়া যায়। Quantum gate হলো এই qubit-এর অবস্থা বদলানোর মৌলিক ক্রিয়া।

কয়েকটি পরিচিত quantum gate: X gate — qubit-কে উল্টে দেয়, আমাদের NOT-এর কোয়ান্টাম আত্মীয়। Hadamard (H) gate — নিশ্চিত 0-কে 0 আর 1-এর সমান মিশ্রণে নিয়ে যায়; এর কোনো সাধারণ-গেট সমতুল্য নেই। CNOT (controlled-NOT) — দুটি qubit নেয়; প্রথমটি (control) 1 হলে দ্বিতীয়টিকে উল্টে দেয়। সাধারণ 0/1 ইনপুটে CNOT-এর দ্বিতীয় আউটপুট হুবহু A ⊕ B — অর্থাৎ XOR! পার্থক্য হলো, CNOT প্রথম ইনপুটটিও আউটপুটে রেখে দেয়, তাই কিছু মোছা হয় না।

এখানেই সবচেয়ে বড় পার্থক্য: পদার্থবিজ্ঞানের নিয়ম অনুযায়ী প্রতিটি quantum gate reversible — আউটপুট থেকে ইনপুট ফেরত পাওয়া যায় (আগের প্রশ্নের Landauer-এর আলোচনা মনে করুন)। তাই সাধারণ AND গেট সরাসরি কোয়ান্টাম সার্কিটে বসানো যায় না, কারণ AND তথ্য হারায়। এর বদলে Toffoli gate-এর মতো reversible গেট দিয়ে AND-এর কাজ করানো হয়, বাড়তি একটি qubit-এ ফল রেখে।

আর একটি ভুল ধারণা দূর করা দরকার: কোয়ান্টাম কম্পিউটার “সব কাজ একসাথে করে সব কিছু দ্রুত” — এমন নয়। শুধু কিছু বিশেষ ধরনের সমস্যায় (যেমন বড় সংখ্যার উৎপাদক বের করা, কিছু রাসায়নিক অণুর আচরণ হিসাব) জানা অ্যালগরিদম সাধারণ কম্পিউটারের চেয়ে মৌলিকভাবে দ্রুত। ব্রাউজিং বা Word চালাতে এর কোনো সুবিধা নেই। আর আজকের কোয়ান্টাম যন্ত্রগুলো এখনো ছোট, অত্যন্ত ঠান্ডা পরিবেশ লাগে, আর গোলমালে (noise) সহজে ভুল করে। মজার ব্যাপার, এই যন্ত্রগুলো চালাতেও পাশে সাধারণ কম্পিউটার — অর্থাৎ সাধারণ লজিক গেট — লাগে।

মূল উপলব্ধি: “গেট” মানে একটি সুনির্দিষ্ট, বারবার জোড়া যায় এমন মৌলিক ক্রিয়া — এই ধারণাটি এত শক্তিশালী যে কোয়ান্টাম জগতেও তা টিকে আছে। তবে গেটের নিয়ম বদলালে (reversible, সম্ভাবনা-ভিত্তিক) কোন সমস্যা সহজ আর কোনটি কঠিন, সেই মানচিত্রও বদলে যায়।

অনুশীলন

খাতা-কলম নিন — প্রথম তিনটি পাঠ্যবইয়ের ধাঁচের অনুশীলন। শেষটিতে ওপরের সিমুলেটরের কোড একটু বদলাতে হবে।

  1. এক্সপ্রেশন থেকে সার্কিট: Y = (A + B)·C′-এর লজিক সার্কিট আঁকুন (কোন কোন গেট, কোন তার কোথায় যাবে লিখুন)। তারপর পূর্ণ truth table তৈরি করে বলুন, কোন কোন সারিতে Y = 1.

    গেট লাগবে তিনটি: একটি OR (ইনপুট A, B; আউটপুট P = A + B), একটি NOT (ইনপুট C; আউটপুট Q = C′), আর একটি AND (ইনপুট P, Q; আউটপুট Y). ছবি ২০.৪-এর মতোই, শুধু প্রথম গেট AND-এর বদলে OR, আর শেষ গেট OR-এর বদলে AND.

    Y = 1 হতে হলে দুটি শর্ত একসাথে: C = 0 (তাহলে Q = 1) এবং A, B-এর অন্তত একটি 1 (তাহলে P = 1). ৮টি সারির মধ্যে এমন সারি ৩টি: ABC = 010, 100, 110. বাকি ৫টিতে Y = 0. যাচাই: 110 সারিতে P = 1 + 1 = 1, Q = 0′ = 1, Y = 1·1 = 1 ✓.

  2. সার্কিট থেকে এক্সপ্রেশন: একটি সার্কিটে A আর B একটি NAND গেটে যায়। সেই NAND-এর আউটপুট আর C একটি NOR গেটে যায়, যার আউটপুট Y. Y-এর এক্সপ্রেশন লিখুন, সরল করুন, আর বলুন কোন ইনপুটে Y = 1.

    NAND-এর আউটপুট P = (A·B)′. NOR-এর আউটপুট Y = (P + C)′ = ((A·B)′ + C)′.

    ডি মরগান প্রয়োগ করুন (পর্ব ১৯): (X + Y)′ = X′·Y′. তাই Y = ((A·B)′)′ · C′ = A·B·C′. অর্থাৎ Y = 1 শুধু একটি সারিতে: A = 1, B = 1, C = 0. যাচাই: এই সারিতে P = (1·1)′ = 0, তারপর Y = (0 + 0)′ = 1 ✓. অন্য যেকোনো সারিতে, যেমন 111-এ, P = 0 কিন্তু C = 1, তাই Y = (0 + 1)′ = 0.

  3. শুধু NAND দিয়ে XOR: মাত্র ৪টি NAND গেট দিয়ে XOR বানানো যায়। প্রথম গেট P = (A·B)′. বাকি তিনটি গেট কীভাবে জুড়বেন? A = 1, B = 0 ইনপুটে প্রতিটি গেটের আউটপুট লিখে যাচাই করুন।

    প্রচলিত নকশা: গেট ১: P = (A·B)′. গেট ২: Q = (A·P)′. গেট ৩: R = (B·P)′. গেট ৪: Y = (Q·R)′.

    A = 1, B = 0 দিলে: P = (1·0)′ = 1; Q = (1·1)′ = 0; R = (0·1)′ = 1; Y = (0·1)′ = 1 ✓ (XOR-এ 10 → 1). আরেকটি সারি, A = 1, B = 1: P = 0; Q = (1·0)′ = 1; R = (1·0)′ = 1; Y = (1·1)′ = 0 ✓. চারটি সারিই মিলিয়ে নিলে নিশ্চিত হবেন। আগের অংশের AND/OR/NOT নকশায় লেগেছিল ৫টি গেট — NAND-এ ৪টিতেই হলো।

  4. সিমুলেটর বাড়ান: ওপরের JavaScript সিমুলেটরে NOR আর XNOR গেট যোগ করুন, যাতে আরও দুটি বাতি দেখা যায়। truth table-এর লাইনেও কলাম দুটি যোগ করুন। Run চেপে মিলিয়ে দেখুন: NOR কলাম 1, 0, 0, 0 আর XNOR কলাম 1, 0, 0, 1 আসছে কি না।

    ops-এর ভেতরে দুটি নতুন নিয়ম যোগ করুন: NOR: (a, b) => 1 - (a | b) আর XNOR: (a, b) => 1 - (a ^ b). বাতিগুলো Object.keys(ops) থেকে তৈরি হয়, তাই দুটি নতুন বাতি নিজে থেকেই দেখা যাবে — কোডের ভালো নকশার সুবিধা। শুধু শেষের console.log দুটিতে কলামের নাম আর ${ops.NOR(a, b)}, ${ops.XNOR(a, b)} যোগ করতে হবে। শুরুতে A = B = 0 থাকায় এবার NAND, NOR আর XNOR — তিনটি বাতি জ্বলবে।

নিজেকে যাচাই করুন

ভুল হলে কারণসহ ব্যাখ্যা পাবেন, আবার চেষ্টাও করতে পারবেন।

ক্রমলজিক গেট তৈরির প্রযুক্তি — পুরোনো থেকে নতুন সাজান (▲▼ চেপে সরান)

  1. 🔌 রিলে-সুইচ (Shannon-এর থিসিস, ১৯৩৭; Zuse-এর Z3)
  2. 💡 ভ্যাকুয়াম টিউব (ENIAC, ১৯৪৫)
  3. 🔬 ট্রানজিস্টর (Bell Labs, ১৯৪৭)
  4. 🧩 Integrated circuit (Kilby ১৯৫৮, Noyce ১৯৫৯)
  5. 🖥️ এক চিপে পুরো CPU — মাইক্রোপ্রসেসর (১৯৭১)

কোন গেটের আউটপুট 1 হয় শুধু তখন, যখন সব ইনপুট 1?

  • AND
  • OR
  • NAND
  • XOR

কোন দুটি গেটকে universal gate বলা হয়?

  • AND ও OR
  • XOR ও XNOR
  • NAND ও NOR
  • NOT ও AND

একটি XOR গেটের দুই ইনপুটেই 1 দিলে আউটপুট কত?

  • 1
  • 0
  • 2
  • অনির্দিষ্ট

Y = (A·B) + C′ সার্কিটে A = 1, B = 0, C = 1 দিলে Y কত?

  • 1
  • ইনপুট যথেষ্ট নয়
  • 0 অথবা 1, দুটোই হতে পারে
  • 0

শুধু NAND গেট ব্যবহার করে একটি OR গেট বানাতে ন্যূনতম কয়টি NAND লাগে?

  • ১টি
  • ২টি
  • ৩টি
  • ৪টি

7404 নম্বরের প্রচলিত লজিক IC-র ভেতরে কী থাকে?

  • চারটি NAND গেট
  • ছয়টি NOT গেট
  • চারটি AND গেট
  • চারটি OR গেট

শব্দকোষ

লেখার মধ্যে ডটেড দাগ দেওয়া শব্দে মাউস রাখুন বা চাপুন — অর্থ দেখাবে। এই পর্বের সব নতুন শব্দ এখানে একসাথে:

মনে রাখুন

  1. লজিক গেট = ট্রানজিস্টর-সুইচে তৈরি ছোট সার্কিট, যা একটি বুলিয়ান ক্রিয়া করে; ভোল্টেজের Low/High-ই 0/1.
  2. AND (সব 1 → 1, সিরিজ), OR (কোনো 1 → 1, প্যারালাল), NOT (উল্টো); মুখের বৃত্ত মানে উল্টে দেওয়া।
  3. NAND/NOR = AND/OR-এর উল্টো; XOR = আলাদা হলে 1 (বিজোড় সংখ্যক 1), XNOR = সমান হলে 1.
  4. Universal gate: NAND দিয়ে NOT ১, AND ২, OR ৩টি গেট; NOR দিয়ে NOT ১, OR ২, AND ৩টি। CMOS-এ NAND সস্তা ও দ্রুত।
  5. এক্সপ্রেশন ↔ সার্কিট রূপান্তরে মাঝের তারের নাম লিখুন, আর সবশেষে পূর্ণ truth table মিলিয়ে যাচাই করুন — AI-এর উত্তরও।

পরের পর্বে: গেট তো চিনলেন — এবার সেগুলো জুড়ে কাজের যন্ত্র বানানোর পালা। দুটি bit যোগ করার half adder আর full adder, অনেক তারের মধ্যে একটি বেছে নেওয়ার multiplexer, আর encoder-decoder — সব তৈরি হবে এই পর্বের গেট দিয়েই।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

এই পর্বটি শেয়ার করুন:
এই পর্বে ভুল পেয়েছেন? জানান