📋 Truth Table چیست؟

تا اینجا با Boolean Logic، قوانین Boolean Algebra و Simplification آشنا شدیم. حالا وقت آن است که رفتار یک مدار منطقی را دقیق و بدون حدس بررسی کنیم.

اینجا با مفهومی به نام Truth Table یا جدول درستی آشنا می‌شویم؛ یکی از پایه‌ای‌ترین ابزارها در طراحی مدارهای دیجیتال.

🧠 Truth Table یعنی چه؟

Truth Table جدولی است که در آن تمام حالت‌های ممکن ورودی‌ها و خروجی متناظر با هر حالت را نشان می‌دهیم.

چون در منطق دیجیتال هر ورودی معمولاً فقط دو مقدار دارد: 0 یا 1، می‌توانیم تمام حالت‌های ممکن را بررسی کنیم.

0 = LOW     |     1 = HIGH
ایده اصلی: Truth Table در واقع به ما می‌گوید: «برای هر ترکیب ورودی، خروجی مدار چه مقداری خواهد داشت؟»

🔢 چند ردیف باید داشته باشیم؟

اگر یک مدار n ورودی داشته باشد، تعداد حالت‌های ممکن ورودی‌ها برابر است با:

2n
تعداد ورودی تعداد حالت‌ها
12
24
38
416
532

بنابراین برای دو ورودی A و B، دقیقاً چهار حالت مختلف داریم:

A B
00
01
10
11

🚪 مثال اول؛ گیت AND

گیت AND زمانی خروجی 1 می‌دهد که هر دو ورودی 1 باشند.

Y = A · B

جدول درستی AND:

A B Y = A·B
000
010
100
111
AND A B Y

🔎 Truth Table فقط برای گیت‌ها نیست

یکی از نکات مهم این است که Truth Table فقط برای AND، OR یا NOT استفاده نمی‌شود. هر تابع منطقی را می‌توان با یک Truth Table توصیف کرد.

مثلاً تابع زیر را در نظر بگیرید:

Y = A + B

برای OR، اگر حداقل یکی از ورودی‌ها 1 باشد، خروجی 1 خواهد شد:

A B Y = A+B
000
011
101
111

🧩 یک تابع ترکیبی را بررسی کنیم

حالا کمی جدی‌تر شویم. تابع زیر را در نظر بگیرید:

Y = AB + C

این تابع سه ورودی دارد: A، B و C.

پس تعداد حالت‌های ممکن برابر است با:

23 = 8

برای اینکه اشتباه نکنیم، بهتر است Truth Table را مرحله‌به‌مرحله بسازیم.

A B C AB Y = AB+C
00000
00101
01000
01101
10000
10101
11011
11111
نکته مهم: ستون میانی AB را جدا حساب کردیم تا ساختن خروجی نهایی راحت‌تر شود. این روش در توابع پیچیده‌تر بسیار کمک‌کننده است.

🛠️ روش استاندارد ساخت Truth Table

1️⃣ ورودی‌ها را مشخص کن

مثلاً A، B و C.

2️⃣ تعداد ردیف‌ها را حساب کن

برای n ورودی، تعداد ردیف‌ها 2n است.

3️⃣ حالت‌های ورودی را بنویس

از 000 شروع کن و تا 111 ادامه بده.

4️⃣ بخش‌های میانی را حساب کن

اگر عبارت چند قسمت دارد، هر قسمت را در یک ستون جدا قرار بده.

5️⃣ خروجی نهایی را حساب کن

در آخر مقدار تابع را برای هر ردیف مشخص کن.

🧠 چرا Truth Table این‌قدر مهم است؟

چون Truth Table یک پل بسیار مهم بین چند بخش مختلف طراحی دیجیتال است.

Boolean Expression ↔ Truth Table ↔ Logic Circuit

یعنی می‌توانیم یک تابع را به شکل عبارت بولی بنویسیم، Truth Table آن را بسازیم و سپس مدار منطقی متناظر آن را طراحی کنیم.

🔄 از Truth Table به Boolean Expression

مسیر فقط یک‌طرفه نیست. گاهی به‌جای اینکه یک عبارت داشته باشیم و Truth Table بسازیم، خود Truth Table را داریم و باید تابع بولی را از روی آن استخراج کنیم.

برای مثال اگر خروجی تابع در بعضی ردیف‌ها برابر 1 باشد، می‌توانیم از همان ردیف‌ها برای ساخت فرم SOP استفاده کنیم.

اینجا دقیقاً وارد مرحله بعدی می‌شویم:
Truth Table → استخراج تابع → SOP / POS → Simplification → K-Map

💻 Truth Table و Verilog

وقتی بعداً وارد Verilog شویم، می‌توانیم همین رفتار منطقی را به صورت RTL توصیف کنیم. برای مثال تابع:

Y = AB + C

در Verilog به شکل ساده می‌تواند نوشته شود:

assign Y = (A & B) | C;

سپس ابزارهای طراحی سخت‌افزار می‌توانند این منطق را برای FPGA سنتز کنند.

⚠️ یک اشتباه رایج

بعضی افراد هنگام ساخت Truth Table فقط چند حالت ورودی را بررسی می‌کنند. این کار برای یک Truth Table کامل درست نیست.

قانون طلایی: اگر n ورودی داشته باشیم، باید تمام 2n حالت ممکن را بررسی کنیم.

مثلاً برای چهار ورودی:

24 = 16

بنابراین Truth Table کامل یک تابع چهارمتغیره باید 16 حالت ورودی داشته باشد.

🔗 ارتباط Truth Table با K-Map

این قسمت برای ادامه مسیر بسیار مهم است. Truth Table معمولاً یکی از نقاط شروع برای ساخت Karnaugh Map است.

در K-Map، مقدارهای 1 و 0 جدول درستی را به شکلی خاص در خانه‌های نقشه قرار می‌دهیم و سپس با Grouping سعی می‌کنیم تابع را ساده کنیم.

Truth Table → K-Map → Grouping → Simplified Boolean Expression

بنابراین اگر Truth Table را خوب یاد بگیریم، ورود به K-Map بسیار راحت‌تر خواهد شد.

📌 جمع‌بندی

Truth Table جدولی است که تمام ترکیب‌های ممکن ورودی و خروجی متناظر یک مدار یا تابع منطقی را نشان می‌دهد.

برای n ورودی، تعداد حالت‌های ممکن برابر 2n است.

Truth Table یکی از ابزارهای اصلی برای تحلیل گیت‌ها، طراحی توابع منطقی، استخراج SOP/POS، بررسی Simplification و ورود به K-Map است.

🚀 قدم بعدی در مسیر

1️⃣ Truth Table

بررسی تمام حالت‌های ورودی و خروجی

2️⃣ SOP / POS

تبدیل Truth Table به فرم استاندارد تابع

3️⃣ K-Map

ساده‌سازی گرافیکی تابع

4️⃣ مدار منطقی

تبدیل تابع ساده‌شده به Circuit

حالا که Truth Table را داریم، قدم بعدی این است که یاد بگیریم چطور از روی جدول درستی، عبارت بولی بسازیم. اینجا وارد دنیای SOP و POS می‌شویم.