Главная
Вычислительные ресурсы
C чего начать
Вопросы - ответы
Документация
Исследования
Контакты

Андреев С. С., Дбар С. А., Лацис А. О., Плоткина Е. А.

Гибридный реконфигурируемый вычислитель.

Руководство пользователя.

Введение.

Предполагается знакомство читателя с основными понятиями и терминами документа «Гибридный реконфигурируемый вычислитель. Руководство программиста».

Цикл отладки гибридного приложения складывается из следующих шагов:

  1. Трансляция исходного текста схемы на инструментальной машине.
  2. Прожиг кристалла ПЛИС в составе гибридного вычислителя полученной битовой последовательностью.
  3. Трансляция исходного текста управляющей программы на гибридном вычислителе.
  4. Запуск управляющей программы на гибридном вычислителе.
  5. В имеющейся на сегодня конфигурации стенда роль инструментальной машины выполняет управляющая машина вычислительного комплекса «МВС-Экспресс». Гибридный вычислитель – отдельная машина, доступ на которую сеансом возможен с инструментальной машины. Более подробные инструкции о порядке работы можно получить у администратора МВС-Экспресс.

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

    Трансляция исходного текста схемы.

    Трансляция выполняется на МВС-Экспресс. Для настройки путей к транслятору в ~/.profile пользователя должна быть включена строка:

    .  /usr/local/fpga/autocode.sh
    

    (первые два символа строки – точка и пробел).

    Трансляция исходного текста схемы на Автокоде распадается на 2 этапа:

    - трансляция текста на Автокоде в текст на VHDL,

    - синтез схемы по тексту на VHDL с получением битовой последовательности.

    VHDL – это язык представления схем, понятный для схемотехнической САПР, и, в принципе, предназначенный для восприятия человеком, но гораздо менее лаконичный и более сложный для понимания, чем Автокод. Пользователь, разрабатывающий схему на Автокоде, конечно, не обязан знать VHDL, но должен понимать, что между собственно транслятором Автокода и синтезатором схемы стоит некоторый промежуточный язык. Это важно хотя бы потому, что каждый из этапов трансляции обнаруживает свои ошибки в схеме. Например, для отладки синтаксиса схемы на Автокоде нет смысла прибегать к синтезу – до него просто дело не дойдет. Также полезно знать, что трансляция Автокода в VHDL занимает секунды, а синтез, для реальных схем – десятки минут, иногда – часы.

    По аналогии с традиционными системами программирования для компьютеров общего назначения, будем далее для краткости называть трансляцию Автокода в VHDL компиляцией, а все остальные шаги, до получения битовой последовательности включительно, сборкой. В этих терминах, аналогом исходного текста является текст на Автокоде, аналогом объектного модуля – текст на VHDL, аналогом исполняемого файла – битовая последовательность.

    Схема может размещаться в одном или нескольких исходных файлах. Каждый исходный файл содержит описание одного компонента – части схемы с определенным внешним интерфейсом в виде набора входных и выходных портов (разъемом). Проще всего транслировать схему в случае, когда она оформлена в виде единственного главного компонента (исходного файла), внешний интерфейс которого соответствует интерфейсу с процессором (программой), как это описано в начале Руководства программиста. Такой файл может иметь произвольное имя и расширение «.avt», например: my_scheme.avt.

    Чтобы только скомпилировать этот файл, следует выполнить команду:

    avto –c my_scheme.avt
    

    В результате успешной компиляции получится файл на VHDL под названием vector_proc_32.vhd. Обычно он не представляет для пользователя особого интереса.

    Чтобы транслировать схему полностью, следует выполнить команду:

    avto  my_scheme.avt
    

    В результате успешной сквозной трансляции получится файл битовой последовательности под названием download.bit.

    Если схема имеет в своем составе дополнительные компоненты, помимо главного, каждый из них должен размещаться в отдельном файле, с расширением «.avt» и именем, строго совпадающим с именем компонента. Все исходные файлы одной схемы должны размещаться в одной директории. Каждый из этих файлов можно компилировать отдельно с отладочными целями, командой «avto» с ключом «-c». Чтобы транслировать схему полностью, необходимо выполнить команду «avto» без дополнительных ключей, перечислив в качестве аргументов все исходные файлы (главный – первым). В результате успешной сквозной трансляции получится файл битовой последовательности под названием download.bit.

    При трансляции схем, состоящих из нескольких файлов исходного текста, необходимо сформировать заголовочные файлы для всех дополнительных компонентов. О том, как это делать, написано в конце первой части Руководства программиста, в разделе «Построение схемы из многих компонентов».

    Прожиг полученного файла download.bit.

    Прожиг выполняется на гибридном вычислителе. Туда следует зайти сеансом с управляющей машины. В настоящее время заходить приходится как root.

    Файл download.bit следует переписать в свою директорию на гибридном вычислителе. В сеансе на гибридном вычислителе, имея эту директорию текущей, следует выполнить команду:

    burn
    

    В результате появится очень длинная выдача, в конце которой будут строки:

    If you see anything after this line and before the ‘Work done’ line, you probably have to reboot
    Work done

    Если между этими двумя строками есть еще строка (обычно со словами «Unknown header type»), гибридный вычислитель надо перезагрузить командой reboot и снова зайти на него сеансом. Повторять прожиг после повторного входа не требуется. Отсутствие дополнительной строки между двумя строками, указанными выше, говорит о том, можно сразу запускать гибридное приложение.

    Трансляция управляющей программы.

    Трансляция выполняется на гибридном вычислителе, командой fpga_compile.

    Запуск – как запуск любого другого исполняемого файла.

 
 
 
 
 
 
 
  Тел. +7(499)220-79-72; E-mail: inform@kiam.ru