FPGA: все про ці мікросхеми та їх програмування

Чіп FPGA

L ПЛІС стають дедалі популярнішими в останні часи. Навіть для професійних застосувань ці мікросхеми часто використовуються, а також для саморобців та виробників, які хочуть впровадити дискретну схему всередині мікросхеми з усіма перевагами, які це означає. Знайти фабрику, яка б надсилала ваші макети або шаблони та виготовити спеціальний чіп, виготовити для вас непросто або просто.

Це правда, що деякі ливарні цехи дозволяють робити вафлі або багатопроектні вафлі виготовляти фішки від приватних осіб чи університетів для тестування з ними. Такі типи заводів, як я кажу, важко знайти, вони зазвичай знаходяться за кордоном і коштують недешево. Через деякий час зразки ваших чіпів надсилаються на узгоджену адресу, але вони не відповідають за тестування чи перевірку їх роботи. Все залежить від вашого дизайну ...

Una Альтернативним рішенням для цього є придбання FPGA і запрограмувати все, що потрібно для реалізації всередині мікросхеми ...

Що таке FPGA?

Програмовані комірки

FPGA розшифровується як Field Programmable Gate Array. Вони являють собою цифрові пристрої або мікросхеми, які можна налаштувати, щоб дозволити практично будь-що реалізувати. Тобто, іншими словами, це порожній чіп, де ви можете "писати". Це означає, що ви можете реалізувати центральний процесор, пам’ять, контролер, будь-яку логіку тощо, досягаючи дуже швидкої роботи та з усіма перевагами вбудовування її в мікросхему, а не в електронні елементи.

Росс Фріман і Бернард Вондершмітт, співзасновники Xilinx, були тими, хто винайшов FPGA в 1984 році. Вони зробили це як еволюцію до чіпів CPLD того часу. Програмовані мікросхеми CPLD мали деякі недоліки, які вирішили нові конструкції FPGA, і з тих пір вони розвиваються на сьогоднішній день.

Ринок FPGA настільки плідний, що подобається компаніям Intel, Xilinx, Altera, Quick Logic, Lattice тощо., вони багато вклали у розробку кращих ПЛІС, а також вбудовані середовища програмування або IDE для них. Таким чином забезпечуючи дуже хороші платформи для полегшення завдань розробників або виробників.

В даний час ці виробники не тільки забезпечують програмований чіп, але й включають численні допоміжні елементи надати більше можливостей розробникам. Наприклад, вони включають комірки флеш-пам'яті, комірки пам'яті SDRAM тощо.

Для чого вони використовуються?

IDE для програмування FPGA

Отже, FPGA може бути схожим на ASIC, але це ми можемо вибрати що буде. Наприклад, ми могли б створити код для його програмування і перетворити його на центральний процесор, графічний процесор, суматор, контролер пам'яті або будь-яку іншу логічну схему, реалізовану на одному чіпі.

Можливостей досить безмежно. Насправді я рекомендую вам відвідати веб-сайт opencores.org, un sitio dedicado a ofrecer multitud de proyectos de hardware libre. Encontrarás códigos en VHDL, Verligo, etc., para RAM, CPU, GPU, контролери, ALU, FPU, декодери та ін..

Як це запрограмовано?

Програміст для ПЛІС

Для програмування FPGA ми можемо зробити це з улюбленої операційної системи, такої як GNU / Linux, Windows та MacOS, хоча, звичайно, існує більше середовищ для розробки Windows. Як правило, ті самі компанії, які роблять FPGA, пропонують a Дуже повна IDE для роботи і де знайти всі необхідні інструменти в тому ж наборі програм.

Вам також знадобиться Мікросхема або плата FPGA та необхідний кабель або програміст за допомогою якого ви можете підключити FPGA до ПК, щоб передати записаний код до FPGA, і таким чином він запрограмований. Це щось подібне до того, що ви робите з платою Arduino, записуючи програму Arduino IDE в програмовану пам’ять мікроконтролера.

Тільки у випадку з FPGA матриця або масив елементарних компонентів, таких як комірки пам'яті, І ворота, АБО, НЕ, триггери та інші. основні елементи або блоки цифрової електроніки що ми можемо використовувати. За допомогою письмової програми ми збираємося нав'язати спосіб, за допомогою якого ці основні блоки будуть згруповані, щоб утворити маленьку схему, яку ми хочемо, наприклад ALU.

Тобто, якщо ми запрограмуємо суматор в нашій IDE, необхідні блоки для реалізації цього суматора вони збираються зв’язати правильним чином всередині ПЛІС, щоб мікросхема працювала як суматор. Просто так? Як правило, для цього програмування на фізичному рівні використовується декілька методів, таких як пам’яті або запобіжники, щоб у такому випадку створити постійний зв’язок.

Швидкість, з якою вони працюють, буде залежати від тактова частота до якого ми придбали FPGA. Наприклад, найосновніші зазвичай працюють на частоті 50 МГц, інші - на набагато вищих частотах. У випадку ПЛІС із частотою 50 МГц це означає, що вона буде працювати зі швидкістю 50.000.000 XNUMX XNUMX разів на секунду. Якщо ми продовжимо роботу з суматором, який я навів як приклад, ви зможете зробити таку суму сум за одну секунду ...

Продовжуючи тему ПрограмуванняЯк тільки ми дізнаємося, що ви можете писати код, як це було б в IDE Arduino або розробити будь-яку іншу програму, і, побачивши, як це робиться на апаратному рівні, я скажу, що це насправді не програмування як таке. Швидше це опис обладнання. Насправді використовуються мови опису обладнання, такі як VHDL, Verilog тощо.

з ця програма описана на логічному рівні що робить маленька схема, яку ми хочемо реалізувати. А потім переходить до ПЛІС. Хоча це правда, що деякі платформи дозволяють програмування на мовах програмування, таких як C, щоб мати можливість реалізувати центральний процесор в FPGA, а потім генерувати програми для завантаження в пам'ять і обробки зазначеним процесором.

Інтеграція з Arduino

ПЛІС Arduino

FPGA зазвичай використовуються окремо, але це правда, що на ринку існує безліч інструментів та наборів, які полегшать ваше життя для інтеграції ваших FPGA з платформою Arduino. Прикладом дошки для залучення FPGA до ваших проектів з Arduino є MKR Vidor 4000, хоча є й інші.

МКР Vidor 4000 це дошка з трьома фішками. Одним з них є FPGA, зокрема Intel Cyclone 10. Існують також інші мікросхеми для з'єднання Bluetooth LE або низького споживання, а також сумісність з WiFi. Гарне доповнення для того, щоб забезпечити ваш Arduino функціями підключення та мати можливість реалізувати те, що вам потрібно, в FPGA.

З ним у вас є настроюване обладнання, налаштований вами для цілі, яку ви хочете. Це пропонує безмежні можливості.


Будьте першим, щоб коментувати

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.