Наиболее эффективной элементной базой последних лет считаются программируемые логические интегральные схемы
(ПЛИС). Их особенность состоит в следующем: то оборудование, которое еще совсем недавно необходимо было
проектировать, привлекая целые коллективы специалистов, после этого изготавливать на заводах и размещать
готовое изделие в нескольких шкафах, теперь стало возможным разработать и реализовать в виде одной
сверхбольшой интегральной схемы стоимостью несколько десятков долларов, фактически в домашних условиях.
В отличие от микропроцессоров, которые изменяют свое поведение при замене программы, ПЛИС могут менять
свою структуру (а, следовательно, и поведение) в зависимости от требований пользователя.
Настроенная пользователем ПЛИС, является устройством, специализированным на решение конкретной задачи
(значит быстродействующим), а микропроцессор – устройством универсальным (значит медленным). В тех областях,
где необходима быстрая обработка больших потоков данных (телекоммуникации, обработка графики, видео, звука,
сложные вычисления), использование даже самых современных микропроцессоров невозможно из-за их малого
быстродействия. Во всех этих случаях одним из эффективных вариантов аппаратной реализации является
использование в качестве элементной базы ПЛИС.
Наиболее перспективной разновидностью ПЛИС являются FPGA (Field Programming Gate Array – программируемое
пространство массивов вентилей). Популярность ПЛИС FPGA во всем мире, непрерывно возрастает из-за их высокого быстродействия,
малого времени до выпуска готового изделия, низкой сложности технологии выпуска готовой системы,
низкой стоимости изготовления системы, малых габаритов.
Впервые о FPGA технологиях я услышал во время практики после третьего курса от моего научного руководителя Зинченко Юрия Евгениевича.
В то время я получил задание разработать VHDL модель кодера и декодера Рида-Соломона. Хочу отметить, что во время выполнения задания
я получил опыт тестирования и отладки проекта в системе Quartus от помогали ассистента Юрия Владимировича Ульянова. В то время я
обратил внимание на предельную простоту программных сред FPGA разработки.
Хочется отметить, что в ДонНТУ уже довольно долгое время ведутся исследования в области FPGA технологий. Однако, до 2009 года
все разработки проходили в основном на теоретическом уравне. Я не скрываю тот факт, что мне очень повезло, ведь
как раз в период моего обучения на пятом курсе, произошло очень знаменательное событие. При технической поддержке «Сименс Украина» в
университете была создана учебная лаборатория «FPGA - технологии проектирования и диагностики компьютерных систем и сетей», оснащенная всем
необходимым современным оборудованием. Так что сейчас каждый студент имеет возможность проверить в действии свои свежие идеи,
связанные с разработкой FPGA проектов.
На открытии лаборатории, состоявшемся 12 марта, присутствовали сотрудники концерна Сименс: Кайзер Волькер и Медлар Донал (Сектор «Медицина»,
Отделение разработки электронных устройств для медицинского оборудования). Я тоже присутствовал на открытии лаборатории, и, несмотря на языковой
барьер (общение велось на английском языке), мне было очень приятно общаться с зарубежными гостями.
Сразу же после открытия лаборатории, я начал активно работать по так называемому «принципу муравья» я старался собрать как можно больше
информации об особенностях сред автоматизированного проектирования, об уже существующих программных продуктах и вобщем всём, что как-либо
связано с FPGA. Я сразу же нашёл много справочного материала по плате Spartan 3E Starter Kit(рис. 1).
Рис.1. Плата Spartan 3E Starter Kit
Меня очень заинтересовали примеры использования таких процессорных ядер как PicoBlaze и MicroBlaze. Они очень удобны в
разработке различных систем, фирма Xilinx упростила этот процесс просто до предела. Но из-за того, что я изначально не имел никакого
понятия последовательности разработки проекта и структуре обязательных в нём файлов, вначале я написал куда более примитивный
VHDL код он всего лишь выводил постоянные значения на светодиодный индикатор. В тот день, я сразу же написал программы четырёхбитового
сумматора и счётчика. После этого я научился разрабатывать PicoBlaze программы как основу проекта. Пользуясь одним только справочным руководством
платы Spartan 3E Starter Kit, я написал небольшой проект, который выполняет следующие действия:
- Обнаруживает начало передачи скан-кода с клавиатуры.
- Выполняет преобразование из последовательного кода в параллельный.
- Вывод полученного значения на светодиодную панель.
После этого я занялся подробным изучением совместной работы программируемого кристалла и периферийных устройств этой платы.
На втором семестре пятого курса я начал изучение библиотеки DSP среды Xilinx ISE. Особый интерес для меня представляет
совместное использование Matlab и Xilinx ISEб что открывает широкие возможности в исследовании цифровой обработки сигнала.