Коли ви намагаєтеся створити електронну систему, ви, як правило, можете розробити безліч технічно обгрунтованих рішень, використовуючи комбінації позачергових мікросхем, включаючи програмовані компоненти (µC, µP), аналогові компоненти, програмовану логіку (FPGA , CPLD) та спогади.
Іноді може бути цікаво інтегрувати лише потрібні вам функції в чіп, призначений для вашої програми (або обмежений підклас додатків), і це ASIC: поєднання аналогових функцій, цифрових функцій, програмованої логіки, програмованої програми контролери та різні типи пам’яті в одному чіпі . ASIC також може бути єдиним можливим рішенням, коли вашій системі потрібно досягти високої енергоефективності (наприклад, найнижчий джоуль / операція) або дуже високої продуктивності (наприклад, найнижча затримка або найвища робота / секунда).
ASIC коштував багато для розвитку (100 тис. К €, часто набагато більше), але вартість виготовлення тисяч кремнієвих пластин після початкових інвестицій невисока (копійок до десятків центів за чіп). Вони також потребують декількох місяців, щоб розробити, перевірити та виготовити, і вимагає дуже складної методології та надзвичайно дорогих інструментів розробки.
Ось чому вони використовуються для великих обсягів програм (наприклад, побутова електроніка) та додатків, де можна стягувати величезну ціну за чіп (наприклад, космічне обладнання, маршрутизатори для провайдерів тощо).
Деякі ASIC інтегрують програмовану логіку на зразок FPGA, а деякі FPGA інтегрують специфічні для програми аналогові блоки, тому розрізнення не завжди просте, але наступне, як правило, вірно:
- FPGA як нестандартний, ASIC не є
- FPGA коштував 10-1000 € за штуку, ASIC коштував 0,1-10 € за штуку
- Інструменти розробки для FPGA доступні, для ASIC це коштувало ціле ціле життя
- Системи FPGA можуть бути розроблені за тиждень, ASIC - за місяці
- FPGA менш енергоефективні, ніж ASIC, які розроблені для енергоефективності
- FPGA менш потужні, ніж ASIC, які розроблені для максимальної продуктивності
- FPGA доступні з обмеженим набором аналогових функцій, ASIC може бути розроблений з усіма видами аналогових функцій (для управління живленням, обробки сигналів, інтерфейсу тощо)