Jump to content

Синтез высокого уровня

(Перенаправлено из синтеза высокого уровня )

Синтез высокого уровня ( HLS ), иногда называемый синтезом C , синтез электронного уровня системы (ESL) , алгоритмический синтез или поведенческий синтез , является автоматизированным процессом проектирования, который принимает абстрактную поведенческую спецификацию цифровой системы и находит регистр -Проятная структура уровня, которая осознает данное поведение. [ 1 ] [ 2 ] [ 3 ]

Синтез начинается с высокого уровня спецификации проблемы, где поведение обычно отделено от механики низкого уровня, такой как часовое время. Ранние HLS изучили различные языки спецификации ввода, [ 4 ] Хотя недавние исследования и коммерческие приложения обычно принимают синтезируемые подмножества ANSI C / C ++ / SystemC / MATLAB . Код анализируется, архитектурно ограничен и запланирован на транскомпиляцию из модели на уровне транзакции (TLM) в дизайн уровня переноса регистра (RTL) на языке оборудования (HDL), который, в свою очередь, обычно синтезируется на уровне ворот с помощью инструмента синтеза логики .

Цель HLS состоит в том, чтобы позволить аппаратным дизайнерам эффективно создавать и проверить аппаратное обеспечение, давая им лучшее контроль над оптимизацией своей архитектуры дизайна и благодаря характеру, позволяя дизайнеру описать дизайн на более высоком уровне абстракции, в то время как инструмент выполняет инструмент Реализация RTL. Проверка RTL является важной частью процесса. [ 5 ]

Аппаратное обеспечение может быть разработано на различных уровнях абстракции. Обычно используемыми уровнями абстракции являются уровень затвора , уровень переноса регистра (RTL) и алгоритмический уровень.

В то время как логический синтез использует RTL-описание дизайна, синтез высокого уровня работает на более высоком уровне абстракции, начиная с алгоритмического описания на языке высокого уровня, такого как SystemC и ANSI C/C ++. Дизайнер обычно разрабатывает функциональность модуля и протокол взаимосвязанного соединения. Инструменты синтеза высокого уровня обрабатывают микроархитектуру и преобразование невременного или частично временного функционального кода в полностью временные реализации RTL, автоматически создавая детали для цикла для реализации аппаратного обеспечения. [ 6 ] Затем реализации (RTL) используются непосредственно в обычном потоке синтеза логики для создания реализации уровня затвора.

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

Поведенческий синтез первого поколения был введен Sinopsys в 1994 году как поведенческий компилятор [ 7 ] и использовал Verilog или VHDL в качестве языков ввода. Используемый уровень абстракции был частично включен (такта) процессы. Инструменты, основанные на поведенческом Verilog или VHDL, не были широко приняты частично, потому что ни языки, ни частично временную абстракцию не были хорошо подходят для моделирования поведения на высоком уровне. 10 лет спустя, в начале 2004 года, Synopsys, в конце концов, поведенческий компилятор. [ 8 ]

В 1998 году системы проектирования Forte представили свой инструмент Cynthesizer, который использовал SystemC в качестве языка входа вместо Verilog или VHDL. Cynthesizer был принят многими японскими компаниями в 2000 году, поскольку в Японии было очень зрелое сообщество пользователей Systemc. Первая магнитоспособность синтеза высокого уровня была достигнута в 2001 году Sony с использованием Cynthesizer. Усыновление в Соединенных Штатах началось всерьез в 2008 году. [ Цитация необходима ]

В 2006 году была разработана эффективная и масштабируемая техника «Планирование модуля SDC». [ 9 ] и позже был распространен на планирование трубопровода. [ 10 ] Этот метод использует целочисленную линейную программирующую формулировку. Но это показывает, что базовая матрица ограничений является совершенно немодулярной (после аппроксимации ограничений ресурсов). Таким образом, проблема может быть решена в полиномиальное время оптимально, используя линейный решатель программирования в полиномиальное время. Эта работа была включена в FPGA и реконфигурируемый вычислительный Зал Славы 2022 года. [ 11 ]

Алгоритм планирования SDC был реализован в системе XPILOT HLS [ 12 ] разработан в UCLA, [ 13 ] а затем лицензировано на технологии Autoesl Design, выходы от UCLA. Autoesl был приобретен Xilinx (ныне часть AMD) в 2011 году, [ 11 ] А инструмент HLS, разработанный Autoesl, стал основой решений Xilinx HLS, Vivado HLS и Vitis HLS, широко используемых для дизайнов FPGA.

Источник ввода

[ редактировать ]

Наиболее распространенные источники для синтеза высокого уровня основаны на стандартных языках, таких как ANSI C / C ++ , SystemC и MATLAB .

Синтез высокого уровня обычно также включает в себя исполняемую спецификацию в качестве ввода в качестве входной спецификации, поскольку для получения эффективной аппаратной реализации необходима дополнительная информация о том, что является приемлемой средней квадратной ошибкой или скоростью ошибки битов и т. Д. Начинается с FIR-фильтра, написанного с использованием «двойного» плавающего типа, прежде чем он сможет получить эффективную аппаратную реализацию, им необходимо выполнить численное уточнение, чтобы прийти к реализации с фиксированной точкой. Уточнение требует дополнительной информации о уровне шума квантования, который можно допустить, действительные диапазоны ввода и т. Д. Эта спецификация сочетания сочетания делает функциональную спецификацию синтеза высокого уровня. [ 14 ] Обычно инструменты выводятся из кода высокого уровня. Конечная машина конечного состояния и дат данных, который реализует арифметические операции.

Этапы процесса

[ редактировать ]

Процесс синтеза высокого уровня состоит из ряда действий. Различные инструменты синтеза высокого уровня выполняют эти действия в разных заказах, используя различные алгоритмы. Некоторые инструменты синтеза высокого уровня объединяют некоторые из этих действий или выполняют их итеративно, чтобы сходиться на желаемом решении. [ 15 ]

  • Лексическая обработка
  • Оптимизация алгоритма
  • Контроль/анализ данных
  • Библиотечная обработка
  • Распределение ресурсов
  • Планирование
  • Функциональная единица связывания
  • Регистрация привязки
  • Обработка вывода
  • Входной переход

Функциональность

[ редактировать ]

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

Архитектурные ограничения

[ редактировать ]

Ограничения синтеза для архитектуры могут автоматически применяться на основе анализа дизайна. [ 5 ] Эти ограничения могут быть разбиты на

  • Иерархия
  • Интерфейс
  • Память
  • Петля
  • Недоветные ограничения времени
  • Итерация

Интерфейс синтез

[ редактировать ]

Синтез интерфейса относится к возможности принимать чистое описание C/C ++ в качестве его ввода, затем используйте технологию автоматического синтеза интерфейса для управления протоколом времени и связи на границе проекта. Это обеспечивает анализ интерфейса и исследование полного диапазона опций аппаратного интерфейса, таких как потоковая передача, одно- или двойная оперативная память, а также различные механизмы ручной работы. С синтезом интерфейса дизайнер не внедряет протоколы интерфейса в описание источника. Примерами могут быть: прямое соединение, одна линия, 2 рукопожатия линии, FIFO. [ 16 ]

Продавцы

[ редактировать ]

Данные, представленные на недавнем опросе [ 17 ]

Статус Компилятор Владелец Лицензия Вход Выход Год Домен Тест
лавка
Фп Исправить
В использовании Stratus hls Системы проектирования каденции Коммерческий C - C ++ Systemc Rtl 2015 Все Да Да Да
Ау Командная лаборатория. Академический C подмножество VHDL 2012 Все Да Нет Нет
Восхищение архивировано 2019-09-17 на The Wayback Machine Y Исследования Коммерческий В VHDL - Verilog 2001 Все Да Нет Да
Бамбук Полими Академический В VHDL - Verilog 2012 Все Да Да Нет
Bluespec Bluespec, Inc. BSD -3 Bluespec SystemVerilog
( Хаскелл )
SystemVerilog 2007 Все Нет Нет Нет
QCC Cacheq Systems, Inc. Коммерческий C , c ++ , fortran Executabdabde + fpga file (SystemVerilog - это промежуточный) 2018 Все - многоядерный и гетерогенный вычислительный Да (C ++) Да Да
ЧС Альтиум Коммерческий C подмножество VHDL - Verilog 2008 Все Нет Да Да
Разработчик кода Импульс ускорился Коммерческий Импульс-с VHDL 2003 Изображение
потоковая передача
Да Да Нет
HDL кодер Математика Коммерческий Matlab , Simulink , Stateflow , Simscape VHDL , Verilog 2003 Системы управления, обработка сигналов, беспроводная связь, радар, связь, изображение и компьютерное зрение Да Да Да
Киберкбанд Нет Коммерческий C, BDL, Systemc VHDL - Verilog 2004 Все Цикл,
формальный
Да Да
Катапульт Siemens Ed Коммерческий C - C ++ Systemc VHDL - Verilog 2004 Все Да Да Да
Гном ТЫ. Делфт Академический C подмножество VHDL 2012 Все Да Да Да
Козел Университет Западного Бриттани Академический C , C ++ VHDL 2010 DSP Да Нет Да
Hastlayer Lombiq Technologies BSD -3 C# , C ++ , F# , ...
( .СЕТЬ )
VHDL 2015 .СЕТЬ Да Да Да
Мгновенный соц FPGA ядра Коммерческий C , C ++ VHDL - Verilog 2019 Все Да Нет Нет
Компилятор синтеза высокого уровня Intel Intel FPGA (ранее Altera) Коммерческий C , C ++ Вероисповедание 2017 Все Да Да Да
Legup HLS Вычисления LEGUP Коммерческий C , C ++ Вероисповедание 2015 Все Да Да Да
Legup Archived 2020-07-24 на машине Wayback Университет Торонто Академический В Вероисповедание 2010 Все Да Да Нет
Максопейлер Макслер Коммерческий Макс Rtl 2010 Анализ потока данных Нет Да Нет
Roccc Жаккард Комп. Коммерческий C подмножество VHDL 2010 Потоковая передача Нет Да Нет
Симфония c Synopsys Коммерческий C , C ++ VHDL - Verilog ,
Система
2010 Все Да Нет Да
Вивадохлс
(ранее автопилот
от Autoesl [ 18 ] )
Xilinx Коммерческий C - C ++ Systemc VHDL - Verilog ,
Система
2013 Все Да Да Да
киви Кембриджский университет Академический C# Вероисповедание 2008 .СЕТЬ Нет Да Да
Шимпанза Университет Вашингтона Академический В VHDL 2008 Все Нет Нет Нет
GCC2Verilog Корейский университет Академический В Вероисповедание 2011 Все Нет Нет Нет
Геркулес Аякс компиляторы Коммерческий C/NAC VHDL 2012 Все Да Да Да
Шан Университет Иллинойса Урбана-Шампейн Академический В Вероисповедание 2013 Все Да ? ?
Трезубец Лос -Аламос Н.Л. Академический C подмножество VHDL 2007 Научный Нет Да Нет
Абан-
доносный
Acceldsp Xilinx Коммерческий Матлаб VHDL - Verilog 2006 DSP Да Да Да
C2H Следующий Коммерческий В VHDL - Verilog 2006 Все Нет Нет Нет
Ctoverilog Университет Хайфы Академический В Вероисповедание 2008 Все Нет Нет Нет
Исключение Университет Южный Кейлф. Академический В Rtl 1999 DSE Нет Нет Нет
Гарп Калифорнийский университет, Беркли Академический C подмножество битстрим 2000 Петля Нет Нет Нет
СООТВЕТСТВОВАТЬ Северо -западный университет Академический Матлаб VHDL 2000 Изображение Нет Нет Нет
Напа Sarnoff Corp. Академический C подмножество VHDL - Verilog 1998 Петля Нет Нет Нет
Пиперенч Университет Карнеги Меллона Академический ЯЗЫК bistream 2000 Транслировать Нет Нет Нет
SA-C Университет Колорадо Академический SA-C VHDL 2003 Изображение Нет Нет Нет
Seacucumber Университет Бригама Янга Академический Ява Эдиф 2002 Все Нет Да Да
ИСКРА Калифорнийский университет, Ирвин Академический В VHDL 2003 Контроль Нет Нет Нет

Смотрите также

[ редактировать ]
  1. ^ Кусси, Филипп; Morawiec, Adam, Eds. (2008). Синтез высокого уровня - Springer . doi : 10.1007/978-1-4020-8588-8 . ISBN  978-1-4020-8587-1 .
  2. ^ McFarland, MC; Паркер, AC; Кампосано Р. (февраль 1990 г.). «Синтез высокого уровня цифровых систем» . Труды IEEE . 78 (2): 301–318. doi : 10.1109/5.52214 . ISSN   1558-2256 .
  3. ^ «Книга HLS: дома» . www.hlsbook.com . Получено 2023-06-21 .
  4. ^ IEEE XPLORE Синтез высокого уровня: прошлое, настоящее и будущее doi 10.1109/mdt.2009.83
  5. ^ Jump up to: а беременный Боуйер, Брайан (2005-05-02). «« Почему »и« что »алгоритмического синтеза» . EE времена . Получено 2016-10-03 .
  6. ^ «Быстрый прототипирование на основе C для цифровой обработки сигналов» (PDF) . Университет UBS, Франция . Получено 2016-10-03 .
  7. ^ «Публикации и презентации» . Bdti.com . Архивировано из оригинала 2008-04-26 . Получено 2016-10-03 .
  8. ^ «Поведенческий синтез перекрестка» . EE времена . Получено 2016-10-03 .
  9. ^ Конг, Джейсон; Фанат, yiping; Хан, Гулинг; Цзян, Вэй; Чжан, Чжиру (сентябрь 2006 г.). «Синтез уровня поведения на основе платформы и системного уровня» . 2006 IEEE Международная конференция SOC . IEEE. С. 199–202. doi : 10.1109/socc.2006.283880 . ISBN  0-7803-9782-7 .
  10. ^ Чжан, Чжиру; Лю, Бин (2013). 2013 IEEE/ACM Международная конференция по компьютерному дизайну (ICCAD) (PDF) . IEEE. С. 211–218. ISBN  978-1-4799-1071-7 .
  11. ^ Jump up to: а беременный Конг, Джейсон; Бин Лю; Neuendorffer, Стивен; Ногура, Хуанджо; Виссерс, Кис; Чжиру Чжан (апрель 2011 г.). «Синтез высокого уровня для FPGA: от прототипирования до развертывания» . IEEE транзакции по компьютерному проектированию интегрированных цепей и систем . 30 (4): 473–491. doi : 10.1109/tcad.2011.2110592 . ISSN   0278-0070 .
  12. ^ Cong, J.; Чжиру Чжан (2006). «Эффективный и универсальный алгоритм планирования, основанный на формулировке SDC» . 2006 43 -й конференция ACM/IEEE Design Automation . IEEE. С. 433–438. doi : 10.1109/dac.2006.229228 . ISBN  1-59593-381-6 .
  13. ^ «XPILOT: платформная система синтеза поведения | Обширная лаборатория» . Обширные. Cs.ucla.edu . Получено 2024-04-18 .
  14. ^ Многочисленные слова высокого уровня в журнале Eurasip Eurasip в встроенных системах
  15. ^ «Загляните внутрь поведенческого синтеза» . EE времена . Получено 2016-10-03 .
  16. ^ "DesignCon: InfoVault: бумажная библиотека" . www.designcon.com . Архивировано из оригинала 25 сентября 2010 года . Получено 13 января 2022 года .
  17. ^ Nane, R.; Сима, виртуальная машина; Пилато, C.; Choi, J.; Форт, б.; Canis, A.; Чен, YT; Hsiao, H.; Браун, С. (2016). «Обзор и оценка инструментов синтеза высокого уровня FPGA» (PDF) . IEEE транзакции по компьютерному проектированию интегрированных цепей и систем . 35 (10): 1591–1604. doi : 10.1109/tcad.2015.2513673 . HDL : 11311/998432 . ISSN   0278-0070 . S2CID   8749577 .
  18. ^ «Xilinx покупает синтез высокого уровня поставщика Eda» . EE времена. 2011-02-05. Архивировано из оригинала 2011-10-17 . Получено 2016-10-03 .
  19. ^ «Mathworks: производители Matlab и Simulink» . MathWorks.com . Получено 2016-10-03 .
  20. ^ «Методологии ESL на основе SystemC - методологии ESL на основе SystemC» . Circuitsutra.com . Получено 2016-10-03 .
  21. ^ Джон М. в крупной корпорации ERP & DBMS (2016-08-29). «QuickPlay: донесение FPGA Computing в массы» . QuickPlay.io . Получено 2016-10-03 .
  22. ^ «Чипвизион - быстрый путь к низкой мощности» . www.chipvision.com . Архивировано из оригинала 30 мая 2002 года . Получено 13 января 2022 года .
  23. ^ «Наставник, наконец, становится Siemens Eda с января 2021 года» . 15 декабря 2020 года.
  24. ^ "Cyberworkbench: продукты" . НИК ​Получено 2016-10-03 .
  25. ^ "Accueil Mega-Hardware" . www.mega-hardware.com . Архивировано из оригинала 15 января 2004 года . Получено 13 января 2022 года .
  26. ^ "Cebatech - дом" . www.cebatech.com . Архивировано из оригинала 7 мая 2005 года . Получено 13 января 2022 года .
  27. ^ «Николаос Каввадия - инструмент синтеза высокого уровня Геркулеса» . Nkavvadias.com . Получено 2016-10-03 .
  28. ^ «Synopsys покупает активы Synfora» . EE времена. Архивировано из оригинала 2011-04-07 . Получено 2016-10-03 .
  29. ^ «Система XPilot» . Cadlab.cs.ucla.edu . Получено 2016-10-03 .
  30. ^ "Vsyn.ru" . Vsyn.ru. ​2016-06-16. Архивировано с оригинала 2016-06-30 . Получено 2016-10-03 .
  31. ^ «Аппаратный дизайн для всех» . Синфлоу . Получено 2016-10-03 .

Дальнейшее чтение

[ редактировать ]
  • Джейсон Конг, Джейсон Лау, Гай Лю, Стивен Нойендорфер, Пейхен Пан, Кис Виссерс, Чжиру Чжан. FPGA HLS сегодня: успехи, проблемы и возможности. Транзакции ACM по реконфигурируемой технологии и системам, том 15, выпуск 4, статья № 5, стр. 1–42, декабрь 2022 года, https://doi.org/10.1145/3530775 .
  • Майкл Фингофф (2010). Синтез высокого уровня синяя книга . Xlibris [ Самостоятельно опубликованный источник ] Корпорация. ISBN  978-1-4500-9724-6 .
  • Coussy, P.; Гайски, DD; Мередит, М.; Такач А. (2009). «Введение в синтез высокого уровня». Дизайн IEEE и тест компьютеров . 26 (4): 8–17. doi : 10.1109/mdt.2009.69 . S2CID   52870966 .
  • Ewout SJ Martens; Жорж Гилен (2008). Моделирование высокого уровня и синтез аналоговых интегрированных систем . Спрингер. ISBN  978-1-4020-6801-0 .
  • Сараджу Моханти ; Н. Ранганатан; E. Kougianos & P. ​​Patra (2008). Синтез высокого уровня низкого уровня для наноразмерных CMOS . Спрингер. ISBN  978-0387764733 .
  • Алиса С. Паркер ; Йосеф Тират-Генфен; A. Wadekar's Suropment (2007). «Система уровня дизайна». В пути (ред.). Справочник VLSI (2 -е изд.). CRC Press. ISBN  978-0-8493-4199-1 Полем Глава 76.
  • Шахрзад Мирхани; Zainalabedden Navabi (2007). "Языки проектирования системного уровня" В Wai-Kai Chin (ред.). Справочник VLSI (2 -е изд.). CRC Press. ISBN  978-0-8493-4199-1 Полем Глава 86. Охватывает использование C/C ++, SystemC, TML и даже UML
  • Liming XIU (2007). Методология проектирования цепи VLSI Демистифицирована: концептуальная таксономия . Wiley-Ieee. ISBN  978-0-470-12742-1 .
  • Джон П. Эллиотт (1999). Понимание поведенческого синтеза: практическое руководство по дизайну высокого уровня . Спрингер. ISBN  978-0-7923-8542-4 .
  • Нэйн, Разван; Сима, Влад-Михай; Пилато, христианин; Чой, Чонсок; Форт, Блэр; Канис, Эндрю; Чен, Юинг; HSIAO, HSUAN; Браун, Стивен; Ферранди, Фабрицио; Андерсон, Джейсон; Bertels, Koen (2016). «Обзор и оценка инструментов синтеза высокого уровня FPGA». IEEE транзакции по компьютерному проектированию интегрированных цепей и систем . 35 (10): 1591–1604. doi : 10.1109/tcad.2015.2513673 . HDL : 11311/998432 . S2CID   8749577 .
  • Гупта, Раджеш; Brewer, Forrest (2008). «Синтез высокого уровня: ретроспектива». «Синтез высокого уровня: ретроспектива» . Спрингер. С. 13–28. doi : 10.1007/978-1-4020-8588-8_2 . ISBN  978-1-4020-8587-1 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b654cbfcf5ab61fb29dc910d54b857c7__1724221920
URL1:https://arc.ask3.ru/arc/aa/b6/c7/b654cbfcf5ab61fb29dc910d54b857c7.html
Заголовок, (Title) документа по адресу, URL1:
High-level synthesis - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)