CPLD против FPGA
CPLD (Сложное программируемое логическое устройство) и FPGA (Полевой программируемый логический массив) - это два логических устройства, которые начинают размываться из-за усовершенствований в технологии и внедрения функций одного в другой. Основное различие между FPGA и CPLD заключается в сложности или количестве логических элементов, содержащихся в каждом. Хотя фактические числа могут сильно различаться в разных моделях, CPLD содержат от нескольких тысяч ворот до десятков тысяч. Для сравнения, FPGA имеют десятки тысяч до нескольких миллионов. Из-за огромной разницы в количестве шлюзов легко сказать, что вы можете построить более сложную логику с FPGA, чем с CPLD.
Одним из главных преимуществ наличия чрезвычайно большого количества вентилей является возможность встроить в чип функции высокого уровня. Вместо того, чтобы создавать их самостоятельно, некоторые FPGA уже имеют сумматоры, множители и многие другие операторы для наиболее распространенных задач. Программист может затем сосредоточиться на реальной цели проекта и не беспокоиться о реализации таких функций.
Существует также огромная разница между ними, когда речь заходит об их архитектуре. FPGA используют LUT (справочные таблицы), в то время как CPLD использует более простую сумму продуктов (также называемых морем ворот). Использование LUT выгодно, поскольку обеспечивает значительную экономию времени на обработку, поскольку чипу не нужно будет пересчитывать сумму продуктов, как это делают CPLD. LUT также обеспечивают более гибкое соединение между внутренними модулями FPGA, чем то, на что способен CPLD.
Последнее существенное различие между ними заключается в энергонезависимой памяти. LUT - это форма памяти, но она не сохраняется после отключения питания. CPLD имеют энергонезависимую память, встроенную в чипы, что позволяет им функционировать сразу же без необходимости использования внешнего ПЗУ. CPLD даже используются в качестве «загрузчика» для FPGA. Как уже упоминалось в начале этой статьи, грань между объектами начинает стираться. Чтобы устранить необходимость в «загрузчиках», производители ПЛИС начали встраивать энергонезависимую память в свои чипы ПЛИС; тем самым делая эту функцию присутствующей как в CPLD, так и в некоторых FPGA.
Резюме:
1.FPGA более сложны, чем CPLD.
2.FPGA имеют больше встроенных функций высокого уровня, чем CPLD.
3.FPGA используют справочные таблицы, в то время как CPLD используют сумму продуктов.
4.CPLDs имеют энергонезависимую память, в то время как FPGA не имеют.