مقایسه کننده دیجیتال، یکی دیگر از مدارهای بسیار مفید منطقی ترکیبی است که برای مقایسهی ارزش دو رقم باینری مورد استفاده قرار میگیرد.
مقایسهکنندههای دیجیتال یا باینری، از گیتهای استاندارد AND، NOR و NOT ،برای مقایسهی سیگنالهای دیجیتالی حاضر در پایانههای ورودی آنها و تولید یک خروجی، وابسته به وضعیت آن ورودیها، ساخته میشوند.
برای مثال، علاوه بر اینکه میتوان اعداد باینری را جمع و تفریق کرد؛ باید بتوانیم آنها را مقایسه کرده و تعیین کنیم؛ که آیا مقدار ورودی A بزرگتر، کوچکتر یا مساوی مقدار ورودی B و غیره است یا خیر؟!
مقایسه کننده ی دیجیتال، با استفاده از چندین گیت منطقی، که براساس اصول جبر بولین، عمل میکند؛ اینکار را انجام میدهد. دو نوع اصلی مقایسهکنندهی دیجیتال موجود، بهصورت زیر است:
مقایسهکنندهی برابری – یک مقایسهکنندهی برابری، یک مقایسهکنندهی دیجیتال با تنها یک پایانهی خروجی، در زمانی است؛ که A=B است. چه A=B=1 (HIGH) و چه A=B=0 (LOW) باشد.
مقایسهکنندهی مقدار – یک مقایسهکنندهی مقدار، یک مقایسهکنندهی دیجیتال دارای 3 پایانهی خروجی، یکی برای برابری، A=B، یکی برای بزرگتر بودن A>B و یکی برای کوچکتربودن A
هدف مقایسهکنندهی دیجیتال، مقایسهنمودن مجموعهای ازمتغیرها و اعداد نامشخص است. برای مثال، A (A1,A2,A3,…..An,…) درمقابل مقدار ثابت یا ناشناختهای مانند B (B1,B2,B3,…Bn,…) قرار میگیرد و یک وضعیت خروجی یا پرچم را، وابسته به نتیجهی مقایسه، تولید میکند. برای مثال، یک مقایسهکنندهی مقدار با دو ورودی تک بیت( A,B ) ممکن است؛ یکی از سه وضعیت زیر را، هنگامیکه باهم مقایسه میشوند؛ تولید کند.
که به معنای این است؛ که A بزرگتر از B یا A برابر با B و یا کوچکتر از B است.
این امر، اگر بخواهیم دو متغیر را باهم مقایسه کنیم و بخواهیم یک خروجی، زمانیکه، یکی از سه وضعیت بالا بهدست آمده باشد؛ تولید کنیم؛ مفید است. برای مثال، تولید یک خروجی، از یک شمارنده، هنگام رسیدن شمارنده به یک عدد خاص. مقایسهکنندهی 1 بیتی سادهی زیر را در نظر بگیرید:
مدار مقایسهکنندهی دیجیتال 1 بیتی
بنابراین، عملیات مقایسهکنندهی دیجیتال 1 بیتی دادهشده، دارای جدول درستی، زیر است:
جدول درستی مقایسهکنندهی دیجیتال
ممکن است؛ دو ویژگی متمایز دربارهی مقایسهکننده، از جدول درستی بالا، مشاهدهکنید.
سپس عملکرد یک جمعکنندهی ساده، نیاز به دو ورودی داده دارد؛ که دو خروجی تولید میکند. اول، مدار ،بین 0 یا 1 فرقی نمیگذارد؛ زیراخروجی A=B ، هنگامی تولید میشود؛ که هردو برابر باشند؛ یعنی یا A=B=0 و یا A=B=1 باشد. دوم، وضعیت خروجی برای A=B شبیه به یک گیت منطقی متداول معمولی یعنی تابع (معادل) انحصاری NOR یا Ex_NOR است؛ که برای هر n بیت به ما میدهد:
مقایسهکنندههای دیجیتال، درواقع از گیتهای Ex-NOR در طراحی خود، برای مقایسهی جفتهای مربوطه، استفاده میکنند. زمانیکه دو مقدار باینری یا BCD را باهم مقایسه میکنیم یا دو متغیر را در مقابل هم قرار میدهیم؛ درواقع درحال مقایسهی “بزرگی” آنها با یکدیگر هستیم. به این معنا، که منطق “0” در مقابل منطق “1” قرار میگیرد و عبارت مقایسهکنندهی مقدار نیز، از اینجا ناشی میشود.
علاوهبر مقایسهی بیتهای واحد، میتوانیم مقایسهکنندههای بیت بزرگتر را، با کسکیدکردن n عدد از آنها با یکدیگر و تولید یک مقایسهکنندهی n بیتی، همانند جمعکنندهی n بیتی، در آموزش قبل، تولید کنیم. اگر یک کلمه، بزرگتر، مساوی یا کمتر از کلمهی دیگر باشد؛ از مقایسهکنندههای چند بیتی، میتوان برای مقایسهی کل کلمات باینری یا BCD برای تولید خروجی، استفاده نمود.
یک مثال بسیار خوب در این زمینه، مقایسهکنندهی مقدار 4 بیتی است. دراینجا، دو کلمهی 4 بیتی، برای تولید خروجی مرتبط، با یکدیگر مقایسه میشوند. یک کلمه متصلشده به ورودی A، با کلمهی متصلشده به ورودی B، با یکدیگر مقایسه میشوند؛ که در زیر نیز نشان داده شدهاست.
مقایسه کنندهی مقدار 4 بیتی
تعدادی از مقایسهکنندههای دیجیتال تجاری موجود، مانند مقایسهکنندههای مقدار 4 بیتی TTL74LS85 یا CMOS4063، دارای پایانههای ورودی اضافی بوده؛ که به مقایسهکنندههای واحد بیشتری اجازه میدهد؛ تا با یکدیگر، ” کسکید (cascaded) ” شوند. این امر، سبب تولید مقایسهکنندههای مقدار “n” بیتی میشود؛ که میتوان از آنها برای مقایسهی کلمات بزرگتر از 4 بیت، استفاده نمود. این ورودیهای کسکید یا آبشاری شده، مستقیما به خروجیهای مربوطهی مقایسهکنندهی پیشین متصل میشوند؛ که همانطور که در زیر نشان داده شدهاست؛ برای مقایسهی کلمات 8، 16 و یا حتی 32 بیت، بکارگرفته میشود.
مقایسهکنندهی کلمهی 8 بیتی
هنگام مقایسهی اعداد بزرگ باینری یا BCD همانند مثال بالا، برای صرفهجویی در زمان، مقایسهکننده، ابتدا، با مقایسهی بیت با بالاترین ارزش (MSB) شروع بهکار میکند. اگر هردو برابر باشند یعنی A=B؛ سپس شروع به مقایسهی بیت بعدی با ارزش پایینتر میکند و اینگونه ادامه میدهد؛ تا به بیت با کمترین ارزش (LSB) برسد. اگر همچنان برابر شوند؛ یعنی دو عدد کاملا باهم برابر میباشند.
اگر عدم تساوی یافت شود؛ یعنی A>B یا A<B شود رابطهی بیت دو عدد، تعیین میشود و مقایسهی بین هر بیت اضافی مرتبهی پایین، متوقف میگردد مقایسهکنندهی دیجیتال، بهطور گستردهای در مبدلهای آنالوگ به دیجیتال (ADC) و واحدهای منطقی حسابی (ALU)، برای انجام عملیات حسابی، استفاده میشود.