Різниця між CPLD та FPGA

CPLD проти FPGA

CPLD (комплексний програмований логічний пристрій) та FPGA (Field Programmable Gate Array) - це два логічних пристрої, які починають розмиватися через удосконалення технології та впровадження функцій однієї іншої. Основна відмінність FPGA від CPLD - це складність або кількість логічних воріт, що містяться в кожному. Хоча фактична кількість може сильно відрізнятися між різними моделями, CPLD містять від декількох тисяч воріт до десятків тисяч. Для порівняння, FPGA мають десятки тисяч до кількох мільйонів. Через величезну різницю в кількості воріт, неважко сказати, що ви можете побудувати більш складну логіку з FPGA, ніж з CPLD.

Однією з головних переваг наявності надзвичайно великої кількості воріт є можливість вбудувати в чіп функції високого рівня. Замість того, щоб створювати їх самостійно, деякі FPGA вже мають суматори, множники та багато інших операторів для найпоширеніших завдань. Потім програміст може зосередитись на фактичній меті дизайну і не повинен турбуватися про реалізацію таких функцій.

Існує також величезна різниця між двома, що стосується їх архітектури. FPGA використовують LUTs (таблиці перегляду), тоді як CPLD використовує більш просту суму продуктів (також називається морем воріт). Використання LUT є вигідним, оскільки забезпечує значну економію часу на обробку, оскільки мікросхемі не потрібно буде переробляти суму продуктів, як це роблять CPLD. LUT також забезпечують більш гнучкий взаємозв'язок між внутрішніми модулями FPGA, ніж те, на що здатний CPLD.

Остання основна відмінність між ними - енергонезалежна пам'ять. LUT - це форма пам’яті, але вона не зберігається після вимкнення живлення. CPLD мають енергонезалежну пам'ять, вбудовану в мікросхеми, що дозволяє їм функціонувати відразу без необхідності використання зовнішнього ПЗУ. CPLD використовуються навіть як "завантажувач" для FPGA. Як вже було сказано на початку цієї статті, лінія між ознаками починає розмиватися. Для усунення потреби в «завантажувачах» виробники FPGA почали вбудовувати енергонезалежну пам'ять у свої мікросхеми FPGA; завдяки чому ця функція присутня як у CPLD, так і в деяких FPGA.

Підсумок:

1.FPGA є більш складними, ніж CPLD.
2.FPGA мають більш вбудовані функції на високому рівні, ніж CPLD.
3.FPGA використовують таблиці пошуку, тоді як CPLD використовують суму продуктів.
4.CPLD мають енергонезалежну пам’ять, а FPGA - ні.