Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Программирование ПЛИС

Определение 1

ПЛИС — это программируемые логические интегральные схемы.

Общие сведения о ПЛИС

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

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

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

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

«Программирование ПЛИС» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

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

  1. Алгоритмы, которые способны реализовать цифровую фильтрацию, в том числе и алгоритмы нелинейной, оптимальной, адаптивной фильтрации и так далее.
  2. Алгоритмы, которые базируются на применении ортогонального преобразования, например, на быстром преобразовании Фурье.
  3. Алгоритмы, реализующие кодирование и декодирование, а также процессы модуляции и демодуляции, в том числе, которые предназначены для сложных сигналов, а именно, псевдослучайных, хаотических и других.
  4. Алгоритмы, которые реализуют разные интерфейсы и типовые протоколы обмена и передачи данных.
  5. Алгоритмы, которые предназначены, для того чтобы уплотнить телефонные сигналы в технике связи.

Программирование ПЛИС

В обобщенном варианте процесс создания цифровых схем на базе ПЛИС включает следующие основные этапы:

  1. Выбор ПЛИС, позволяющий спроектировать необходимую схему исходя из ее объема и быстродействия.
  2. Разработка схемы и ее занесение в программу с помощью специального языка или универсального схемного редактора.
  3. Моделирование схемы, позволяющее выполнить проверку достоверности ее работы.
  4. Размещения схемы на кристалле и реализация необходимых связей.
  5. Преобразование исследуемой схемы в битовую последовательность.
  6. Загрузка данной последовательности в кристалл, то есть, практическая реализация программирования ПЛИС.

Сегодня проектирование конфигурационной прошивки для ПЛИС, которая настраивает ее на исполнение требуемого заказчику функционального набора, является процессом сложным и, как указано уже выше, многоэтапным. Начинать его следует с описания функциональности устройства на языке высокого уровня. Наиболее часто такими языками являются Verilog или VHDL, но в последнее время таким языком может быть и C/C++, а так же итоги работы программ, подобных Matlab/Simulink или LabView.

Термин программирование здесь может считаться достаточно условным, так как под ним понимается процесс, который приводит в конечном итоге к некоторой функциональной конфигурации ПЛИС, в отличие от программирования для процессорных систем, в которых программированием является задание на определенном языке очередности исполнения операций. Это означает, что главные языки, применяемые, для того чтобы сформировать требуемую функциональность ПЛИС, а именно, Verilog/SystemVerilog и VHDL, строго говоря, не могут считаться языками программирования. Поэтому их принято называть языками проектирования аппаратуры HDL (Hardware Design Language).

Невзирая на очевидный сдвиг в сторону проектирования высокого уровня, в полной мере потенциал программируемой логики может быть раскрыт лишь на классических языках проектирования аппаратуры. Как указано выше, таких языков известно всего два, а именно, Verilog/SystemVerilog (разработан 1984/2002 годы) и VHDL (разработан 1983 году). Данные языки являются полностью функционально эквивалентными, но обладают совершено разным синтаксисом. Общими чертами HDL-языков являются следующие моменты:

  1. Языки имеют синтезируемое и не синтезируемое подмножество операторов. Именно синтезируемые операторы, описывающие функциональность реальной аппаратуры отличают HDL-языки от обычных языков программирования. В то время как не синтезируемое подмножество используется для симуляции и тестирования и мало отличается от алгоритмических языков программирования.
  2. Языки используются для описания параллельно выполняющихся действий.
Дата написания статьи: 09.08.2022
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot