توابع بولی را با نقشه کارنو، جدول درستی، عبارت بولی، مینترم و ماکسترم سریع ساده کنید. نتایج SOP/POS را مرحلهبهمرحله مشاهده کنید.
چگونه میخواهید نقشه کارنو خود را تعریف کنید؟
متغیرها
ABCD
00
01
11
10
00
01
11
10
برای جابجایی بین 0، 1 و X (حالت بیتفاوت) روی سلولها کلیک کنید
نتیجه سادهشده
گروهبندیهای نقشه
ABCD
00
01
11
10
00
01
11
10
تابع ثابت است؛ کل نقشه گروهبندی شده یا هیچ سلولی گروهبندی نشده است.
عبارت سادهشده
F = 0
تفکیک گروههای اولیه
نیازی به گروهبندی نیست (F = 0).
جملهها
0
لیترالها
0
گیتها
0
مدار گیتهای منطقی
جدول درستی همگامسازیشده
بهطور خودکار بر اساس ورودی نقشه کارنو شما بهروز میشود.
ABCD
m
خروجی
0000
m0
0001
m1
0010
m2
0011
m3
0100
m4
0101
m5
0110
m6
0111
m7
1000
m8
1001
m9
1010
m10
1011
m11
1100
m12
1101
m13
1110
m14
1111
m15
نحوه کار
در چهار مرحله از یک تابع بولی به مدار منطقی سادهشده برسید.
01
متغیرها را انتخاب کنید
متناسب با تابع بولی موردنظر، ۲، ۳، ۴ یا ۵ متغیر انتخاب کنید.
02
تابع را وارد کنید
یک عبارت بولی بنویسید، مینترم یا ماکسترم وارد کنید یا جدول درستی را مستقیماً تکمیل کنید.
03
گروههای K-Map را بررسی کنید
نقشه کارنو گروههای ۲، ۴ و ۸ خانهای را بهصورت خودکار مشخص میکند و بزرگترین گروههای معتبر را پیدا میکند.
04
نتیجه سادهشده را دریافت کنید
عبارت سادهشده SOP یا POS را کپی کنید، مدار منطقی را ببینید یا راهحل را بهصورت PDF خروجی بگیرید.
چه چیزهایی خواهید دید
نگاهی کوتاه به بخشهای اصلی ابزار. برای دیدن همه بخشها پیمایش کنید.
نقشه کارنو
نقشه کارنو
یک K-Map با ترتیب Gray code که گروههای ۲، ۴ و ۸ خانهای را مستقیماً نمایش میدهد.
جدول درستی
جدول درستی
مقدار هر خروجی را بین 0، 1 و X تغییر دهید و بهروزرسانی تابع را همان لحظه ببینید.
عبارت بولی
عبارت بولی
عبارتی مانند AB' + C وارد کنید و آن را مستقیماً به جدول درستی و نقشه کارنو تبدیل کنید.
مدار منطقی
مدار منطقی
عبارت سادهشده را بهصورت مداری شامل گیتهای AND، OR و NOT مشاهده کنید.
حل مرحلهبهمرحله
حل مرحلهبهمرحله
تمام مراحل Quine-McCluskey و انتخابهای Petrick's Method را همراه با توضیح روشن دنبال کنید.
سادهسازی تابع بولی با نقشه کارنو
نقشه کارنو (K-Map) ترکیبهای ورودی را طوری کنار هم قرار میدهد که خانههای مجاور فقط در یک متغیر تفاوت داشته باشند. این چینش کمک میکند راحتتر ببینید کدام متغیرها در عبارت نهایی قابل حذف هستند.
این solver از توابع ۲، ۳، ۴ و ۵ متغیره پشتیبانی میکند. میتوانید از خود K-Map شروع کنید یا جدول درستی، عبارت بولی، مینترمها یا ماکسترمها را وارد کنید.
همه این روشها یک تابع را نشان میدهند. اگر مقداری را در یک بخش تغییر دهید، بخشهای دیگر هم بر اساس همان تابع بهروزرسانی میشوند.
مقادیر 0، 1 و X چه معنایی دارند؟
هر خانه میتواند یکی از این مقادیر را داشته باشد:
1 — تابع برای آن ترکیب ورودی درست است.
0 — تابع نادرست است.
X — مقدار خروجی برای آن ترکیب اهمیتی ندارد.
X یک حالت don't-care است. اگر استفاده از آن باعث ایجاد گروه بزرگتر و عبارت سادهتر شود، میتوان آن را داخل گروه قرار داد. در غیر این صورت لازم نیست استفاده شود.
تبدیل جدول درستی به K-Map
جدول درستی همه ترکیبهای ورودی ممکن و خروجی مربوط به هر کدام را نشان میدهد.
نقشه کارنو همان اطلاعات را دارد، اما خانهها را با ترتیب Gray code میچیند. به همین دلیل دو خانه مجاور فقط در یک متغیر تفاوت دارند.
برای مثال:
A'B'
A'B
فقط B تغییر میکند.
پس این دو جمله را میتوان به:
A'
ساده کرد.
متغیری که داخل یک گروه تغییر میکند، در جمله سادهشده باقی نمیماند.
همین منطق برای گروههای بزرگتر هم استفاده میشود.
مینترم، ماکسترم و عبارت بولی
اگر مسئله مینترمها را بهصورت شماره داده باشد، لازم نیست هر خانه را جداگانه وارد کنید.
برای مثال:
Σm(1,3,5,7)
مینترمهایی را مشخص میکند که خروجی تابع در آنها 1 است.
همچنین:
ΠM(0,2,4,6)
ماکسترمهایی را نشان میدهد که خروجی آنها 0 است.
میتوانید یک عبارت بولی را هم مستقیماً وارد کنید.
Solver عبارت را برای همه ترکیبهای ورودی ارزیابی میکند و جدول درستی، K-Map، مینترمها و ماکسترمهای متناظر را میسازد.
این روش برای مقایسه چند نمایش مختلف از یک تابع بولی بسیار کاربردی است.
قوانین گروهبندی در K-Map
اندازه یک گروه معتبر باید توان عدد دو باشد:
1, 2, 4, 8, 16
معمولاً هرچه گروه معتبر بزرگتر باشد، تعداد literalهای باقیمانده در جمله نهایی کمتر میشود.
لبههای نقشه کارنو نیز از نظر منطقی به هم متصل هستند.
خانههای سمت چپ میتوانند با خانههای سمت راست گروه شوند و لبه بالا هم با لبه پایین همسایه است.
به همین دلیل چهار خانه گوشهها نیز میتوانند یک گروه واحد تشکیل دهند.
گروهها میتوانند روی هم قرار بگیرند. اگر حضور یک خانه در بیش از یک گروه باعث سادهتر شدن تابع شود، این حالت کاملاً معتبر است.
Solver گروههای انتخابشده را مستقیماً روی K-Map نمایش میدهد.
تفاوت SOP و POS
در SOP (Sum of Products) سادهسازی بیشتر بر اساس خانههایی انجام میشود که خروجی آنها 1 است.
مثال:
A'B + BC
در POS (Product of Sums) از خانههایی استفاده میشود که خروجی آنها 0 است.
مثال:
(A + B')(B + C)
SOP همیشه کوتاهتر از POS نیست.
برای بعضی توابع، SOP سادهتر است و برای بعضی دیگر POS تعداد جمله یا literal کمتری دارد.
اگر صورت سؤال قالب خاصی تعیین نکرده باشد، میتوانید هر دو نتیجه را مقایسه کنید.
Quine-McCluskey و Petrick's Method
در K-Mapهای کوچک، معمولاً میتوان گروههای مناسب را با نگاه کردن پیدا کرد.
اما در توابع ۴ یا ۵ متغیره ممکن است چند پوشش معتبر مختلف وجود داشته باشد.
Solver از Quine-McCluskey برای پیدا کردن implicantها بهصورت منظم استفاده میکند.
Implicantی که دیگر نمیتوان آن را بزرگتر کرد، prime implicant است.
برخی prime implicantها ضروری هستند، چون مینترمی را پوشش میدهند که هیچ prime implicant دیگری آن را پوشش نمیدهد.
اگر بعد از انتخاب موارد ضروری هنوز چند راه برای تکمیل پوشش باقی بماند، Petrick's Method برای بررسی ترکیبهای باقیمانده استفاده میشود.
این روش در مسائلی مفید است که بهترین گروهبندی فقط با نگاه کردن به نقشه مشخص نیست.
K-Map برای ۲ تا ۵ متغیر
K-Map دو متغیره ۴ خانه دارد.
K-Map سه متغیره ۸ خانه دارد و مفهوم همسایگی لبههای مخالف را واضحتر نشان میدهد.
نقشه کارنو چهار متغیره ۱۶ خانه دارد و در تمرینهای منطق دیجیتال بسیار رایج است.
در حالت پنج متغیره، ۳۲ ترکیب ورودی وجود دارد. وقتی چند prime implicant یا حالت don't-care وجود داشته باشد، حل دستی میتواند دشوارتر شود.
Solver در تمام اندازههای پشتیبانیشده، K-Map، جدول درستی، عبارت، مینترم و ماکسترم را با یک تابع واحد هماهنگ نگه میدارد.
مدار منطقی و خروجی PDF
پس از سادهسازی، نتیجه را میتوان به شکل مدار منطقی هم مشاهده کرد.
این نمایش نشان میدهد که عبارت SOP یا POS چگونه با گیتهای AND، OR و NOT ساخته میشود.
همچنین میتوان تعداد جملهها، literalها و گیتها را بررسی کرد.
برای نگه داشتن راهحل، میتوانید K-Map، گروهها، مراحل و مدار را همراه هم به صورت PDF خروجی بگیرید.
پرسشهای متداول
نقشه کارنو چیست؟
روشی گرافیکی برای مرتبسازی و سادهسازی تابع بولی با گروهبندی حالتهای مجاور منطقی است.
این solver چند متغیر را پشتیبانی میکند؟
توابع ۲، ۳، ۴ و ۵ متغیره پشتیبانی میشوند.
X در K-Map چه معنایی دارد؟
X یک حالت don't-care است و اگر به سادهتر شدن تابع کمک کند میتوان از آن استفاده کرد.
آیا میتوان جدول درستی را مستقیماً وارد کرد؟
بله. هر خروجی را میتوان روی 0، 1 یا X قرار داد.
آیا مینترم و ماکسترم قابل ورود هستند؟
بله. فرمتهای Σm(...) و ΠM(...) پشتیبانی میشوند.
تفاوت SOP و POS چیست؟
SOP بیشتر از خروجیهای 1 استفاده میکند، در حالی که POS از خروجیهای 0 ساخته میشود.
چرا گروهها میتوانند از لبه K-Map عبور کنند؟
چون در ترتیب Gray code، لبههای مقابل از نظر منطقی همچنان مجاور هستند.
آیا مدار منطقی هم نمایش داده میشود؟
بله. عبارت سادهشده را میتوان به شکل مدار منطقی در سطح گیت نمایش داد.