Применение технологий высокоуровневого синтеза при проектировании систем на кристалле

Исследование места средств высокоуровневого синтеза в проектировании современных интегральных микросхем класса "системы на кристалле". Особенности и значение применения средств высокоуровневого синтеза. Интерфейсы и окружение разработанного блока.

Рубрика Производство и технологии
Вид статья
Язык русский
Дата добавления 28.10.2018
Размер файла 256,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Применение технологий высокоуровневого синтеза при проектировании систем на кристалле

В.Ю. Пинкевич

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

Системы на кристалле (СнК) представляют собой новое поколение элементной базы электронных устройств. Они объединяют на одной интегральной микросхеме (ИМС) все электронные компоненты электронного устройства. СнК могут включать такие компоненты, как цифровые электронные элементы - процессоры, память, аппаратные блоки и контроллеры, программное обеспечение программируемых блоков, аналоговые электронные элементы, приемопередатчики физических интерфейсов (в т.ч. беспроводных), MEMS-устройства и т.д. [1]

Возможности СнК могут быть использованы для создания приборов с высокими характеристиками. Для достижения наибольшей эффективности изделия и оптимального использования ресурсов ИМС, все компоненты СнК должны проектироваться и разрабатываться согласованно. При этом, их влияние друг на друга должно учитываться во всех аспектах - реализация целевого алгоритма, энергопотребление, электромагнитная совместимость и т.д. [2, 3] Такой подход, по сути, требует полного цикла разработки для каждой новой микросхемы. Однако сложность современных микросхем делает нецелесообразным проведение полного цикла разработки даже для крупносерийных ИМС из-за сроков и стоимости разработки.

Одним из вариантов решения данной проблемы является повторное использование крупных сложно-функциональных блоков (IP-ядер). Однако это не всегда удается сделать, поскольку такие блоки достаточно быстро устаревают из-за развития технических норм ИМС. Также, архитектура готового IP-ядра может оказаться неподходящей для нового применения.

Другой выход из данной ситуации предоставляют современные системы автоматизированного проектирования (САПР), которые имеют средства для манипулирования проектом СнК на достаточно высоком уровне абстракции, позволяют осуществлять оценку их характеристик и производить синтез. Наиболее развиты такие средства для проектирования цифровых частей ИМС [4].

В настоящее время при проектировании цифровых аппаратных блоков ИМС применяются языки описания аппаратуры уровня регистровых передач (register transfer level, RTL), такие как VHDL и Verilog. Однако эти языки становятся неадекватными при проектировании сложных блоков, которые могут иметь множество вариантов реализации, требующих оценки перед выбором итогового варианта. Современной тенденцией в САПР для проектирования таких блоков является использование средств т.н. высокоуровневого синтеза (high-level synthesis, HLS). Описание проекта при этом обычно выполняется с применением подмножества языка программирования высокого уровня - C, C++ или SystemC. Ключевыми особенностями входного описания являются: отсутствие информации о точном времени выполнения операций, отсутствие явного описания управляющего автомата, отсутствие явного управления регистрами и памятью [5].

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

Особенности применения средств высокоуровневого синтеза

Методы синтеза аппаратных вычислительных блоков из абстрактных описаний алгоритмов их работы развиваются с конца 1970-х годов. Основные решаемые задачи - отображение алгоритма на аппаратные ресурсы, выделение и временное планирование использование аппаратных ресурсов [4, 6]. интегральный высокоуровневый синтез

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

появился стандартный де-факто язык спецификации - SystemC, совместимый с C и С++, привычными подавляющему большинству разработчиков;

повысилась предсказуемость результатов синтеза, появились средства формальной верификации соответствия между результатами синтеза и спецификацией на исходном языке;

появились развитые средства интеграции блоков, полученных с помощью инструментов HLS (автоматическая генерация интерфейсов к стандартным шинам, шаблонов программных драйверов);

использование RTL для описания результата высокоуровневого синтеза, что позволяет интегрировать дальнейший синтез блока и других частей системы;

улучшилась поддержка спецификации и синтеза управляющей логики;

симуляция функциональных блоков стала производиться на более высоком уровне абстракции, что уменьшило затрачиваемое время и ускорило разработку;

с развитием технологий ИМС появилась реальная потребность в инструментах нового уровня, так как RTL для части задач исчерпал свои возможности [5].

Результатом синтеза в большинстве САПР является аппаратная структура обработки потока данных, управляемая конечным автоматом жесткой логики или микропрограммным автоматом. В ряде случаев полученный результат может быть близок к VLIW-процессору. Другие САПР изначально ориентированы на использование процессора в качестве центрального и обязательного элемента. Код на языке программирования высокого уровня при этом рассматривается как отправной пункт оптимизации. Он компилируется для исходного процессора и профилируется с целью нахождения узких мест. Далее к процессору добавляются специальные инструкции и/или специальные блоки на системной шине, ускоряющие выполнение некоторых операций. Также, есть САПР с поддержкой оригинальных вычислительных архитектур.

Рассматриваемая в данной работе САПР Vivado HLS поддерживает классический вариант высокоуровневого синтеза для микросхем программируемой логики (ПЛИС) из описаний аппаратных блоков на подмножестве языков C, C++ и SystemC. Маршрут проектирования показан на рис. 1. Как можно видеть, маршрут предполагает разработку лишь отдельных блоков, а не всей ИМС в целом.

Рис. 1. Маршрут проектирования аппаратного блока с применением высокоуровневого синтеза.

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

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

Из-за перечисленных ограничений, с помощью HLS удается эффективно реализовывать только алгоритмы с интенсивным применением однотипных операций к большим объемам данных. Поэтому HLS гораздо шире применяется для аппаратной реализации алгоритмов ЦОС, чем для описания управляющей логики (контроллеры интерфейсов, процессоры и т.п.).

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

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

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

Проектирование блока цифровой обработки сигналов

В качестве примера в данной работе рассматривается проектирование блока вычисления корреляции дискретного сигнала. Данный блок по команде от управляющего устройства должен в режиме ведущего считывать отсчеты исходного сигнала и ядра корреляции из подключенных к нему блоков памяти и записывать в память отсчеты корреляции. По окончании работы выставляется флаг готовности (см. рис. 2).

Рис. 2. Интерфейсы и окружение разработанного блока.

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

В результате была выбрана архитектура блока в виде систолического массива. Описание основного алгоритма блока на языке C было выполнено в виде четырех вложенных циклов, а также применена директива конвейеризации. Обобщенная блок-схема алгоритма работы блока с указанием директивы представлена на рис. 3 (один из вложенных циклов не показан). Для реализации директивы конвейеризации цикла по j, синтезатор автоматически разворачивает цикл по k в набор одинаковых параллельно работающих блоков.

Рис. 3. Обобщенная блок-схема алгоритма работы блока и директива синтеза.

Для генерации интерфейсов памяти, сигналов запуска и готовности также использовались директивы, так как такие сигналы являются стандартными.

Было произведено сравнение полученной реализации с ручной реализацией данного блока на языке VHDL. Некоторые метрики каждой реализации представлены в таблице 1. Синтез производился для ПЛИС Xilinx семейства Kintex-7 (xc7z045) при тактовой частоте 100 МГц. Использовались 128 параллельно работающих умножителей DSP48. Время работы блока приведено для длины сигнала в 2048 отсчетов и ядра корреляции в 1024 отсчета.

Т а б л и ц а 1

Метрики различных реализаций разработанного блока

Метрика

Реализация на VHDL

Реализация на C

Использование LUT

2790

3608

Использование регистров

4946

715

Использование Block RAM

1

4

Время работы (тактов)

20576

17312

Число строк кода

390

76

Из таблицы видно, что полученная с помощью высокоуровневого синтеза реализация блока вычисления корреляции работает быстрее, чем реализованная на RTL, а расход ресурсов является сравнимым. Следует отметить, что размер исходного кода на языке C значительно меньше, что ускоряет процесс кодирования и отладки.

Заключение

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

Литература

1. Kaeslin H. Digital Integrated Circuit Design From VLSI Architectures to CMOS Fabrication. Cambridge University Press, 2008.

2. Teich J. Hardware/Software Codesign: The Past, the Present, and Predicting the Future // Proc. IEEE. 2012. Vol. 100, № Special Centennial Issue. P. 1411-1430.

3. Платунов А.Е., Постников Н.П. Единое проектное пространство плюс аспектная технология - перспективная парадигма проектирования встраиваемых систем // Научно-технический вестник СПбГУ ИТМО. Выпуск 11. Актуальные проблемы анализа и синтеза сложных технических систем. - СПб.: СПбГУ ИТМО, 2003. - С. 121-128.

4. Coussy P., Moraviec A. High-Level Synthesis. Springer Netherlands, 2008.

5. Martin G., Smith G. High-level synthesis: Past, present, and future // IEEE Design & Test of Computers. July/August 2009. P. 18-25.

6. Mishra P., Dutt N. Processor Description Languages. Morgan Kaufmann, 2008.

7. Vivado Design Suite User Guide. High-Level Synthesis. UG902 (v2015.1). Xilinx, Inc.

Размещено на Allbest.ru


Подобные документы

  • Получение органических соединений, материалов и изделий посредством органического синтеза. Основные направления и перспективы развития органического синтеза. Группы исходных веществ для последующего органического синтеза. Методика органического синтеза.

    реферат [1,6 M], добавлен 15.05.2011

  • Производство и применение катализаторов синтеза аммиака. Строение оксидного катализатора, влияние на активность условий его восстановления. Механизм и кинетика восстановления. Термогравиметрическая установка восстановления катализаторов синтеза аммиака.

    дипломная работа [822,5 K], добавлен 16.05.2011

  • Эффективность антихолинэстеразного, противоглаукомного и миотического действия хлофосфола. Характеристика класса препарата. Теоретическое обоснование выбора схемы синтеза. Характеристика используемых в синтезе веществ. Идентификация готового продукта.

    курсовая работа [839,2 K], добавлен 23.12.2012

  • Тенденции развития органического синтеза. Синтез-газ как альтернатива нефти. Получение этанола прямой каталитической гидратацией этилена. Замена двухстадийного процесса синтеза ацетальдегида из этилена через этанол одностадийным окислительным процессом.

    курсовая работа [116,4 K], добавлен 27.02.2015

  • Роль систем автоматизированного производства в проектировании. Аммиак и его свойства, способы хранения. Расчёт химических параметров реакции образования аммиака. Создание модели теплообменного аппарата. Проектирование базы данных процесса ректификации.

    курсовая работа [1,6 M], добавлен 08.02.2016

  • Сущность "псевдоравновесного синтеза". Синтез веществ конгруэнтно растворимых с учетом диаграммы состояния тройных систем. Метод осаждения из газовой фазы. Окислительно-восстановительные реакции в растворах. Физико-химические методы очистки веществ.

    контрольная работа [62,9 K], добавлен 07.01.2014

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

    курсовая работа [2,3 M], добавлен 30.03.2009

  • Основные компоненты реакции синтеза пенополиуретанов. Технология производства полиоксипропилена марки Лапрол 373 методом полимеризации оксида пропилена. Термодинамический расчет реакции синтеза полиоксипропилена по законам Гесса, Кирхгофа и Гиббса.

    дипломная работа [1,2 M], добавлен 10.12.2012

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

    презентация [1,4 M], добавлен 20.05.2019

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

    дипломная работа [1,7 M], добавлен 15.04.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.