Катапульта C - Catapult C
Катапульта C Синтез, реклама автоматизация проектирования электроники продукт Наставник Графика, это синтез высокого уровня инструмент, иногда называемый алгоритмическим синтезом или синтезом ESL. Катапульта C занимает ANSI C /C ++ и SystemC входы[1] и генерирует зарегистрировать уровень передачи (RTL) код, ориентированный на ПЛИС и ASIC.[2]
История
В 2004 году Mentor Graphics официально анонсировала свой продукт для синтеза высокого уровня Catapult C, предлагающий поддержку иерархического проектирования для синтеза конвейерных, многоблочных подсистем из не привязанных к времени описаний ANSI C / C ++. Основная функция Catapult C заключалась в создании RTL (VHDL и Verilog ), предназначенные для ASIC и FPGA. Пользователи указали ограничения для времени и зоны, а также указали период времени и технологию назначения. Mentor также анонсировал конструктор библиотеки Catapult C для разработчиков ASIC для сбора подробных данных о характеристиках.[3]
В 2005 году Mentor анонсировал расширения Catapult C для автоматического создания моделей и оболочек уровня транзакций SystemC для моделирования проекта в средах проверки, поддерживающих SystemC. Mentor также представил синтез интерфейса для сопоставления передачи данных, подразумеваемой передачей аргументов функции C ++ в аппаратные интерфейсы, такие как провода, регистры, регистры установления связи, памяти, шины или более сложные пользовательские интерфейсы.[4]
В 2006 году Mentor анонсировал Catapult SL (системный уровень) для автоматического создания подсистем обработки сигналов. Catapult SL может координировать разделение последовательных операций C на несколько блоков внутри подсистемы, включая разделение на несколько доменов часов. Catapult SL автоматически вставляет соответствующие межблочные каналы и буферы памяти для сборки подсистемы.[5]
В январе 2009 года Mentor объявил об интеграции между Catapult C и его средой проектирования и моделирования Vista SystemC для автоматического создания моделей уровня транзакций (TLM). В этом процессе несвязанный вход ANSI C ++ в Catapult инкапсулируется в оболочку TLM; информация о времени извлекается из результатов синтеза и аннотируется в результирующей модели. Поток совместим со стандартом TLM-2.0 от Open SystemC Initiative (OSCI).[6]
В июне 2009 года Mentor объявил, что он усовершенствовал Catapult C, добавив в него возможность синтезировать управляющую логику, создавать списки соединений RTL с оптимизированным энергопотреблением, с автоматическим многоуровневым стробированием часов и автоматическим потоком проверки, чтобы включить отладку RTL по сравнению с исходным C ++. Вход.[7]
В январе 2010 года Mentor объявил о способности Catapult C принимать прямые входные данные SystemC, включая поддержку как на основе цикла, так и на уровне транзакций (TLM).[8]
В мае 2011 года Mentor объявил, что Catapult C поддерживает синтез TLM. Абстрактные модели TLM преобразуются в модели SystemC с точным выводом, зависящие от протокола, а оттуда синтезируются в код RTL. Существующие синтезируемые описания могут быть преобразованы в TLM.[9]
В августе 2011 года Catapult C была приобретена Calypto Design Systems.[10]
В сентябре 2015 года Mentor Graphics приобрела Calypto Design Systems,[11] таким образом, вновь приобретая Catapult C.
Функции
CatapultC синтезирует ANSI C / C ++ без проприетарных расширений. Поддержка языка C / C ++ включает указатели, классы, шаблоны, специализацию шаблонов и перегрузку операторов, которые облегчают методологию повторного использования дизайна над кодом RTL.[12]
Catapult C поддерживает синтез как алгоритмической, так и управляющей логики.[13]
Дизайнеры проводят итерации с CatC, чтобы выбрать предпочитаемую микроархитектуру с учетом указанных ограничений производительности и площади.[14] Catapult имеет графический пользовательский интерфейс с визуальным представлением схемы аппаратного обеспечения, которую она планирует запланировать, а также привязку часов между кодом C и кодом Verilog RTL. В Catapult C есть 3 типа моделирования с использованием оригинальной тестовой среды C / C ++: на основе цикла, на основе RTL и на основе уровня шлюза.[15]
Catapult C поддерживает создание модели SystemC, предназначенной для виртуальных платформ, и тестовую среду SystemC для проверки сгенерированного RTL по сравнению с исходным C ++ с использованием исходного средства тестирования C ++.
Catapult C поддерживает синтез моделей уровня транзакций (TLM), включая стандартные стандартные шинные интерфейсы и пользовательские протоколы.[16]
Конкурирующие продукты HLS
- Stratus HLS от Системы дизайна Cadence
- Vivado HLS от Xilinx (ранее AutoPilot от AutoESL )
- Intel HLS от Intel (ранее a ++ от Altera)
- Компилятор BlueSpec из BlueSpec
- CoDeveloper Impulse C от Импульсные ускоренные технологии
- Компилятор Synphony C из Synopsys
- LegUp от Университет Торонто
- CyberWorkBench от NEC [1]
- C-to-Verilog из C-to-Verilog.com
- eXCite из Y исследования
- ParC C ++ расширен для параллельной обработки и описания оборудования
- HDL Coder из MathWorks
Рекомендации
- ^ Чип Дизайн Соединение ESL и синтеза высокого уровня
- ^ Университет Оулу Быстрое планирование эффективных архитектур VLSI для беспроводной системы HSDPA следующего поколения с использованием синтеза C
- ^ EETimes: Внедрение синтеза высокого уровня позволяет использовать ESL[постоянная мертвая ссылка ]
- ^ SOCCentral Mentor Graphics расширяет продукт Catapult C Synthesis В архиве 2006-02-05 на Wayback Machine
- ^ SOCCentral Mentor представляет высокоуровневый синтез для создания высокопроизводительных подсистем из чистого ANSI C ++ В архиве 2012-09-13 в Archive.today.
- ^ EETimes Схема проектирования Mentor TLM 2.0
- ^ SCDsource Mentor Catapult C синтезирует контроль и управление питанием В архиве 2011-10-09 на Wayback Machine
- ^ Чип Дизайн Соединение ESL и синтеза высокого уровня
- ^ EETimes TLM Synthesis от Mentor связывает виртуальное прототипирование и аппаратную реализацию
- ^ EETimes Calypto приобретает Mentor's Catapult C
- ^ PR Newswire Mentor Graphics приобретает Calypto Design Systems
- ^ Университет Оулу Быстрое планирование эффективных архитектур VLSI для беспроводной системы HSDPA следующего поколения с использованием синтеза C
- ^ SCDsource Mentor Catapult C синтезирует контроль и управление питанием В архиве 2011-10-09 на Wayback Machine
- ^ ICASSP Архитектурный дизайн и реализация алгоритма детектора сферы увеличивающегося радиуса - списка
- ^ Deepchip Разработка микросхем C / C ++ с использованием высокоуровневого синтеза
- ^ EETimes TLM Synthesis от Mentor связывает виртуальное прототипирование и аппаратную реализацию
внешняя ссылка
- Calypto Design Systems Страница продукта Catapult C Synthesis
- Страница продукта Mentor Graphics Catapult C Synthesis
- ESL и синтезирующие сообщества высокого уровня
- Преобразование кода ANSI C с директивами OpenMP в описание SystemC
- Автоматический синтез и проверка встроенных систем: принятие желаемого за действительное или реальность?