FPGA

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Програмована користувачем вентильна матриця, ПКВМ (англ. Field-Programmable Gate Array, FPGA) — напівпровідниковий пристрій, що може бути налаштований виробником або розробником після виготовлення; звідси назва: «програмується користувачем». ПКВМ програмуються шляхом зміни логіки роботи принципової схеми, наприклад, за допомогою вихідного коду мовою проектування (типу VHDL), на якому можна описати цю логіку роботи мікросхеми. ПКВМ є однією з архітектурних різновидів програмованих логічних інтегральних схем (ПЛІС).

ПКВМ можуть бути модифіковані практично в будь-який момент у процесі їх використання. Вони складаються з конфігурованих логічних блоків, подібних перемикачів з безліччю входів і одним виходом (логічні вентилі або gates). У цифрових схемах такі перемикачі реалізують базові виконавчі операції AND, NAND, OR, NOR і XOR. У більшості сучасних мікропроцесорів функції логічних блоків фіксовані і не можуть модифікуватися. Принципова відмінність ПКВМ полягає в тому, що і функції блоків, і конфігурація з'єднань між ними можуть змінюватися за допомогою спеціальних сигналів, що посилаються схемою. У деяких спеціалізованих інтегральних схемах (ASIC) використовуються логічні матриці, аналогічні ПКВМ за структурою, однак вони конфігуруються один раз в процесі виробництва, у той час як ПКВМ можуть постійно перепрограмувати і міняти топологію з'єднань в процесі використання. Однак, така гнучкість вимагає істотного збільшення кількості транзисторів мікросхеми.

Історія [ред.]

Індустрія ПКВМ виросла з програмованих ПЗП (ППЗП) і програмованих логічних інтегральних схем (ПЛІС). Обидва ці типи пристроїв є програмованими, причому програмування може виконуватися або на заводі-виробнику, або користувачем, проте, програмування їх полягає тільки у зміні зв'язків між вентилями. Співзасновник Xilinx Росс Фрімен і Берні Вондершміт винайшли першу комерційно придатну ПКВМ XC2064 в 1985 році. Ця мікросхема, що має програмовані вентилі і програмовані з'єднання між вентилями, поклала початок нової технології і нового ринку. Через 20 років за цей винахід Росс Фрімен був занесений до Національного Залу Слави винахідників.

Сама концепція програмованих вентильних матриць, логічних вентилів і логічних блоків запатентована Девідом Пейджем і Луверном Петерсоном в 1985 році. У 1990-х роках відбувся різкий стрибок інтересу до ПКВМ, зросла їх складність та обсяги виробництва. Якщо на початку 1990-х років ПКВМ використовувалися в основному в області телекомунікацій і мереж зв'язку, то до кінця десятиліття вони знайшли своє застосування в споживчих товарах, в автомобільній промисловості та інших галузях.

Сплеск слави ПКВМ стався в 1997 році, коли Адріан Томпсон об'єднав генетичні алгоритми і технологію ПКВМ для створення пристрою розпізнавання мовлення (звуку). Алгоритм Томсона дозволив за допомогою вентильної матриці розміром 64 х 64 клітин на чіпі фірми Xilinx створити конфігурацію, необхідну для вирішення поставленого завдання.

Архітектура [ред.]

ПКВМ включають в себе три головних програмованих елементи: нескоммутовані програмовані логічні блоки (ПЛБ), блоки введення-виведення (БВВ) і внутрішні зв'язки. ПЛБ є функціональними елементами для побудови логіки користувача, БВВ забезпечують зв'язок між контактами корпусу і внутрішніми сигнальними лініями. Програмовані ресурси внутрішніх зв'язків забезпечують управління шляхами сполучення входів і виходів ПЛБ і блоків введення-виведення на відповідні мережі. Всі канали трасування мають однакову ширину (однакова кількість провідників). Більшість блоків БВВ вписуються або в один рядок (по висоті), або в один стовпець (по ширині) масиву вентилів.

Логічний блок класичної ПКВМ складається з таблиці пошуку на 4 входи і тригера. В останні роки виробники почали переходити на таблиці пошуку з 6 входами у високопродуктивних частинах схеми, пояснюючи це необхідністю підвищення продуктивності.

Логічний блок має таблицю пошуку на 4 входи і вхід синхронізації (clock). Вихід блоку тільки один, це може бути регістрова або нерегістровая вихідна таблиця пошуку. Оскільки сигнали синхронізації в комерційних ПКВМ (а часто й інші сигнали, розпаралелюючих на велику кількість входів - high-fanout signals) трасуються особливим чином спеціальними трасувальними ланцюгами, управління цими сигналами робиться окремо.

Входи розташовані на окремих сторонах логічного блоку, вихідний контакт може трасуватися у двох каналах: або праворуч від блоку, або знизу. Вихідні контакти кожного логічного блоку можуть з'єднуватися з трасувань сегментами в суміжних каналах. Аналогічно, контактний майданчик блоку введення-виведення (pad) може з'єднуватися з трасуваним елементом у будь-якому суміжному каналі. Наприклад, верхній контактний майданчик чіпа може з'єднуватися з будь-яким з W провідників (де W - ширина каналу) в горизонтальному каналі, розташованому безпосередньо під ним.

Як правило, трасування ПКВМ несегментоване, тобто кожен сегмент провідника з'єднує лише один логічний блок з перемикаючим блоком. Через огибания програмованих перемикачів у блоці перемикача трасування виходить більш довгим. Для збільшення швидкості внутрішньосистемних з'єднань, в деяких архітектурах ПКВМ використовуються більш довгі трасувальні з'єднання між логічними блоками.

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

Сучасні сімейства ПКВМ розширюють перераховані вище можливості і включають вбудовану функціональність високого рівня. Маючи ці загальні функції, вбудовані в кремній, можна скоротити площу кристала, до того ж ці функції будуть працювати швидше, ніж якщо їх створювати на базі примітивів. До таких засобів належать мультиплексори, блоки цифрової обробки сигналів, вбудовані процесори, швидка логіка введення-виведення і вбудована пам'ять.

ПКВМ також широко застосовуються для систем перевірки придатності, у тому числі в докремнієвої і послекремнієвої перевірці придатності, а також при розробці вбудованих програм. Це дозволяє компаніям-виробникам інтегральних схем перевіряти працездатність своїх пристроїв до виготовлення їх на заводі, скорочуючи час виходу виробу на ринок.

Комп'ютер Це незавершена стаття про комп'ютери.
Ви можете допомогти проекту, виправивши або дописавши її.