📋 Truth Table چیست؟
تا اینجا با Boolean Logic، قوانین Boolean Algebra و Simplification آشنا شدیم. حالا وقت آن است که رفتار یک مدار منطقی را دقیق و بدون حدس بررسی کنیم.
اینجا با مفهومی به نام Truth Table یا جدول درستی آشنا میشویم؛ یکی از پایهایترین ابزارها در طراحی مدارهای دیجیتال.
🧠 Truth Table یعنی چه؟
Truth Table جدولی است که در آن تمام حالتهای ممکن ورودیها و خروجی متناظر با هر حالت را نشان میدهیم.
چون در منطق دیجیتال هر ورودی معمولاً فقط دو مقدار دارد: 0 یا 1، میتوانیم تمام حالتهای ممکن را بررسی کنیم.
🔢 چند ردیف باید داشته باشیم؟
اگر یک مدار n ورودی داشته باشد، تعداد حالتهای ممکن ورودیها برابر است با:
| تعداد ورودی | تعداد حالتها |
|---|---|
| 1 | 2 |
| 2 | 4 |
| 3 | 8 |
| 4 | 16 |
| 5 | 32 |
بنابراین برای دو ورودی A و B، دقیقاً چهار حالت مختلف داریم:
| A | B |
|---|---|
| 0 | 0 |
| 0 | 1 |
| 1 | 0 |
| 1 | 1 |
🚪 مثال اول؛ گیت AND
گیت AND زمانی خروجی 1 میدهد که هر دو ورودی 1 باشند.
جدول درستی AND:
| A | B | Y = A·B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
🔎 Truth Table فقط برای گیتها نیست
یکی از نکات مهم این است که Truth Table فقط برای AND، OR یا NOT استفاده نمیشود. هر تابع منطقی را میتوان با یک Truth Table توصیف کرد.
مثلاً تابع زیر را در نظر بگیرید:
برای OR، اگر حداقل یکی از ورودیها 1 باشد، خروجی 1 خواهد شد:
| A | B | Y = A+B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
🧩 یک تابع ترکیبی را بررسی کنیم
حالا کمی جدیتر شویم. تابع زیر را در نظر بگیرید:
این تابع سه ورودی دارد: A، B و C.
پس تعداد حالتهای ممکن برابر است با:
برای اینکه اشتباه نکنیم، بهتر است Truth Table را مرحلهبهمرحله بسازیم.
| A | B | C | AB | Y = AB+C |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 1 |
| 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 |
🛠️ روش استاندارد ساخت Truth Table
مثلاً A، B و C.
برای n ورودی، تعداد ردیفها 2n است.
از 000 شروع کن و تا 111 ادامه بده.
اگر عبارت چند قسمت دارد، هر قسمت را در یک ستون جدا قرار بده.
در آخر مقدار تابع را برای هر ردیف مشخص کن.
🧠 چرا Truth Table اینقدر مهم است؟
چون Truth Table یک پل بسیار مهم بین چند بخش مختلف طراحی دیجیتال است.
یعنی میتوانیم یک تابع را به شکل عبارت بولی بنویسیم، Truth Table آن را بسازیم و سپس مدار منطقی متناظر آن را طراحی کنیم.
🔄 از Truth Table به Boolean Expression
مسیر فقط یکطرفه نیست. گاهی بهجای اینکه یک عبارت داشته باشیم و Truth Table بسازیم، خود Truth Table را داریم و باید تابع بولی را از روی آن استخراج کنیم.
برای مثال اگر خروجی تابع در بعضی ردیفها برابر 1 باشد، میتوانیم از همان ردیفها برای ساخت فرم SOP استفاده کنیم.
Truth Table → استخراج تابع → SOP / POS → Simplification → K-Map
💻 Truth Table و Verilog
وقتی بعداً وارد Verilog شویم، میتوانیم همین رفتار منطقی را به صورت RTL توصیف کنیم. برای مثال تابع:
در Verilog به شکل ساده میتواند نوشته شود:
assign Y = (A & B) | C;
سپس ابزارهای طراحی سختافزار میتوانند این منطق را برای FPGA سنتز کنند.
⚠️ یک اشتباه رایج
بعضی افراد هنگام ساخت Truth Table فقط چند حالت ورودی را بررسی میکنند. این کار برای یک Truth Table کامل درست نیست.
مثلاً برای چهار ورودی:
بنابراین Truth Table کامل یک تابع چهارمتغیره باید 16 حالت ورودی داشته باشد.
🔗 ارتباط Truth Table با K-Map
این قسمت برای ادامه مسیر بسیار مهم است. Truth Table معمولاً یکی از نقاط شروع برای ساخت Karnaugh Map است.
در K-Map، مقدارهای 1 و 0 جدول درستی را به شکلی خاص در خانههای نقشه قرار میدهیم و سپس با Grouping سعی میکنیم تابع را ساده کنیم.
بنابراین اگر Truth Table را خوب یاد بگیریم، ورود به K-Map بسیار راحتتر خواهد شد.
📌 جمعبندی
Truth Table جدولی است که تمام ترکیبهای ممکن ورودی و خروجی متناظر یک مدار یا تابع منطقی را نشان میدهد.
برای n ورودی، تعداد حالتهای ممکن برابر 2n است.
Truth Table یکی از ابزارهای اصلی برای تحلیل گیتها، طراحی توابع منطقی، استخراج SOP/POS، بررسی Simplification و ورود به K-Map است.
🚀 قدم بعدی در مسیر
بررسی تمام حالتهای ورودی و خروجی
تبدیل Truth Table به فرم استاندارد تابع
سادهسازی گرافیکی تابع
تبدیل تابع سادهشده به Circuit
حالا که Truth Table را داریم، قدم بعدی این است که یاد بگیریم چطور از روی جدول درستی، عبارت بولی بسازیم. اینجا وارد دنیای SOP و POS میشویم.