В чем разница между CPLD и FPGA? [закрыто]

10

В чем разница между CPLD и FPGA?

Санджив Кумар
источник
1
CPLD использует только термины продукта (и один DFF на выходной контакт); FPGA имеет внутренние настраиваемые блоки LUT, перенос / смещение, DFF, а также более гибкую маршрутизацию, блочную оперативную память и другие специализированные блоки, такие как PLL или MAC.
MarkU
1
... и обычно CPLD используют энергонезависимую память для хранения своей конфигурации, тогда как FPGA используют энергозависимую память (RAM), то есть FPGA должны инициализироваться каждый раз после включения питания.
Творог
6
Ответ доступен с помощью Google - вопрос должен быть закрыт.
Леон Хеллер
4
@ Леон Хеллер Я не знаю, почему вы хотите призвать другого человека, чтобы закрыть этот вопрос. Если вы чувствуете, что этот вопрос должен быть закрыт, вы можете проголосовать за закрытие, но на самом деле ужасно комментировать «вопрос должен быть закрыт» и пытаться призвать другого человека пойти вместе с вами. Если этот вопрос подлежит закрытию, то сначала вы должны закрыть приведенный ниже вопрос electronics.stackexchange.com/questions/1092/…
Sanjeev Kumar
1
@LeonHeller (и др.), Этот вопрос также является ответом на поиск в Google. (Я получил его в качестве второй ссылки, наряду с другими, которые были действительно полезны.)
ilkkachu

Ответы:

5

CPLD, как правило, используются только для замены относительно небольшого количества дискретной логики. А именно, такие вещи, как связка декодеров адресов и схемы шинного интерфейса. CPLD содержат очень мало памяти; В общем, число триггеров того же порядка, что и выводы ввода / вывода (т. е. CPLD 32 макроячейка имеет ~ 30 контактов и ~ 30 триггеров). Комбинаторная логика в CPLD реализована на программируемой логической матрице, которая, как правило, бесполезна на очень высоких скоростях. CPLD также обычно основаны на флэш-памяти или имеют внутреннюю флэш-память, что упрощает требования к конструкции платы и улучшает защиту от обратного проектирования. CPLD также не построены на «передовых» логических процессах.

ПЛИС предназначены для высокопроизводительных вычислений и взаимодействия с высокой пропускной способностью. Внутри они используют совершенно другую архитектуру, чем CPLD. FPGA имеют намного больше внутреннего состояния (регистры и блокировка ОЗУ), чем они имеют выводы ввода / вывода. Комбинаторная логика реализована на высокоскоростных таблицах поиска, которые могут работать до нескольких сотен МГц. LUT и другие компоненты связаны с высокопроизводительной сетью маршрутизации. ПЛИС также содержат специализированные жесткие ядра, которые обеспечивают эффективную реализацию различных компонентов. Блок RAM и множители / DSP-срезы очень распространены. ПЛИС также могут содержать сетевые MAC-адреса, ядра жестких процессоров, интерфейсы PCI Express и другие специализированные блоки. Мультигигабитные трансиверы также являются общей характеристикой высокопроизводительных ПЛИС, которые позволяют передавать данные со скоростью до 50 Гбит / с на пару выводов. ПЛИС, как правило, не содержат энергонезависимой памяти, поэтому для загрузки конфигурации требуется внешняя флэш-память. Шифрование может быть реализовано для повышения безопасности проектирования с помощью ключа с батарейным питанием, хранящегося в FPGA.

alex.forencich
источник
10

Отличия:

  1. Емкость - CPLD обычно имеет меньшую логику. Самый большой CPLD может быть на том же уровне, что и самый маленький FPGA на основном рынке.

  2. Хранение образа - CPLD может загружаться сам по себе, в то время как большинству FPGA необходимо извлечь поток битов конфигурации из энергонезависимого хранилища, поскольку они основаны на SRAM. Это влияет на безопасность системы.

  3. Особенность - CPLD предоставляет только логические элементы, или логические ячейки, которые могут выполнять все виды логических алгоритмов. Кроме того, в FPGA также встроено множество жестких блоков, таких как BlockRAM, DSP, TEMAC, PCIe, MGT, микропроцессор и т. Д., Чтобы создать единый чип FPGA, способный создавать интегрированную полнофункциональную систему.

Яши
источник
3
Что касается # 3, стоит отметить, что с годами, когда CPLD стали более изощренными, грань между CPLD и FPGA размылась. Например, современные CPLD достаточно велики для реализации микроконтроллера. Сейчас дело доходит до того, что некоторые семейства чипов, которые исторически продавались как CPLD, теперь помечаются как FPGA (например, семейство Altera Max)
Дэвид Гарднер,