FPGA: все об этих микросхемах и их программировании

Микросхема FPGA

ПЛИС становятся все более популярными в последний раз. Эти микросхемы часто используются даже в профессиональных приложениях, но также и для домашних мастеров и производителей, которые хотят реализовать дискретную схему внутри микросхемы со всеми вытекающими из этого преимуществами. Найти фабрику, которая отправит ваши макеты или выкройки и изготовит для вас индивидуальный чип, не дешево и не просто.

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

Una альтернативное решение - покупка FPGA. и запрограммируйте все, что вам нужно, чтобы реализовать внутри чипа ...

Что такое ПЛИС?

Программируемые ячейки

FPGA расшифровывается как Field Programmable Gate Array.. Это цифровые устройства или микросхемы, которые можно настроить так, чтобы реализовать практически все, что угодно. То есть, другими словами, это чистый чип, на котором можно «писать». Это означает, что вы можете реализовать ЦП, память, контроллер, любую логику и т. Д., Достигая очень быстрой работы и со всеми преимуществами интеграции в микросхему, а не с электронными элементами.

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

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

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

Для чего они нужны?

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

Следовательно, FPGA может быть похожа на ASIC, но это мы можем выбрать что будет. Например, мы могли бы создать код для его программирования и превратить его в CPU, GPU, сумматор, контроллер памяти или любую другую логическую схему, реализованную на одном кристалле.

Возможности довольно безграничны. На самом деле, я рекомендую вам посетить сайт opencores.org, сайт, посвященный множеству проектов hardware libre. Вы найдете коды на VHDL, Verligo и т. д. для RAM, CPU, GPU, контроллеры, ALU, FPU, декодеры и т. Д..

Как это запрограммировано?

Программатор для ПЛИС

Чтобы запрограммировать ПЛИС, мы можем сделать это из нашей любимой операционной системы, такой как GNU / Linux, Windows и MacOS, хотя, безусловно, существует больше сред разработки для Windows. Как правило, те же компании, которые производят FPGA, предлагают Очень полная IDE для работы с и где найти все необходимые инструменты в одном программном пакете.

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

Только в случае ПЛИС мы имеем матрицу или массив элементарных компонентов, таких как ячейки памяти, логические элементы И, ИЛИ, НЕ, триггеры и другие. базовые элементы или блоки цифровой электроники что мы можем использовать. С помощью написанной программы мы собираемся наложить способ, которым эти важные блоки должны быть сгруппированы вместе, чтобы сформировать небольшую схему, которую мы хотим, например, ALU.

То есть, если мы запрограммируем сумматор в нашей IDE, необходимые блоки для реализации этого сумматора они собираются связать правильно внутри FPGA, чтобы микросхема работала как сумматор. Все просто, правда? Как правило, для этого программирования на физическом уровне используется несколько методов, таких как память или предохранители для создания постоянной связи в этом случае.

Скорость, с которой они работают, будет зависеть от тактовая частота на которую работает приобретенная нами ПЛИС. Например, самые простые обычно работают на частоте 50 МГц, другие - на гораздо более высоких частотах. В случае ПЛИС 50 МГц это означает, что она будет работать со скоростью 50.000.000 XNUMX XNUMX раз в секунду. Если мы продолжим работу с сумматором, который я привел в качестве примера, вы сможете вычислить такое количество сумм за одну секунду ...

Продолжая тему ПрограммированиеКак только мы узнаем, что вы можете писать код, как мы это сделали бы в среде Arduino IDE, или разрабатывать любую другую программу, и увидев, как это делается на аппаратном уровне, я скажу, что это действительно не программирование как таковое. Скорее это описание оборудования. Фактически, используются такие языки описания оборудования, как VHDL, Verilog и т. Д.

В лице эта программа описана на логическом уровне что делает небольшая схема, которую мы хотим реализовать. А затем он переходит к ПЛИС. Хотя это правда, что некоторые платформы позволяют программировать на языках программирования, таких как C, чтобы иметь возможность реализовать ЦП в ПЛИС, а затем генерировать программы для загрузки в память и обработки указанным процессором.

Интеграция с Arduino

ПЛИС Arduino

ПЛИС обычно используются отдельно, но правда, что на рынке есть много инструментов и комплектов, которые облегчат вашу жизнь по интеграции вашей ПЛИС на платформе Arduino. Примером платы для использования ПЛИС в ваших проектах с Arduino является MKR Vidor 4000, хотя есть и другие.

МКР Видор 4000 это плата с тремя фишками. Одним из них является FPGA, в частности Intel Cyclone 10. Существуют также другие микросхемы для Bluetooth LE или подключения с низким энергопотреблением, а также совместимость с Wi-Fi. Хорошее дополнение, чтобы предоставить вашему Arduino функции подключения и реализовать то, что вам нужно, в FPGA.

С ним у вас есть настраиваемое оборудование, настроенный вами для нужной вам цели. Это открывает бесконечные возможности.


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

Оставьте свой комментарий

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

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.