گیت منطقی XOR یا Exclusive-OR (OR حذفی)، مدار بسیار مفیدی است؛ که می‌تواند در تعداد زیادی از انواع مختلف مدارهای محاسباتی، استفاده شود.

در مقاله‌های قبل دیدیم؛ که با استفاده از سه گیت اصلی، گیت AND، گیت OR و گیت NOT می‌توان انواع بسیاری از توابع گیت منطقی دیگر، مانند گیت NAND و گیت NOR یا هر نوع دیگری از تابع منطقی دیجیتالی که بتوانیم تصور کنیم؛ را ساخت.

اما دو نوع دیگر از گیت‌های منطقی دیجیتال وجود دارند؛ که اگرچه در نوع خود یک گیت اساسی به حساب نمی‌آیند؛ چرا که از ترکیب گیت‌های منطقی دیگر به‌وجود می‌آیند؛ اما تابع بولی خروجی آن‌ها، به‌اندازه‌ی کافی مهم است و از این‌رو می‌توانند به‌عنوان گیت‌های منطقی کامل، درنظر گرفته‌شوند. این دو گیت منطقی “دوگانه”،گیت XOR یا Exclusive-OR (OR حذفی-Ex_OR) و مکمل آن XNOR یا Exclusive-NOR (NOR حذفی-Ex_NOR) نام دارند.

پیش از این دیدیم؛ که برای یک گیت دو ورودی OR، اگر A=”1″ یا(OR) B=”1″ یا هردو (OR BOTH) A+B=”1″ باشند؛ در این‌صورت خروجی گیت دیجیتال، باید در سطح منطقی “1” باشد و به این دلیل، این نوع از گیت منطقی با نام تابع Inclusive-OR (OR شامل‌شدن) شناخته می‌شود. این گیت منطقی، نام خود را از این واقعیت می‌گیرد؛ که وقتی هردو ورودی A و B برابر با “1” باشند؛ شامل (includes) خروجی Q=”1″ می‌شود.

با این‌حال، اگر خروجی منطقی “1” درصورتی بدست‌ آید؛ که فقط A=”1″ یا (OR) فقط B=”1″ باشد و این امر، همزمان برای هردو صادق نباشد (NOT both) و ورودی‌های باینری “01” و “10” را دراختیار ما قرار دهد؛ این نوع از گیت منطقی با نام تابع XOR (OR حذفی) شناخته می‌شود. دلیل این امر، این است؛ که عبارت بولی، برای داشتن خروجی Q=”1″ ،مورد “یای هردو (OR BOTH)” یعنی زمانی‌که، هردو ورودی A و B برابر با “1” هستند؛ را حذف (exclude) می‌کند.

به عبارت دیگر، خروجی یک گیت XOR (OR حذفی) تنها زمانی در سطح “بالا (HIGH)” قرار دارد؛ که پایانه‌های دو ورودی در سطح منطقی “متفاوت“ نسبت به یکدیگر قرار داشته باشند.

تعداد فرد از سطح منطق “۱” در ورودی‌ها، سطح منطقی “۱” را در خروجی قرار می‌دهد. این دو ورودی با قرارداشتن در سطح منطقی “۱” و سطح منطقی “۰” می‌توانند عبارت بولی زیر را در اختیار ما قرار دهند.

 

تابع XOR با ترکیب گیت‌های منطقی استاندارد با یکدیگر، به دست می‌آید؛ تا توابع گیت پیچیده‌تری را بسازد. این گیت‌ها به‌صورت گسترده‌ای در ساخت مدارهای منطقی حسابی، مقایسه‌کننده‌های منطقی محاسباتی و مدارهای تشخیص خطا، استفاده می‌شوند.

تابع دو ورودی XOR، اساسا یک پیمانه از دو جمع‌کننده است؛ زیرا مجموع دو عدد باینری را می‌دهد و درنتیجه، طراحی پیچیده‌تری از دیگر انواع پایه‌ی گیت‌های منطقی است. جدول درستی، نماد منطقی و پیاده‌سازی گیت دو ورودی Exclusive-OR، در زیر آورده شده‌است.

 

گیت منطقی دیجیتال XOR

گیت منطقی XOR با دو ورودی

جدول درستی

Q
A
B
۰
۰
۰
۱
۱
۰
۱
۰
۱
۰
۱
۱

به صورت A OR B اما NOT هردو به ما Q را می‌دهد

نماد

Q= A ⊕ B

این گیت دو ورودی، عبارت بولی زیر را در اختیار ما قرار دهد:

جدول درستی بالا، نشان می‌دهد؛ که خروجی یک گیت XOR ، تنها زمانی به سطح “بالا (HIGH)”می‌رود؛ که پایانه‌های دو ورودی در سطح منطقی “متفاوت” نسبت به یکدیگر قرار داشته باشند. اگر این دو ورودی A و B، هردو در سطح منطقی “1” یا در سطح منطقی “0” باشند؛ خروجی برابر با “0” خواهدبود و گیت را تبدیل به یک “گیت فرد و نه گیت زوج” می‌نماید. به عبارت دیگر، وقتی‌که، تعداد فردی از ورودی‌ها برابر با “1” باشند؛ خروجی برابر با “1” است.

این قابلیت گیت XOR یا Exclusive-OR در مقایسه‌ی دو سطح منطقی و تولید خروجی وابسته به وضعیت ورودی، در مدارات منطقی محاسباتی، بسیار مفید است و عبارت بولی زیر را به ما می‌دهد:

تابع منطقی پیاده‌سازی‌شده توسط گیت دو ورودی Exclusive-OR ، A OR B” و نه هردو را”، در خروجی Q قرار می‌دهد. درحالت کلی، گیت Ex-OR خروجی در منطق “1” را زمانی خواهد داشت؛ که تعداد فردی از “۱” در ورودی‌های گیت باشند. اگر دو عدد برابر باشند؛ خروجی برابر با “۰” خواهدبود.

پس یک تابع XOR با بیش از دو ورودی، یک “تابع فرد” یا پیمانه‌ی دو جمع (Mod-2-SUM) و نه XOR نامیده می‌شود. این توضیح را می‌توان گسترش داد؛ تا هر تعدادی از ورودی‌های جداگانه‌ را همانند زیر به یک گیت X-OR سه ورودی، اعمال کرد.

گیت منطقی XOR با سه ورودی

جدول درستی

Q
A
B
C
۰
۰
۰
۰
۱
۱
۰
۰
۱
۰
۱
۰
۰
۱
۱
۰
۱
۰
۰
۱
۰
۱
۰
۱
۰
۰
۱
۱
۱
۱
۱
۱

هر تعداد فردی از ورودی‌ها خروجی Q را به ما می‌دهد

نماد

عبارت بولی    Q = A ⊕ B ⊕ C

این گیت سه ورودی، عبارت بولی زیر را در اختیار ما قرار دهد:

نماد مورداستفاده برای نشان‌دادن تابع فرد XOR، کمی متفاوت از گیت استاندارد Inclusive-OR (OR شامل‌شدن) است. عبارت منطقی یا بولی داده‌شده برای یک گیت OR، جمع منطقی است؛ که با علامت استاندارد جمع نشان داده می‌شود.

نماد استفاده‌شده برای توصیف عبارت بولی برای تابع XOR (OR حذف)، نماد به‌علاوه‌ (+) است؛ که در یک دایره (O) قرار می‌گیرد. این نماد XOR همچنین نشان‌دهنده‌ی عبارت ریاضی “جمع مستقیم اشیای فرعی”، نیز می‌باشد و نماد حاصل برای Exclusive-OR به‌صورت ⨁ است.

پیش از این گفتیم؛ که تابع Ex-OR، یک تابع منطقی پایه نیست و از ترکیب گیت‌های منطقی مختلف با یکدیگر، بدست می‌آید. با استفاده از جدول درستی دو ورودی در بالا، تابع XOR را به  گسترش می‌دهیم؛ که به این معناست؛ که بیان جدیدی را می‌توانیم با استفاده از گیت‌های منحصربفرد زیر، درک کنیم.

مدار معادل گیت XOR

مدار معادل گیت Ex-OR

یکی از معایب اصلی، پیاده‌سازی تابع XOR در بالا، این است؛ که شامل سه ‌نوع مختلف از گیت‌های منطقی، OR، NAND و درنهایت AND در طراحی خود می‌شود. یک راه آسان‌تر برای ایجاد تابع XOR، از یک گیت تنها، استفاده از گیت موردعلاقه‌ی قدیمی ما، یعنی گیت NAND است؛ که در زیر نشان داده شده‌است.

گیت XOR با گیت‌های NAND

گیت XOR با گیت‌های NAND

گیت‌های Exclusive-OR عمدتا برای ساخت مداراتی که عملیات حسابی یا محاسباتی را انجام می‌دهند؛ بخصوص در جمع‌کننده‌ها و نیم‌جمع‌کننده‌ها استفاده می‌شوند؛ زیرا می‌توانند رقم نقلی را برای تابع فراهم کنند یا به‌عنوان یک وارون‌ساز کنترل‌شده، درجایی‌که، یک ورودی داده‌ی باینری را انتقال می‌دهد و ورودی دیگر، سیگنال کنترلی را عرضه می‌کند؛ عمل کنند.

IC گیت منطقی دیجیتال XOR که بیشتر دردسترس است؛ شامل:

TTL- گیت منطقی XOR

CMOS- گیت منطقی XOR

74LS86 چهارتایی 2-ورودی
CD4030 چهارتایی 2-ورودی

گیت XOR دو ورودی چهارتایی 7486

گیت XOR دو ورودی چهارتایی 7486

گیت منطقی XOR (OR حذفی)، مدار بسیار مفیدی است؛ که می‌تواند در بسیاری از انواع مختلف مدارهای محاسباتی، مورداستفاده قرار گیرد. اگرچه این گیت در نوع خود، گیت منطقی پایه به‌حساب نمی‌آید؛ اما سودمندی و تطبیق‌پذیری، آن را به یک تابع منطقی استاندارد کامل تبدیل کرده‌است؛ که دارای عبارت بولی، عملگر و نماد می‌باشد. گیت منطقی Exclusive-OR، به‌صورت گسترده‌ و به‌شکل پکیج گیت TTL چهارتایی و دو ورودی 74LS86 و پکیج گیت CMOS چهارتایی و دو ورودی 4030B در دسترس است.

یکی از کاربردهای رایج آن، به‌عنوان مقایسه‌کننده‌ی منطقی پایه است؛ که در زمانی که دو ورودی یکسان نیستند؛ خروجی در منطق “1” تولید می‌کند. به همین دلیل، گیت XOR وضعیت نابرابر دارد و به‌عنوان یک تابع فرد، شناخته می‌شود. به‌منظور مقایسه‌ی اعداد با دو یا تعداد بیت بیشتر، نیاز به گیت‌های XOR اضافی، با مقایسه‌گر منطقی 74LS85، با عرض 4 بیت، می‌باشد.

 

در مقاله بعدی در مورد گیت‌های منطقی دیجیتال، تابع منطقی دیجیتال NORX (Exclusive-NOR) را در هردو مدار منطقی TTL و CMOS ، به‌همراه تعریف جبر بولی و جدول درستی آن، بررسی خواهیم‌کرد.