লজিক গেট এবং ডিজিটাল সার্কিট ব্যাখ্যা

← Back

মৌলিক লজিক গেট

লজিক গেটগুলি ডিজিটাল ইলেকট্রনিক্সের মৌলিক বিল্ডিং ব্লক। এগুলি এমন ভৌত ডিভাইস যা বুলিয়ান ফাংশন প্রয়োগ করে, একটি বা একাধিক বাইনারি ইনপুট গ্রহণ করে এবং একটি একক বাইনারি আউটপুট তৈরি করে। সরল সুইচ থেকে জটিল মাইক্রোপ্রসেসর পর্যন্ত প্রতিটি ডিজিটাল সার্কিট এই মৌলিক গেটের সমন্বয় থেকে তৈরি। লজিক গেট বোঝা কম্পিউটার বিজ্ঞান, ইলেকট্রিক্যাল ইঞ্জিনিয়ারিং, বা ডিজিটাল ইলেকট্রনিক্সে কাজ করা যে কারও জন্য অপরিহার্য।

AND গেট

AND গেট শুধুমাত্র তখনই একটি HIGH (1) আউটপুট তৈরি করে যখন এর সমস্ত ইনপুট HIGH থাকে। যদি কোন ইনপুট LOW (0) হয়, তাহলে আউটপুট LOW হয়। এটি লজিক্যাল কনজাংশন অপারেশন প্রয়োগ করে। দুই-ইনপুট AND গেটের জন্য বুলিয়ান এক্সপ্রেশন হল Y = A ∧ B বা Y = A · B। AND গেটগুলি এমন সার্কিটে ব্যবহৃত হয় যেখানে একসাথে একাধিক শর্ত পূরণ করতে হয়, যেমন মাল্টিপল অথেন্টিকেশন ফ্যাক্টর প্রয়োজন হয় এমন নিরাপত্তা ব্যবস্থা বা সকল নিরাপত্তা শর্ত পূরণ করতে হয় এমন কন্ট্রোল সিস্টেম।

OR গেট

OR গেট একটি HIGH (1) আউটপুট তৈরি করে যখন এর ইনপুটগুলির মধ্যে অন্তত একটি HIGH থাকে। আউটপুট শুধুমাত্র তখনই LOW হয় যখন সমস্ত ইনপুট LOW থাকে। এটি লজিক্যাল ডিসজাংশন অপারেশন প্রয়োগ করে। দুই-ইনপুট OR গেটের জন্য বুলিয়ান এক্সপ্রেশন হল Y = A ∨ B বা Y = A + B। OR গেটগুলি সাধারণত এলার্ম সিস্টেমে ব্যবহৃত হয় যেখানে একাধিক সেন্সরের যেকোনো একটি সতর্কতা ট্রিগার করতে পারে, বা ভোটিং সার্কিটে যেখানে যেকোনো বিকল্প নির্বাচন করা হলে একটি আউটপুট তৈরি হয়।

NOT গেট (ইনভার্টার)

NOT গেট, যাকে ইনভার্টারও বলা হয়, একটি একক ইনপুট আছে এবং বিপরীত আউটপুট তৈরি করে। যদি ইনপুট HIGH (1) হয়, তাহলে আউটপুট LOW (0) হয় এবং তদ্বিপরীত। এটি লজিক্যাল নেগেশন অপারেশন প্রয়োগ করে। বুলিয়ান এক্সপ্রেশন হল Y = ¬A বা Y = A'। NOT গেট হল সবচেয়ে সরল লজিক গেট এবং এটি কমপ্লিমেন্টারি সিগন্যাল তৈরি করতে, অ্যাক্টিভ-লো লজিক প্রয়োগ করতে এবং NAND এবং NOR এর মতো আরও জটিল গেট তৈরি করতে অপরিহার্য।

NAND গেট (ইউনিভার্সাল গেট)

NAND (NOT-AND) গেট হল একটি AND গেটের পরে একটি NOT গেট। এটি শুধুমাত্র তখনই একটি LOW আউটপুট তৈরি করে যখন সমস্ত ইনপুট HIGH থাকে; অন্যথায়, আউটপুট HIGH হয়। বুলিয়ান এক্সপ্রেশন হল Y = ¬(A ∧ B)। NAND কে ইউনিভার্সাল গেট বলা হয় কারণ শুধুমাত্র NAND গেট ব্যবহার করে অন্য যেকোনো লজিক গেট বা বুলিয়ান ফাংশন তৈরি করা যায়। এই বৈশিষ্ট্য NAND গেটকে ব্যবহারিক সার্কিট ডিজাইনে অত্যন্ত গুরুত্বপূর্ণ করে তোলে, কারণ সম্পূর্ণ সিস্টেম একক গেট টাইপ থেকে তৈরি করা যায়, যা ম্যানুফ্যাকচারিং সহজ করে এবং খরচ কমায়।

NOR গেট (ইউনিভার্সাল গেট)

NOR (NOT-OR) গেট হল একটি OR গেটের পরে একটি NOT গেট। এটি শুধুমাত্র তখনই একটি HIGH আউটপুট তৈরি করে যখন সমস্ত ইনপুট LOW থাকে; অন্যথায়, আউটপুট LOW হয়। বুলিয়ান এক্সপ্রেশন হল Y = ¬(A ∨ B)। NAND এর মতো, NOR ও একটি ইউনিভার্সাল গেট যা যেকোনো বুলিয়ান ফাংশন প্রয়োগ করতে সক্ষম। NOR গেটগুলি বিশেষভাবে নির্দিষ্ট ধরনের মেমরি সেল (SR ল্যাচ) এবং অ্যাক্টিভ-লো লজিক পছন্দনীয় এমন সার্কিটে উপযোগী। NOR গেটের সার্বজনীনতা ডিজাইনারদের সার্কিট প্রয়োগের ক্ষেত্রে নমনীয়তা প্রদান করে।

XOR গেট (এক্সক্লুসিভ OR)

XOR (এক্সক্লুসিভ OR) গেট একটি HIGH আউটপুট তৈরি করে যখন বিজোড় সংখ্যক ইনপুট HIGH থাকে। দুই ইনপুটের জন্য, এটি HIGH আউটপুট দেয় যখন ইনপুটগুলি ভিন্ন হয় এবং LOW দেয় যখন তারা একই হয়। বুলিয়ান এক্সপ্রেশন হল Y = A ⊕ B = (A ∧ ¬B) ∨ (¬A ∧ B)। XOR গেটগুলি অ্যারিথমেটিক সার্কিটে (বিশেষ করে অ্যাডারে), ত্রুটি সনাক্তকরণ এবং সংশোধন কোডে (প্যারিটি বিট), এনক্রিপশন অ্যালগরিদমে এবং তুলনা সার্কিটে মৌলিক। XOR অপারেশন নিজেই তার নিজের ইনভার্স, যা এটিকে রিভার্সিবল কম্পিউটিংয়ে উপযোগী করে তোলে।

XNOR গেট (ইকুইভ্যালেন্স গেট)

XNOR (এক্সক্লুসিভ NOR) গেট, যাকে ইকুইভ্যালেন্স গেটও বলা হয়, একটি HIGH আউটপুট তৈরি করে যখন সমস্ত ইনপুট একই মান থাকে (সবগুলি HIGH বা সবগুলি LOW)। এটি XOR এর কমপ্লিমেন্ট। বুলিয়ান এক্সপ্রেশন হল Y = ¬(A ⊕ B) = (A ∧ B) ∨ (¬A ∧ ¬B)। XNOR গেটগুলি সমতা তুলনা সার্কিট, ত্রুটি সনাক্তকরণ ব্যবস্থা এবং ডিজিটাল সিগন্যাল প্রসেসিংয়ে ব্যবহৃত হয়। দুই-ইনপুট XNOR গেটে, আউটপুট নির্দেশ করে যে ইনপুটগুলি সমান কিনা, যা এটিকে ম্যাচিং এবং ভেরিফিকেশন অপারেশনের জন্য মূল্যবান করে তোলে।

গেট রিপ্রেজেন্টেশন

লজিক গেটগুলি একাধিক উপায়ে রিপ্রেজেন্ট করা যায়, প্রতিটি তাদের আচরণ এবং প্রয়োগ সম্পর্কে বিভিন্ন অন্তর্দৃষ্টি প্রদান করে। এই বিভিন্ন রিপ্রেজেন্টেশন বোঝা ডিজিটাল সার্কিট ডিজাইন, বিশ্লেষণ এবং ট্রাবলশুটিংয়ের জন্য অত্যন্ত গুরুত্বপূর্ণ।

স্ট্যান্ডার্ড লজিক গেট সিম্বল (ANSI/IEEE)

প্রতিটি লজিক গেটের একটি স্ট্যান্ডার্ডাইজড গ্রাফিক্যাল সিম্বল আছে যা ANSI (আমেরিকান ন্যাশনাল স্ট্যান্ডার্ডস ইনস্টিটিউট) এবং IEEE (ইনস্টিটিউট অব ইলেকট্রিক্যাল অ্যান্ড ইলেকট্রনিক্স ইঞ্জিনিয়ার্স) দ্বারা সংজ্ঞায়িত। এই সিম্বলগুলি সার্কিট ডায়াগ্রামে সর্বজনীনভাবে স্বীকৃত। উদাহরণস্বরূপ, একটি AND গেট সাধারণত D-আকৃতির সিম্বল হিসাবে আঁকা হয়, যখন একটি OR গেটের একটি বাঁকা ইনপুট দিক আছে। আউটপুটে একটি ছোট বৃত্ত (বাবল) ইনভার্সন (NOT অপারেশন) নির্দেশ করে, যা NAND কে AND থেকে এবং NOR কে OR থেকে আলাদা করে। এই ভিজ্যুয়াল রিপ্রেজেন্টেশনগুলি ইঞ্জিনিয়ারদের একনজরে সার্কিট ফাংশন দ্রুত বুঝতে এবং ভাষা বাধা অতিক্রম করে ডিজাইন যোগাযোগ করতে দেয়।

প্রতিটি গেটের জন্য ট্রুথ টেবিল

ট্রুথ টেবিলগুলি সমস্ত সম্ভাব্য ইনপুট সমন্বয় এবং তাদের সংশ্লিষ্ট আউটপুট তালিকাভুক্ত করে একটি গেটের আচরণের একটি সম্পূর্ণ স্পেসিফিকেশন প্রদান করে। n ইনপুট সহ একটি গেটের জন্য, ট্রুথ টেবিলে 2^n সারি থাকে। ট্রুথ টেবিলগুলি গেট আচরণ যাচাই করতে, স্পেসিফিকেশন থেকে সার্কিট ডিজাইন করতে এবং বিদ্যমান সার্কিট ডিবাগ করতে অমূল্য। এগুলি বিমূর্ত বুলিয়ান বীজগণিত এবং ভৌত সার্কিট প্রয়োগের মধ্যে সেতু গঠন করে। একটি জটিল সার্কিটের ট্রুথ টেবিলকে এর স্পেসিফিকেশনের সাথে তুলনা করে, ইঞ্জিনিয়াররা ম্যানুফ্যাকচারিংয়ের আগে সঠিকতা যাচাই করতে পারেন।

বুলিয়ান এক্সপ্রেশন

প্রতিটি লজিক গেট অপারেশন একটি বুলিয়ান বীজগাণিতিক এক্সপ্রেশন হিসাবে প্রকাশ করা যায়। এই এক্সপ্রেশনগুলি সার্কিট ডিজাইনের গাণিতিক ম্যানিপুলেশনের অনুমতি দেয়, সরলীকরণ এবং অপটিমাইজেশন সক্ষম করে। এই এক্সপ্রেশনগুলির বীজগণিত নির্দিষ্ট আইন (কমিউটেটিভ, অ্যাসোসিয়েটিভ, ডিস্ট্রিবিউটিভ, ডি মর্গ্যানের আইন, ইত্যাদি) অনুসরণ করে যা জটিল এক্সপ্রেশনগুলিকে সরল সমতুল্য আকারে রূপান্তরিত করার অনুমতি দেয়। এই গাণিতিক রিপ্রেজেন্টেশন স্বয়ংক্রিয় ডিজাইন টুল, সার্কিট সিন্থেসিস সফ্টওয়্যার এবং আনুষ্ঠানিক যাচাইকরণ সিস্টেমের জন্য অপরিহার্য যা সার্কিট সঠিকতা প্রমাণ করে।

টাইমিং ডায়াগ্রাম এবং প্রপাগেশন ডিলে

টাইমিং ডায়াগ্রামগুলি দেখায় কিভাবে সিগন্যাল সময়ের সাথে পরিবর্তিত হয়, সার্কিটের গতিশীল আচরণ চিত্রিত করে। এগুলি প্রপাগেশন ডিলে প্রকাশ করে—ইনপুটে পরিবর্তনের জন্য আউটপুটে সংশ্লিষ্ট পরিবর্তন তৈরি করতে যে সময় লাগে। এই ডিলে, সাধারণত ন্যানোসেকেন্ড বা পিকোসেকেন্ডে পরিমাপ করা হয়, ট্রানজিস্টর এবং ইন্টারকানেকশনের ভৌত বৈশিষ্ট্য থেকে উদ্ভূত হয়। হাই-স্পিড সার্কিটের জন্য টাইমিং বোঝা গুরুত্বপূর্ণ, কারণ ডিলে রেস কন্ডিশন, গ্লিচ এবং টাইমিং ভায়োলেশন সৃষ্টি করতে পারে। ডিজাইনারদের সার্কিট তাদের উদ্দেশ্যমূলক ক্লক স্পিডে সঠিকভাবে কাজ করে তা নিশ্চিত করতে সবচেয়ে খারাপ-কেস ডিলে হিসাব করতে হবে।

বুলিয়ান বীজগণিত থেকে সার্কিট

বুলিয়ান বীজগাণিতিক এক্সপ্রেশনকে ভৌত সার্কিটে রূপান্তরিত করার প্রক্রিয়া ডিজিটাল ডিজাইনের মৌলিক। এই রূপান্তর বিমূর্ত লজিক এবং কংক্রিট হার্ডওয়্যার প্রয়োগের মধ্যে ব্যবধান দূর করে।

বুলিয়ান এক্সপ্রেশনকে সার্কিটে রূপান্তরিত করা

বুলিয়ান এক্সপ্রেশনকে সার্কিটে রূপান্তরিত করতে, এক্সপ্রেশনের প্রতিটি অপারেটর একটি সংশ্লিষ্ট গেটে পরিণত হয়। ভেরিয়েবলগুলি ইনপুট, এবং এক্সপ্রেশনের ফলাফল আউটপুট। উদাহরণস্বরূপ, এক্সপ্রেশন Y = (A ∧ B) ∨ C হয়ে যায় একটি AND গেট যার ইনপুট A এবং B, যা একটি OR গেটে ফিড করে যা C ইনপুটও গ্রহণ করে। বন্ধনীগুলি অপারেশনের ক্রম নির্দেশ করে, সবচেয়ে ভিতরের অপারেশনগুলি প্রথমে প্রয়োগ করা হয়। এই সরাসরি সম্পর্ক যেকোনো বুলিয়ান ফাংশনকে সার্কিট হিসাবে প্রয়োগ করা সোজা করে তোলে, যদিও প্রাথমিক প্রয়োগ অপটিমাল নাও হতে পারে।

ট্রুথ টেবিল থেকে সার্কিট ডায়াগ্রাম

ট্রুথ টেবিলগুলি সাম-অফ-প্রোডাক্টস (SOP) বা প্রোডাক্ট-অফ-সামস (POS) ফর্ম ব্যবহার করে সার্কিটে রূপান্তরিত করা যায়। SOP-তে, যেখানে আউটপুট 1 হয় এমন প্রতিটি সারি একটি প্রোডাক্ট টার্ম (ইনপুটগুলির AND) হয়ে যায়, এবং এই টার্মগুলি সামড (একসাথে ORed) করা হয়। POS-এ, যেখানে আউটপুট 0 হয় এমন প্রতিটি সারি পরিবর্তে ব্যবহৃত হয়। উদাহরণস্বরূপ, যদি A=1, B=0, C=1 হলে আউটপুট 1 হয়, তাহলে একটি প্রোডাক্ট টার্ম হবে A∧¬B∧C। যদিও এই পদ্ধতি সবসময় কাজ করে এবং সঠিক সার্কিট তৈরি করে, এটি প্রায়ই অপ্রয়োজনীয়ভাবে জটিল প্রয়োগ তৈরি করে যা বুলিয়ান বীজগণিত বা কার্নফ ম্যাপ ব্যবহার করে সরলীকরণ করা যায়।

মাল্টি-লেভেল লজিক প্রয়োগ

মাল্টি-লেভেল লজিক বলতে বোঝায় ইনপুট এবং আউটপুটের মধ্যে গেটের একাধিক স্তর সহ সার্কিট, দুই-লেভেল লজিকের বিপরীতে (এক স্তর AND গেট এক স্তর OR গেটে ফিড করে, বা বিপরীত)। মাল্টি-লেভেল প্রয়োগে প্রায়ই কম গেট এবং কম এরিয়া প্রয়োজন হয় তবে দীর্ঘ প্রপাগেশন ডিলে থাকতে পারে। ডিজাইনাররা প্রয়োজনীয়তার উপর ভিত্তি করে দুই-লেভেল এবং মাল্টি-লেভেল প্রয়োগের মধ্যে বেছে নেয়: স্পিডের জন্য দুই-লেভেল (ছোট ডিলে পাথ) এবং এরিয়া এবং পাওয়ার দক্ষতার জন্য মাল্টি-লেভেল। আধুনিক সিন্থেসিস টুলগুলি স্বয়ংক্রিয়ভাবে এই ট্রেড-অফগুলি অন্বেষণ করে।

গেট কাউন্ট অপটিমাইজেশন

একটি সার্কিটে গেটের সংখ্যা হ্রাস করা খরচ, পাওয়ার খরচ এবং সার্কিট এরিয়া হ্রাস করে। অপটিমাইজেশন এক্সপ্রেশনগুলি সরলীকরণ করতে বুলিয়ান বীজগণিত পরিচয় ব্যবহার করে, ন্যূনতম সাম-অফ-প্রোডাক্টস ফর্ম খুঁজে পেতে কার্নফ ম্যাপ ব্যবহার করে এবং অনেক ভেরিয়েবল সহ ফাংশনের জন্য কুইন-ম্যাকক্লাস্কির মতো অ্যালগরিদম ব্যবহার করে। সাধারণ কৌশলগুলির মধ্যে রয়েছে সাধারণ সাব-এক্সপ্রেশন ফ্যাক্টরিং, অপ্রয়োজনীয় গেট নির্মূল করা এবং গেট টাইপের মধ্যে রূপান্তরিত করতে ডি মর্গ্যানের আইন ব্যবহার করা। আধুনিক IC ডিজাইনে, স্বয়ংক্রিয় টুলগুলি এই অপটিমাইজেশনগুলি সম্পাদন করে, তবে নীতিগুলি বোঝা ডিজাইনারদের ভাল স্পেসিফিকেশন লিখতে এবং টুল আউটপুট যাচাই করতে সাহায্য করে।

কম্বিনেশনাল সার্কিট

কম্বিনেশনাল সার্কিট হল ডিজিটাল সার্কিট যেখানে আউটপুট শুধুমাত্র বর্তমান ইনপুটের উপর নির্ভর করে, অতীত অবস্থার কোন স্মৃতি ছাড়াই। এগুলি বুলিয়ান ফাংশন প্রয়োগ করে এবং আরও জটিল সিস্টেমের জন্য বিল্ডিং ব্লক। মূল বৈশিষ্ট্যগুলির মধ্যে রয়েছে: কোন ফিডব্যাক লুপ নেই, কোন স্টোরেজ এলিমেন্ট নেই এবং ইনপুট পরিবর্তনে তাৎক্ষণিক প্রতিক্রিয়া (প্রপাগেশন ডিলের পরে)।

অ্যাডার (হাফ-অ্যাডার, ফুল-অ্যাডার, রিপল-ক্যারি)

অ্যাডারগুলি মৌলিক অ্যারিথমেটিক সার্কিট। একটি হাফ-অ্যাডার দুটি একক-বিট সংখ্যা যোগ করে, একটি সাম এবং ক্যারি আউটপুট তৈরি করে। একটি ফুল-অ্যাডার একটি ক্যারি ইনপুট গ্রহণ করে এটি প্রসারিত করে, মাল্টি-বিট সংযোজন সক্ষম করে। ফুল-অ্যাডারগুলি মাল্টি-বিট অ্যাডার তৈরি করতে একসাথে চেইন করা হয়। রিপল-ক্যারি অ্যাডার n-বিট সংখ্যা যোগ করতে n ফুল-অ্যাডার সংযুক্ত করে, ক্যারি সবচেয়ে কম তাৎপর্যপূর্ণ বিট থেকে সবচেয়ে তাৎপর্যপূর্ণ বিটে প্রচারিত হয়। যদিও সরল, রিপল-ক্যারি অ্যাডারগুলি ক্যারি প্রপাগেশন ডিলের কারণে বড় বিট প্রশস্ততার জন্য ধীর। ক্যারি-লুকাহেড অ্যাডারের মতো দ্রুত ডিজাইনগুলি আরও জটিল সার্কিট্রির খরচে সমান্তরালে ক্যারি গণনা করে।

সাবট্র্যাক্টর

সাবট্র্যাক্টরগুলি বাইনারি বিয়োগ সম্পাদন করে। অ্যাডারের মতো, তারা হাফ-সাবট্র্যাক্টর এবং ফুল-সাবট্র্যাক্টর ভেরিয়েন্টে আসে। যাইহোক, বিয়োগ আরও সাধারণভাবে সংযোজন এবং টু'স কমপ্লিমেন্ট রিপ্রেজেন্টেশন ব্যবহার করে প্রয়োগ করা হয়: A - B গণনা করতে, A + (¬B + 1) গণনা করুন। এই পদ্ধতি সংযোজন এবং বিয়োগ উভয়ের জন্য অ্যাডার হার্ডওয়্যার পুনরায় ব্যবহার করার অনুমতি দেয়, সার্কিট জটিলতা হ্রাস করে। বেশিরভাগ আধুনিক প্রসেসর এইভাবে বিয়োগ প্রয়োগ করে, একটি একক অ্যাডার সার্কিট একটি কন্ট্রোল সিগন্যালের উপর ভিত্তি করে উভয় অপারেশন পরিচালনা করে।

মাল্টিপ্লেক্সার (ডেটা সিলেক্টর)

একটি মাল্টিপ্লেক্সার (MUX) সিলেক্ট কন্ট্রোল সিগন্যালের উপর ভিত্তি করে একক আউটপুট লাইনে ফরওয়ার্ড করার জন্য একাধিক ইনপুট সিগন্যালের মধ্যে একটি নির্বাচন করে। একটি 2^n-টু-1 মাল্টিপ্লেক্সারে 2^n ডেটা ইনপুট এবং n সিলেক্ট লাইন রয়েছে। মাল্টিপ্লেক্সারগুলি ডেটা রাউটিং, শর্তসাপেক্ষ লজিক প্রয়োগ এবং প্রোগ্রামযোগ্য লজিক এলিমেন্ট তৈরির জন্য অপরিহার্য। তারা যেকোনো বুলিয়ান ফাংশন প্রয়োগ করতে পারে: একটি n-ভেরিয়েবল ফাংশনের জন্য, ফাংশনের ট্রুথ টেবিল মান ইনপুট হিসাবে সহ একটি 2^n-টু-1 MUX ব্যবহার করুন। মাল্টিপ্লেক্সারগুলি বিভিন্ন ডেটা উৎসের মধ্যে নির্বাচন করার জন্য CPU-তে এবং টাইম-ডিভিশন মাল্টিপ্লেক্সিংয়ের জন্য যোগাযোগ ব্যবস্থায় ব্যাপকভাবে ব্যবহৃত হয়।

ডিমাল্টিপ্লেক্সার (ডেটা ডিস্ট্রিবিউটর)

একটি ডিমাল্টিপ্লেক্সার (DEMUX) মাল্টিপ্লেক্সারের বিপরীত অপারেশন সম্পাদন করে: এটি একটি একক ইনপুট নেয় এবং কন্ট্রোল সিগন্যাল দ্বারা নির্বাচিত একাধিক আউটপুট লাইনের একটিতে এটি রুট করে। একটি 1-টু-2^n ডিমাল্টিপ্লেক্সারে একটি ডেটা ইনপুট, n সিলেক্ট লাইন এবং 2^n আউটপুট রয়েছে। ডিমাল্টিপ্লেক্সারগুলি মেমরি অ্যাড্রেসিংয়ে (কোন মেমরি লোকেশন অ্যাক্সেস করতে হবে তা নির্বাচন করা), সিগন্যাল বিতরণের জন্য যোগাযোগ ব্যবস্থায় এবং কন্ট্রোল সিগন্যালের উপর ভিত্তি করে নির্দিষ্ট উপাদান সক্ষম করার জন্য কন্ট্রোল সার্কিটে ব্যবহৃত হয়।

এনকোডার এবং ডিকোডার

এনকোডারগুলি লাইনের সংখ্যা হ্রাস করে তথ্যকে এক ফর্ম্যাট থেকে অন্য ফর্ম্যাটে রূপান্তরিত করে। একটি 2^n-টু-n এনকোডারে 2^n ইনপুট এবং n আউটপুট রয়েছে, একটি ওয়ান-হট এনকোডেড ইনপুট (ঠিক একটি ইনপুট 1) একটি বাইনারি কোডে রূপান্তরিত করে। প্রায়োরিটি এনকোডারগুলি এমন ক্ষেত্রে পরিচালনা করে যেখানে একাধিক ইনপুট সক্রিয় থাকে। ডিকোডারগুলি বিপরীত সম্পাদন করে: একটি n-টু-2^n ডিকোডার একটি n-বিট বাইনারি ইনপুট একটি ওয়ান-হট আউটপুটে রূপান্তরিত করে, ঠিক 2^n আউটপুট লাইনের মধ্যে একটি সক্রিয় করে। ডিকোডারগুলি মেমরি সিস্টেমে (অ্যাড্রেস ডিকোডিং), CPU-তে ইনস্ট্রাকশন ডিকোডিং এবং সেভেন-সেগমেন্ট ডিসপ্লে চালনায় অত্যন্ত গুরুত্বপূর্ণ। এনকোডারগুলি ইনপুট ইন্টারফেস এবং ডেটা কম্প্রেশন সার্কিটে ব্যবহৃত হয়।

কম্প্যারেটর (ম্যাগনিটিউড কম্প্যারিসন)

কম্প্যারেটরগুলি দুটি বাইনারি সংখ্যার মধ্যে সম্পর্ক নির্ধারণ করে, A < B, A = B, বা A > B নির্দেশ করে আউটপুট তৈরি করে। সরল সমতা কম্প্যারেটরগুলি প্রতিটি বিট পেয়ারের জন্য XNOR গেট ব্যবহার করে, ফলাফলগুলি ANDing করে। ম্যাগনিটিউড কম্প্যারেটরগুলি আরও জটিল, সবচেয়ে তাৎপর্যপূর্ণ থেকে সবচেয়ে কম তাৎপর্যপূর্ণ পর্যন্ত বিট তুলনা করে। বিটের প্রথম জোড়া যা ভিন্ন সেটি সম্পর্ক নির্ধারণ করে। কম্প্যারেটরগুলি সাজানো সার্কিট, প্রসেসরে শর্তসাপেক্ষ শাখা এবং সংখ্যাসূচক সম্পর্কের উপর ভিত্তি করে সিদ্ধান্ত নেওয়া কন্ট্রোল সিস্টেমে অপরিহার্য।

সিকোয়েন্সিয়াল সার্কিট

সিকোয়েন্সিয়াল সার্কিটের মেমরি আছে—তাদের আউটপুট বর্তমান ইনপুট এবং অতীত ইতিহাস উভয়ের উপর নির্ভর করে। এই মেমরি ফিডব্যাক এবং ল্যাচ এবং ফ্লিপ-ফ্লপের মতো স্টোরেজ এলিমেন্ট ব্যবহার করে প্রয়োগ করা হয়। সিকোয়েন্সিয়াল সার্কিটগুলি স্টেট মেশিন, কাউন্টার, রেজিস্টার এবং সমস্ত ধরনের ডিজিটাল মেমরি সক্ষম করে।

ল্যাচ (SR, D, JK)

ল্যাচগুলি লেভেল-সেনসিটিভ স্টোরেজ এলিমেন্ট যা একটি একক বিট তথ্য ধরে রাখতে পারে। SR (সেট-রিসেট) ল্যাচ হল সবচেয়ে মৌলিক, সেট এবং রিসেট ইনপুট সহ। D (ডেটা) ল্যাচ SR ল্যাচকে সরল করে নিশ্চিত করে যে S এবং R কখনও উভয়ই সক্রিয় নয়, সক্ষম হলে D ইনপুট সংরক্ষণ করে। ল্যাচগুলি ইনপুট লেভেলে সাড়া দেয়: সক্ষম হলে, আউটপুট ইনপুট অনুসরণ করে; নিষ্ক্রিয় হলে, আউটপুট তার শেষ মান ধরে রাখে। ল্যাচগুলি অস্থায়ী স্টোরেজ, বাস ইন্টারফেস এবং ফ্লিপ-ফ্লপের জন্য বিল্ডিং ব্লক হিসাবে ব্যবহৃত হয়। তাদের লেভেল-সেনসিটিভ প্রকৃতি সিঙ্ক্রোনাস সিস্টেমে রেস কন্ডিশনের মতো টাইমিং সমস্যার দিকে নিয়ে যেতে পারে।

ফ্লিপ-ফ্লপ (এজ-ট্রিগার্ড)

ফ্লিপ-ফ্লপগুলি এজ-ট্রিগার্ড স্টোরেজ এলিমেন্ট যা শুধুমাত্র একটি ক্লক এজে (রাইজিং বা ফলিং) তাদের আউটপুট আপডেট করে। এই এজ-ট্রিগার্ড আচরণ ল্যাচগুলিকে জর্জরিত করে এমন টাইমিং সমস্যা প্রতিরোধ করে। সাধারণ ধরনগুলির মধ্যে রয়েছে D ফ্লিপ-ফ্লপ (ক্লক এজে D ইনপুট সংরক্ষণ করে), T ফ্লিপ-ফ্লপ (ক্লক এজে আউটপুট টগল করে), এবং JK ফ্লিপ-ফ্লপ (SR এবং T টাইপের বৈশিষ্ট্য একত্রিত করে)। ফ্লিপ-ফ্লপগুলি সিঙ্ক্রোনাস ডিজিটাল ডিজাইনের ভিত্তি, নিশ্চিত করে যে সমস্ত অবস্থা পরিবর্তন সুনির্দিষ্টভাবে সংজ্ঞায়িত মুহুর্তে ঘটে। এগুলি রেজিস্টার, স্টেট মেশিন এবং প্রায় সমস্ত সিকোয়েন্সিয়াল সার্কিটে মৌলিক স্টোরেজ এলিমেন্ট হিসাবে ব্যবহৃত হয়।

রেজিস্টার (ডেটা স্টোরেজ)

রেজিস্টারগুলি ফ্লিপ-ফ্লপের গ্রুপ যা মাল্টি-বিট মান সংরক্ষণ করে। একটি n-বিট রেজিস্টারে n ফ্লিপ-ফ্লপ রয়েছে, প্রতিটি একটি বিট সংরক্ষণ করে। রেজিস্টারগুলি প্যারালেল-লোড (সমস্ত বিট একসাথে লোড) বা সিরিয়াল-লোড (বিট একবারে একটি শিফট ইন) হতে পারে। তারা প্রসেসর ডিজাইনের মৌলিক, ইনস্ট্রাকশন অপারেন্ড, ঠিকানা এবং মধ্যবর্তী গণনা ফলাফল ধারণ করে। বিশেষ রেজিস্টারগুলির মধ্যে রয়েছে প্রোগ্রাম কাউন্টার (পরবর্তী ইনস্ট্রাকশন ঠিকানা ধরে রাখে), অ্যাকুমুলেটর (অ্যারিথমেটিক ফলাফল সংরক্ষণ করে), এবং স্ট্যাটাস রেজিস্টার (কন্ডিশন ফ্ল্যাগ ধরে রাখে)। রেজিস্টারগুলি মূল মেমরি অ্যাক্সেস করার চেয়ে দ্রুত হাই-স্পিড অস্থায়ী স্টোরেজ প্রদান করে।

কাউন্টার (বাইনারি, ডেকেড, আপ/ডাউন)

কাউন্টারগুলি সিকোয়েন্সিয়াল সার্কিট যা একটি পূর্বনির্ধারিত অবস্থার ক্রমের মধ্য দিয়ে অগ্রসর হয়, সাধারণত বাইনারি সংখ্যা। বাইনারি কাউন্টারগুলি n বিটের জন্য 0 থেকে 2^n-1 গণনা করে। ডেকেড কাউন্টারগুলি 0-9 গণনা করে, 9 এর পরে রিসেট করে। আপ কাউন্টারগুলি বৃদ্ধি করে, ডাউন কাউন্টারগুলি হ্রাস করে এবং আপ/ডাউন কাউন্টারগুলি একটি কন্ট্রোল ইনপুটের উপর ভিত্তি করে উভয়ই করতে পারে। কাউন্টারগুলি ফিডব্যাক লজিক সহ ফ্লিপ-ফ্লপ ব্যবহার করে প্রয়োগ করা হয়। এগুলি ফ্রিকোয়েন্সি বিভাজন, ইভেন্ট গণনা, টাইমিং সিগন্যাল তৈরি, ক্রমানুসারে মেমরি অ্যাড্রেসিং এবং বিলম্ব তৈরি করতে ব্যবহৃত হয়। কাউন্টারগুলি অ্যাসিঙ্ক্রোনাস (রিপল কাউন্টার, যেখানে ফ্লিপ-ফ্লপগুলি একে অপরকে ট্রিগার করে) বা সিঙ্ক্রোনাস (সমস্ত ফ্লিপ-ফ্লপ একসাথে ক্লক করা, রিপল ডিলে নির্মূল করা) হতে পারে।

শিফট রেজিস্টার (SISO, SIPO, PISO, PIPO)

শিফট রেজিস্টারগুলি পার্শ্বিকভাবে ডেটা সরান, প্রতি ক্লক সাইকেলে একটি অবস্থান। এগুলি ইনপুট/আউটপুট মোড দ্বারা শ্রেণীবদ্ধ করা হয়: সিরিয়াল-ইন-সিরিয়াল-আউট (SISO) বিলম্ব এবং ডেটা ট্রান্সমিশনের জন্য, সিরিয়াল-ইন-প্যারালেল-আউট (SIPO) সিরিয়াল-থেকে-প্যারালেল রূপান্তরের জন্য, প্যারালেল-ইন-সিরিয়াল-আউট (PISO) প্যারালেল-থেকে-সিরিয়াল রূপান্তরের জন্য এবং প্যারালেল-ইন-প্যারালেল-আউট (PIPO) ডেটা স্থানান্তরের জন্য। শিফট রেজিস্টারগুলি সিরিয়াল যোগাযোগ (UART, SPI), ট্রান্সমিশনের জন্য ডেটা সিরিয়ালাইজেশন, বিলম্ব প্রয়োগ, ছদ্ম-এলোমেলো ক্রম তৈরি (লিনিয়ার ফিডব্যাক শিফট রেজিস্টার) এবং ডিজিটাল সিগন্যাল প্রসেসিংয়ে অত্যন্ত গুরুত্বপূর্ণ। এগুলি ডিজাইনের উপর ভিত্তি করে বাম, ডান বা দ্বিমুখীভাবে শিফট করতে পারে।

সার্কিট সরলীকরণ

ডিজিটাল সার্কিট সরলীকরণ কার্যকারিতা বজায় রেখে খরচ, পাওয়ার খরচ এবং এরিয়া হ্রাস করে। পদ্ধতিগত সরলীকরণের জন্য বিভিন্ন গাণিতিক এবং গ্রাফিক্যাল কৌশল বিদ্যমান।

গেট হ্রাস করতে বুলিয়ান আইন ব্যবহার করা

বুলিয়ান বীজগণিত এক্সপ্রেশনকে সরল সমতুল্য আকারে রূপান্তরিত করার জন্য আইন এবং পরিচয় প্রদান করে। মূল আইনগুলির মধ্যে রয়েছে: আইডেন্টিটি (A∧1=A, A∨0=A), নাল/ডমিনেশন (A∧0=0, A∨1=1), আইডেম্পটেন্ট (A∧A=A, A∨A=A), কমপ্লিমেন্ট (A∧¬A=0, A∨¬A=1), কমিউটেটিভ, অ্যাসোসিয়েটিভ, ডিস্ট্রিবিউটিভ, অ্যাবজরপশন (A∨(A∧B)=A), এবং ডি মর্গ্যানের আইন (¬(A∧B)=¬A∨¬B, ¬(A∨B)=¬A∧¬B)। এই আইনগুলি পদ্ধতিগতভাবে প্রয়োগ করা নাটকীয়ভাবে সার্কিট জটিলতা হ্রাস করতে পারে। উদাহরণস্বরূপ, A∧B∧C + A∧B∧¬C ফ্যাক্টর করা যেতে পারে A∧B∧(C+¬C) = A∧B∧1 = A∧B, একটি গেট নির্মূল করে।

কার্নফ ম্যাপ প্রয়োগ

কার্নফ ম্যাপ (K-ম্যাপ) 2-4 ভেরিয়েবল সহ বুলিয়ান এক্সপ্রেশন ন্যূনতম করার জন্য একটি গ্রাফিক্যাল পদ্ধতি প্রদান করে। ট্রুথ টেবিলটি একটি গ্রিডে সাজানো হয় যেখানে সংলগ্ন সেলগুলি ঠিক একটি ভেরিয়েবল দ্বারা ভিন্ন হয়। 2 এর শক্তিতে (1, 2, 4, 8 সেল) সংলগ্ন 1গুলি গ্রুপ করা ন্যূনতম সাম-অফ-প্রোডাক্টস এক্সপ্রেশনে প্রোডাক্ট টার্ম সনাক্ত করে। বৃহত্তর গ্রুপগুলি কম লিটারেল সহ সরল টার্মের সাথে মিল রাখে। K-ম্যাপগুলি দৃশ্যমান করা এবং পরিদর্শনের মাধ্যমে ন্যূনতম এক্সপ্রেশন খুঁজে পাওয়া সহজ করে তোলে। 4টির বেশি ভেরিয়েবল সহ ফাংশনের জন্য, কুইন-ম্যাকক্লাস্কির মতো অ্যালগোরিদমিক পদ্ধতি পরিবর্তে ব্যবহৃত হয়, কারণ K-ম্যাপগুলি অবাস্তব হয়ে যায়।

খরচ মেট্রিক্স (গেট কাউন্ট, ডিলে, পাওয়ার)

সার্কিট মান একাধিক মেট্রিক্স দ্বারা পরিমাপ করা হয়। গেট কাউন্ট ম্যানুফ্যাকচারিং খরচ এবং চিপ এরিয়াকে প্রভাবিত করে—কম গেট মানে সস্তা উৎপাদন। প্রপাগেশন ডিলে সর্বাধিক অপারেটিং স্পিড নির্ধারণ করে; দীর্ঘ পাথ ক্লক ফ্রিকোয়েন্সি সীমিত করে। পাওয়ার খরচ মোবাইল ডিভাইসে ব্যাটারি জীবন এবং সার্ভারে কুলিং প্রয়োজনীয়তা প্রভাবিত করে। এই মেট্রিক্সগুলি প্রায়ই দ্বন্দ্ব করে: গেট হ্রাস করা ডিলে বাড়াতে পারে, বা একটি সার্কিট দ্রুত করা পাওয়ার বাড়াতে পারে। ডিজাইনারদের অ্যাপ্লিকেশন প্রয়োজনীয়তার উপর ভিত্তি করে এই ট্রেড-অফগুলি ভারসাম্য রাখতে হবে। হাই-পারফরম্যান্স প্রসেসরগুলি স্পিডকে অগ্রাধিকার দেয়, মোবাইল ডিভাইসগুলি পাওয়ারকে অগ্রাধিকার দেয় এবং খরচ-সংবেদনশীল অ্যাপ্লিকেশনগুলি এরিয়াকে অগ্রাধিকার দেয়।

অপটিমাইজেশনে ট্রেড-অফ

সার্কিট অপটিমাইজেশন অন্তর্নিহিত ট্রেড-অফ জড়িত। স্পিড বনাম এরিয়া: দ্রুত সার্কিট (ক্যারি-লুকাহেড অ্যাডার) ধীর (রিপল-ক্যারি অ্যাডার) চেয়ে বেশি গেট ব্যবহার করে। স্পিড বনাম পাওয়ার: উচ্চ স্পিড বর্ধিত সুইচিং ফ্রিকোয়েন্সি এবং সম্ভাব্য ভোল্টেজ বৃদ্ধির কারণে আরও পাওয়ার প্রয়োজন। দুই-লেভেল বনাম মাল্টি-লেভেল: দুই-লেভেল লজিক দ্রুত কিন্তু বেশি গেট ব্যবহার করে; মাল্টি-লেভেল কম গেট ব্যবহার করে কিন্তু দীর্ঘ ডিলে আছে। এই ট্রেড-অফগুলি বোঝা ডিজাইনারদের অ্যাপ্লিকেশন সীমাবদ্ধতার উপর ভিত্তি করে অবহিত সিদ্ধান্ত নিতে দেয়। আধুনিক ডিজাইন টুলগুলি প্রতিযোগী প্রয়োজনীয়তা ভারসাম্যপূর্ণ প্যারেটো-অপটিমাল সমাধান খুঁজে পেতে বহু-উদ্দেশ্য অপটিমাইজেশন ব্যবহার করে।

বাস্তব-বিশ্ব অ্যাপ্লিকেশন

লজিক গেট এবং ডিজিটাল সার্কিট শুধুমাত্র তাত্ত্বিক নির্মাণ নয়—এগুলি সমস্ত আধুনিক কম্পিউটিং এবং ডিজিটাল প্রযুক্তির ভিত্তি গঠন করে।

অ্যারিথমেটিক লজিক ইউনিট (ALU) CPU-তে

ALU হল একটি প্রসেসরের গণনামূলক হৃদয়, অ্যারিথমেটিক অপারেশন (সংযোজন, বিয়োগ, গুণ) এবং লজিক্যাল অপারেশন (AND, OR, NOT, XOR) সম্পাদন করে। এটি অপারেশন সিলেক্ট সিগন্যাল দ্বারা নিয়ন্ত্রিত অ্যাডার, কম্প্যারেটর, লজিক গেট এবং মাল্টিপ্লেক্সার নিয়ে গঠিত। ALU রেজিস্টার থেকে অপারেন্ড গ্রহণ করে, নির্বাচিত অপারেশন সম্পাদন করে এবং স্ট্যাটাস ফ্ল্যাগ (জিরো, নেগেটিভ, ক্যারি, ওভারফ্লো) সহ ফলাফল আউটপুট করে। আধুনিক ALUগুলি অত্যন্ত অপটিমাইজড, স্পিড সর্বাধিক করতে ক্যারি-লুকাহেড সংযোজন এবং সমান্তরাল প্রিফিক্স অ্যালগরিদমের মতো কৌশল ব্যবহার করে। ALU এর ডিজাইন সরাসরি প্রসেসর পারফরম্যান্স প্রভাবিত করে।

মেমরি অ্যাড্রেসিং এবং ডিকোডিং

মেমরি সিস্টেমগুলি নির্দিষ্ট স্টোরেজ লোকেশন নির্বাচন করতে ডিকোডার ব্যবহার করে। একটি অ্যাড্রেস ডিকোডার একটি বাইনারি ঠিকানাকে একটি ওয়ান-হট সিগন্যালে রূপান্তরিত করে যা ঠিক একটি মেমরি সেল বা ওয়ার্ড সক্ষম করে। উদাহরণস্বরূপ, একটি 64KB মেমরিতে একটি 16-বিট ঠিকানা একটি 16-টু-65536 ডিকোডার প্রয়োজন (প্রায়ই শ্রেণিবদ্ধভাবে প্রয়োগ করা হয়)। RAM চিপে সারি এবং কলাম ডিকোডারগুলি পৃথক মেমরি সেল নির্বাচন করে। অ্যাড্রেস ডিকোডিং একাধিক মেমরি ব্যাংক সহ সিস্টেমে কোন মেমরি চিপ প্রতিক্রিয়া জানায় তাও নির্ধারণ করে। দক্ষ ডিকোডার ডিজাইন মেমরি অ্যাক্সেস স্পিড এবং পাওয়ার খরচের জন্য গুরুত্বপূর্ণ।

প্রসেসরে কন্ট্রোল ইউনিট

কন্ট্রোল ইউনিট প্রসেসর অপারেশন সমন্বয় করে, কন্ট্রোল সিগন্যাল তৈরি করে যা ডেটা গতিবিধি এবং ALU অপারেশন সমন্বয় করে। এটি ইনস্ট্রাকশন ডিকোড করে, কী অপারেশন সম্পাদন করতে হবে এবং কোন রেজিস্টার এবং মেমরি লোকেশন অ্যাক্সেস করতে হবে তা নির্ধারণ করে। কন্ট্রোল ইউনিটগুলি হার্ডওয়্যার্ড (লজিক গেট এবং স্টেট মেশিন দিয়ে প্রয়োগ, দ্রুত কিন্তু কম নমনীয়) বা মাইক্রোপ্রোগ্রামড (কন্ট্রোল সিকোয়েন্স সংরক্ষণ করে ROM ব্যবহার করে, আরও নমনীয় কিন্তু সম্ভাব্য ধীর) হতে পারে। কন্ট্রোল ইউনিট ফেচ-ডিকোড-এক্সিকিউট সাইকেল প্রয়োগ করে, ইন্টারাপ্ট পরিচালনা করে এবং এক্সেপশন পরিচালনা করে। এর ডিজাইন প্রসেসর জটিলতা এবং পারফরম্যান্সকে গভীরভাবে প্রভাবিত করে।

I/O ইন্টারফেসিং

ইনপুট/আউটপুট ইন্টারফেসিং সার্কিটগুলি কীবোর্ড, ডিসপ্লে, সেন্সর এবং নেটওয়ার্কের মতো বাহ্যিক ডিভাইসে প্রসেসর সংযুক্ত করে। এই সার্কিটগুলির মধ্যে রয়েছে অ্যাড্রেস ডিকোডার (I/O ডিভাইস নির্বাচন করা), ডেটা বাফার (বাস থেকে ডিভাইস সিগন্যাল আলাদা করা), স্ট্যাটাস রেজিস্টার (ডিভাইস প্রস্তুতি নির্দেশ করা), এবং কন্ট্রোল লজিক (ডেটা স্থানান্তর টাইমিং পরিচালনা করা)। I/O কন্ট্রোলার প্রোটোকল রূপান্তর, ডেটা বাফারিং এবং ইন্টারাপ্ট জেনারেশন পরিচালনা করে। সিরিয়াল ইন্টারফেস (UART, SPI, I2C) সমান্তরাল এবং সিরিয়াল ডেটার মধ্যে রূপান্তরের জন্য শিফট রেজিস্টার ব্যবহার করে। সমান্তরাল ইন্টারফেসগুলি একযোগে মাল্টি-বিট স্থানান্তরের জন্য ল্যাচ এবং বাফার ব্যবহার করে।

এমবেডেড সিস্টেম এবং মাইক্রোকন্ট্রোলার

এমবেডেড সিস্টেমগুলি নিবেদিত অ্যাপ্লিকেশনের জন্য বিশেষায়িত ডিজিটাল সার্কিটের সাথে প্রসেসর একীভূত করে: অটোমোটিভ কন্ট্রোলার, মেডিক্যাল ডিভাইস, হোম অ্যাপ্লায়েন্স, ইন্ডাস্ট্রিয়াল অটোমেশন। মাইক্রোকন্ট্রোলারগুলি একটি একক চিপে CPU, মেমরি, টাইমার, কাউন্টার, ADC/DAC কনভার্টার এবং I/O ইন্টারফেস একত্রিত করে। এই সিস্টেমগুলি ডিভাইস আচরণ নিয়ন্ত্রণ করে স্টেট মেশিনের জন্য সিকোয়েন্সিয়াল সার্কিট, সিগন্যাল প্রসেসিং এবং সিদ্ধান্ত গ্রহণের জন্য কম্বিনেশনাল সার্কিট এবং PWM জেনারেশন, যোগাযোগ প্রোটোকল এবং সেন্সর ইন্টারফেসের জন্য বিশেষায়িত ডিজিটাল ব্লক ব্যবহার করে। ডিজিটাল সার্কিট নীতি সরাসরি এই সর্বব্যাপী সিস্টেমগুলি ডিজাইন এবং বোঝার ক্ষেত্রে প্রযোজ্য।

ডিজাইন বিবেচনা

ব্যবহারিক ডিজিটাল সার্কিট ডিজাইন অবশ্যই বাস্তব-বিশ্বের ভৌত সীমাবদ্ধতা এবং সীমাবদ্ধতার জন্য হিসাব করতে হবে যা আদর্শ বুলিয়ান বীজগণিত ক্যাপচার করে না।

প্রপাগেশন ডিলে এবং টাইমিং

প্রপাগেশন ডিলে হল একটি ইনপুট পরিবর্তন এবং ফলস্বরূপ আউটপুট পরিবর্তনের মধ্যে সময়। এটি ট্রানজিস্টর সুইচিং সময় এবং ইন্টারকানেকশনের মাধ্যমে সিগন্যাল প্রচার থেকে উদ্ভূত হয়। একটি সার্কিটের মাধ্যমে বিভিন্ন পাথের বিভিন্ন ডিলে আছে, টাইমিং স্ক্যু তৈরি করে। সিঙ্ক্রোনাস সিস্টেমে, ক্লক পিরিয়ড অবশ্যই দীর্ঘতম কম্বিনেশনাল ডিলে (ক্রিটিক্যাল পাথ) এবং ফ্লিপ-ফ্লপ সেটআপ এবং ক্লক স্ক্যু সময় অতিক্রম করতে হবে। টাইমিং সীমাবদ্ধতা লঙ্ঘন লজিক ত্রুটি এবং সিস্টেম ব্যর্থতা সৃষ্টি করে। ডিজাইনাররা প্রসেস, ভোল্টেজ এবং তাপমাত্রা পরিবর্তনের মধ্যে সমস্ত টাইমিং সীমাবদ্ধতা পূরণ হয়েছে তা যাচাই করতে স্ট্যাটিক টাইমিং বিশ্লেষণ টুল ব্যবহার করে।

ফ্যান-ইন এবং ফ্যান-আউট সীমা

ফ্যান-ইন হল একটি গেটের ইনপুট সংখ্যা; ফ্যান-আউট হল একটি একক আউটপুট দ্বারা চালিত গেট ইনপুট সংখ্যা। ব্যবহারিক গেটের সীমিত ফ্যান-ইন (সাধারণত 2-4 ইনপুট) আছে কারণ অতিরিক্ত ইনপুট ডিলে এবং এরিয়া বাড়ায়। ফ্যান-ইন সীমা অতিক্রম করা ক্যাসকেডেড ছোট গেট থেকে বৃহত্তর ফাংশন তৈরি করা প্রয়োজন। ফ্যান-আউট আউটপুট ড্রাইভ শক্তি দ্বারা সীমিত—প্রতিটি চালিত ইনপুট আউটপুট লোড করে, ট্রানজিশন ধীর করে। ফ্যান-আউট অতিক্রম করা সিগন্যাল মান খারাপ করে এবং ডিলে বাড়ায়। সমাধানগুলির মধ্যে রয়েছে বাফার সন্নিবেশ, শক্তিশালী ড্রাইভার ব্যবহার, বা লোডিং হ্রাস করতে সার্কিট পুনরায় ডিজাইন করা।

পাওয়ার খরচ

ডিজিটাল সার্কিটগুলি ডায়নামিক সুইচিং (ক্যাপাসিট্যান্স চার্জিং/ডিসচার্জিং) এবং স্ট্যাটিক লিকেজ (নামমাত্র বন্ধ থাকলে ট্রানজিস্টরের মাধ্যমে কারেন্ট) এর মাধ্যমে পাওয়ার খরচ করে। ডায়নামিক পাওয়ারের জন্য পাওয়ার = CV²f (ক্যাপাসিট্যান্স × ভোল্টেজ² × ফ্রিকোয়েন্সি), এবং লিকেজ। পাওয়ার হ্রাস করা জড়িত ভোল্টেজ হ্রাস (স্কোয়ার টার্মের কারণে সবচেয়ে কার্যকর), ফ্রিকোয়েন্সি হ্রাস, ক্যাপাসিট্যান্স হ্রাস (ছোট ট্রানজিস্টর, ছোট তার), সুইচিং ক্রিয়াকলাপ হ্রাস (ক্লক গেটিং, ভাল অ্যালগরিদম), এবং কম-লিকেজ ট্রানজিস্টর ব্যবহার। পাওয়ার ম্যানেজমেন্ট ব্যাটারি-চালিত ডিভাইস এবং হাই-পারফরম্যান্স প্রসেসরে গুরুত্বপূর্ণ যেখানে পাওয়ার ঘনত্ব পারফরম্যান্স সীমিত করে।

নয়েজ মার্জিন এবং সিগন্যাল ইন্টিগ্রিটি

নয়েজ মার্জিন হল একটি সিগন্যাল লজিক ত্রুটি সৃষ্টি করার আগে যে পরিমাণ নয়েজ সহ্য করতে পারে। এটি লজিক হাইয়ের জন্য ন্যূনতম আউটপুট ভোল্টেজ এবং হাই হিসাবে স্বীকৃত ন্যূনতম ইনপুট ভোল্টেজের মধ্যে পার্থক্য (এবং লোয়ের জন্য একইভাবে)। বৃহত্তর নয়েজ মার্জিন ভাল নির্ভরযোগ্যতা প্রদান করে। সিগন্যাল ইন্টিগ্রিটি সমস্যা ক্রসস্টক (সংলগ্ন তারের মধ্যে কাপলিং), গ্রাউন্ড বাউন্স (একযোগে সুইচিং সরবরাহ ভোল্টেজ ওঠানামা সৃষ্টি করে), প্রতিফলন (দীর্ঘ লাইনে ইমপিডেন্স মিসম্যাচ), এবং ইলেক্ট্রোম্যাগনেটিক হস্তক্ষেপ থেকে উদ্ভূত হয়। ভাল ডিজাইন অনুশীলনের মধ্যে রয়েছে সঠিক পাওয়ার সাপ্লাই ডিকাপলিং, নিয়ন্ত্রিত ইমপিডেন্স ট্রান্সমিশন লাইন, ডিফারেনশিয়াল সিগন্যালিং এবং কাপলিং হ্রাস করতে সতর্ক লেআউট।

লজিক থেকে কম্পিউটার আর্কিটেকচার

পৃথক লজিক গেটগুলি কীভাবে সম্পূর্ণ কম্পিউটিং সিস্টেম গঠনের জন্য একত্রিত হয় তা বোঝা ট্রানজিস্টর থেকে প্রসেসর পর্যন্ত মার্জিত হায়ারার্কি প্রকাশ করে।

প্রসেসরের বিল্ডিং ব্লক

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

ইনস্ট্রাকশন এক্সিকিউশন

ইনস্ট্রাকশন এক্সিকিউশন ফেচ-ডিকোড-এক্সিকিউট সাইকেলের মাধ্যমে ডিজিটাল সার্কিট সমন্বয় জড়িত। ফেচ: প্রোগ্রাম কাউন্টার মান অ্যাড্রেস ডিকোডারের মাধ্যমে মেমরিতে পাঠানো হয়; ইনস্ট্রাকশন পড়া হয় এবং ল্যাচ ব্যবহার করে ইনস্ট্রাকশন রেজিস্টারে লোড করা হয়। ডিকোড: ইনস্ট্রাকশন বিটগুলি ডিকোডার সার্কিট দ্বারা ব্যাখ্যা করা হয়, কন্ট্রোল সিগন্যাল তৈরি করে। এক্সিকিউট: কন্ট্রোল সিগন্যালগুলি অপারেন্ড রুট করতে মাল্টিপ্লেক্সার কনফিগার করে, ALU অপারেশন মোড সেট করে এবং গন্তব্য রেজিস্টারে ফলাফল পরিচালনা করে। এই সমস্ত সমন্বয় উপাদান স্তরে অধ্যয়ন করা একই গেট, ফ্লিপ-ফ্লপ এবং সার্কিট ব্যবহার করে। ইনস্ট্রাকশন এক্সিকিউশন বোঝা পরিষ্কার করে কিভাবে সফ্টওয়্যার হার্ডওয়্যার অপারেশনে অনুবাদ করে।

ডেটা পাথ এবং কন্ট্রোল পাথ

প্রসেসরগুলি ডেটা পাথ (সার্কিট যা ডেটা ম্যানিপুলেট করে) কন্ট্রোল পাথ (সার্কিট যা কন্ট্রোল সিগন্যাল তৈরি করে) থেকে পৃথক করে। ডেটা পাথে ALU, রেজিস্টার, অপারেন্ড নির্বাচনের জন্য মাল্টিপ্লেক্সার এবং ডেটা স্থানান্তরের জন্য বাস রয়েছে। এটি সাধারণ অপারেশন দক্ষতার সাথে চালানোর জন্য ডিজাইন করা হয়েছে। কন্ট্রোল পাথে ইনস্ট্রাকশন ডিকোডার, কন্ট্রোল স্টেট মেশিন এবং কন্ট্রোল সিগন্যাল জেনারেটর রয়েছে। এটি নির্ধারণ করে কখন এবং কীভাবে ডেটা পাথ উপাদান কাজ করে। এই পৃথকীকরণ মডুলার ডিজাইন সক্ষম করে: ডেটা পাথ পারফরম্যান্সের জন্য অপটিমাইজ করা যেতে পারে যখন কন্ট্রোল পাথ সিকোয়েন্সিং লজিক পরিচালনা করে। এই পৃথকীকরণ বোঝা কম্পিউটার আর্কিটেকচারের মূল চাবিকাঠি।

ফেচ-ডিকোড-এক্সিকিউট সাইকেল

ফেচ-ডিকোড-এক্সিকিউট সাইকেল হল প্রসেসরের মৌলিক অপারেশন লুপ, সম্পূর্ণভাবে ডিজিটাল সার্কিট দিয়ে প্রয়োগ করা হয়। ফেচ: প্রোগ্রাম কাউন্টার থেকে ইনস্ট্রাকশন ঠিকানা মেমরি নির্বাচন করতে ডিকোড করা হয়; ইনস্ট্রাকশন পড়া হয় এবং ইনস্ট্রাকশন রেজিস্টারে সংরক্ষণ করা হয়; প্রোগ্রাম কাউন্টার বৃদ্ধি করা হয় (একটি অ্যাডার ব্যবহার করে)। ডিকোড: ইনস্ট্রাকশন বিটগুলি ডিকোডার সার্কিটে প্রয়োগ করা হয় যা কন্ট্রোল সিগন্যাল তৈরি করে যা অপারেশন টাইপ, সোর্স রেজিস্টার এবং গন্তব্য সনাক্ত করে। এক্সিকিউট: কন্ট্রোল সিগন্যালগুলি ডেটা পাথ কনফিগার করে; অপারেন্ডগুলি রেজিস্টার থেকে পড়া হয়; ALU অপারেশন সম্পাদন করে; ফলাফলগুলি ফিরে লেখা হয়। এই সাইকেল আধুনিক প্রসেসরে প্রতি সেকেন্ডে বিলিয়ন বার পুনরাবৃত্তি করে, সবই আমরা অধ্যয়ন করেছি ডিজিটাল সার্কিট দ্বারা সমন্বিত।