Разлика между CPLD и FPGA

CPLD срещу FPGA

CPLD (сложно програмируемо логическо устройство) и FPGA (Field Programmable Gate Array) са две логически устройства, които започват да се размиват поради подобренията в технологията и въвеждането на характеристиките на единия в другия. Основната разлика между FPGA и CPLD е сложността или броят на логическите порти, съдържащи се във всеки. Въпреки че действителните числа могат да варират значително в различните модели, CPLD съдържат от няколко хиляди порти до десетки хиляди. За сравнение FPGA имат десетки хиляди до няколко милиона. Поради огромната разлика в броя на портите е лесно да се каже, че можете да изградите по-сложна логика с FPGA, отколкото с CPLDs.

Едно от основните предимства на наличието на изключително голям брой порти е възможността функциите на високо ниво да бъдат вградени в чипа. Вместо да ги създавате сами, някои FPGA вече имат суматори, множители и много други оператори за най-често срещаните задачи. След това програмистът може да се съсредоточи върху действителната цел на дизайна и да не се притеснява от прилагането на такива функции.

Има и огромна разлика между двете, що се отнася до тяхната архитектура. FPGA използват LUTs (Look-up Tables), докато CPLD използва по-проста сума от продукти (наричана още море от порти). Използването на LUT е изгодно, тъй като осигурява значителни спестявания при обработка на времето, тъй като чипът няма да трябва да преминава през процеса на преизчисляване на сумата от продуктите, както правят CPLD. LUT също така осигуряват по-гъвкава връзка между вътрешни FPGA модули от това, на което е способен CPLD.

Последната основна разлика между двете е енергонезависима памет. LUTs са форма на паметта, но тя не се запазва, след като захранването бъде отстранено. CPLDs са вградени в чиповете енергонезависима памет, което им позволява да функционират веднага, без да е необходим външен ROM. CPLDs дори се използват, за да действат като „зареждащо устройство“ за FPGAs. Както вече беше споменато в началото на тази статия, линията между функциите започва да се размива. За да премахнат необходимостта от „зареждащи устройства за зареждане“, производителите на FPGA започнаха да вграждат енергонезависима памет в своите FPGA чипове; по този начин тази функция присъства както в CPLD, така и в някои FPGA.

Резюме:

1.FPGA са по-сложни от CPLD.
2.FPGA имат по-високо вградени функции от CPLD.
3.FPGA използват таблици за търсене, докато CPLD използват сума от продукти.
4.CPLD имат енергонезависима памет, докато FPGA не.