Магистр ДонНТУ Войтов Геннадий Владимирович

Войтов Геннадый Владимирович

Факультет вычислительной техники и информатики
Специальность: Компьютерные системы и сети

Мой опыт разработки FPGA-проектов и развитие данного научного направления в ДонНТУ

Введение

          Наиболее эффективной элементной базой последних лет считаются программируемые логические интегральные схемы (ПЛИС). Их особенность состоит в следующем: то оборудование, которое еще совсем недавно необходимо было проектировать, привлекая целые коллективы специалистов, после этого изготавливать на заводах и размещать готовое изделие в нескольких шкафах, теперь стало возможным разработать и реализовать в виде одной сверхбольшой интегральной схемы стоимостью несколько десятков долларов, фактически в домашних условиях. В отличие от микропроцессоров, которые изменяют свое поведение при замене программы, ПЛИС могут менять свою структуру (а, следовательно, и поведение) в зависимости от требований пользователя. Настроенная пользователем ПЛИС, является устройством, специализированным на решение конкретной задачи (значит быстродействующим), а микропроцессор – устройством универсальным (значит медленным). В тех областях, где необходима быстрая обработка больших потоков данных (телекоммуникации, обработка графики, видео, звука, сложные вычисления), использование даже самых современных микропроцессоров невозможно из-за их малого быстродействия. Во всех этих случаях одним из эффективных вариантов аппаратной реализации является использование в качестве элементной базы ПЛИС.
          Наиболее перспективной разновидностью ПЛИС являются FPGA (Field Programming Gate Array – программируемое пространство массивов вентилей). Популярность ПЛИС FPGA во всем мире, непрерывно возрастает из-за их высокого быстродействия, малого времени до выпуска готового изделия, низкой сложности технологии выпуска готовой системы, низкой стоимости изготовления системы, малых габаритов.

Начало моего изучения FPGA

          Впервые о FPGA технологиях я услышал во время практики после третьего курса от моего научного руководителя Зинченко Юрия Евгениевича. В то время я получил задание разработать VHDL модель кодера и декодера Рида-Соломона. Хочу отметить, что во время выполнения задания я получил опыт тестирования и отладки проекта в системе Quartus от помогали ассистента Юрия Владимировича Ульянова. В то время я обратил внимание на предельную простоту программных сред FPGA разработки.

Открытие FPGA лаборатории в ДонНТУ

          Хочется отметить, что в ДонНТУ уже довольно долгое время ведутся исследования в области FPGA технологий. Однако, до 2009 года все разработки проходили в основном на теоретическом уравне. Я не скрываю тот факт, что мне очень повезло, ведь как раз в период моего обучения на пятом курсе, произошло очень знаменательное событие. При технической поддержке «Сименс Украина» в университете была создана учебная лаборатория «FPGA - технологии проектирования и диагностики компьютерных систем и сетей», оснащенная всем необходимым современным оборудованием. Так что сейчас каждый студент имеет возможность проверить в действии свои свежие идеи, связанные с разработкой FPGA проектов.
          На открытии лаборатории, состоявшемся 12 марта, присутствовали сотрудники концерна Сименс: Кайзер Волькер и Медлар Донал (Сектор «Медицина», Отделение разработки электронных устройств для медицинского оборудования). Я тоже присутствовал на открытии лаборатории, и, несмотря на языковой барьер (общение велось на английском языке), мне было очень приятно общаться с зарубежными гостями.

Мой опыт разработки FPGA проектов

          Сразу же после открытия лаборатории, я начал активно работать по так называемому «принципу муравья» — я старался собрать как можно больше информации об особенностях сред автоматизированного проектирования, об уже существующих программных продуктах и вобщем всём, что как-либо связано с FPGA. Я сразу же нашёл много справочного материала по плате Spartan 3E Starter Kit(рис. 1).

Рис.1. Плата Spartan 3E Starter Kit

Меня очень заинтересовали примеры использования таких процессорных ядер как PicoBlaze и MicroBlaze. Они очень удобны в разработке различных систем, фирма Xilinx упростила этот процесс просто до предела. Но из-за того, что я изначально не имел никакого понятия последовательности разработки проекта и структуре обязательных в нём файлов, вначале я написал куда более примитивный VHDL код — он всего лишь выводил постоянные значения на светодиодный индикатор. В тот день, я сразу же написал программы четырёхбитового сумматора и счётчика. После этого я научился разрабатывать PicoBlaze программы как основу проекта. Пользуясь одним только справочным руководством платы Spartan 3E Starter Kit, я написал небольшой проект, который выполняет следующие действия:
  1. Обнаруживает начало передачи скан-кода с клавиатуры.
  2. Выполняет преобразование из последовательного кода в параллельный.
  3. Вывод полученного значения на светодиодную панель.

          После этого я занялся подробным изучением совместной работы программируемого кристалла и периферийных устройств этой платы. На втором семестре пятого курса я начал изучение библиотеки DSP среды Xilinx ISE. Особый интерес для меня представляет совместное использование Matlab и Xilinx ISEб что открывает широкие возможности в исследовании цифровой обработки сигнала.

Рекомендуемые ссылки

  1. www.xilinx.com

    На сайте производителя FPGA Xilinx можно найти множество справочных руководств, примеров проектов, а также полезные программы.

  2. www.altera.com

    Здесь можно найти ответы на все вопросы, связанные с FPGA фирмы Altera