آشنایی با LUT (Look-Up Table) در FPGA

یکی از اجزای کلیدی در ساختار داخلی FPGA، جدول LUT یا Look-Up Table است. این جدول در واقع یک حافظه کوچک با دسترسی سریع است که برای پیاده‌سازی توابع منطقی ترکیبی استفاده می‌شود.

نحوه عملکرد LUT با مثال

فرض کنید بخواهیم تابع منطقی زیر را در یک LUT پیاده‌سازی کنیم:

F = A AND B

اگر LUT دارای ۲ ورودی (A و B) باشد، ۴ حالت مختلف برای ورودی‌ها داریم و خروجی هر حالت به‌صورت زیر در جدول LUT ذخیره می‌شود:

ABF = A AND B
000
010
100
111

FPGA در زمان اجرا با توجه به ورودی‌های A و B، خروجی مناسب را از LUT بازیابی می‌کند.

انواع LUT از نظر تعداد ورودی

LUTها می‌توانند از نظر تعداد ورودی متفاوت باشند که در جدول زیر مشاهده می‌کنید:

نوع LUTتعداد ورودی‌هاتعداد حالت‌هاتعداد بیت ذخیره‌سازی
LUT1122 بیت
LUT2244 بیت
LUT3388 بیت
LUT441616 بیت
LUT553232 بیت
LUT666464 بیت

ساختار LUT6 در FPGAهای Xilinx

در FPGAهای سری 7 به بعد از شرکت Xilinx، معمولاً از LUT6 استفاده می‌شود. این LUTها می‌توانند:

  • یک تابع 6 ورودی ترکیبی را پیاده‌سازی کنند
  • یا به صورت دو تابع 5 ورودی مستقل با یک مالتی‌پلکسر داخلی عمل کنند

نکته مهم در طراحی

اگر تابع شما بیش از 6 ورودی داشته باشد، ابزار سنتز مانند Vivado آن را به چندین LUT تقسیم می‌کند. این کار باعث افزایش منابع مصرفی و تأخیر مدار می‌شود. بنابراین، ساده‌سازی و بهینه‌سازی توابع منطقی در طراحی اهمیت زیادی دارد.