Jump to content

Импульс С

Соразработчик
Разработано Импульсно-ускоренные технологии
Разработчик Импульсно-ускоренные технологии
Впервые появился 2003
Стабильная версия
3.60.а.8 / 30 сентября 2009 г.
ТЫ FPGA и соответствующие встроенные процессоры
Лицензия Компилятор FPGA продается и распространяется компанией Impulse Accelerated Technologies.
Веб-сайт www.ImpulseC.com [ мертвая ссылка ]
Под влиянием
Язык программирования C , Streams-C

Impulse C — это подмножество языка программирования C в сочетании с C-совместимой библиотекой функций , поддерживающей параллельное программирование , в частности, для программирования приложений, предназначенных для устройств FPGA . Он разработан компанией Impulse Accelerated Technologies из Киркланда, штат Вашингтон.

Обзор [ править ]

Инструмент синтеза высокого уровня и соответствующую библиотеку функций , CoDeveloper Impulse C включает в себя компилятор предназначенную для разработки приложений на основе FPGA. Impulse C совместим со стандартом ANSI C , что позволяет использовать стандартные инструменты C для проектирования и отладки приложений, предназначенных для FPGA. Компилятор Impulse C принимает подмножество C и генерирует оборудование FPGA в виде файлов языка описания оборудования (HDL) . Impulse C позволяет разработчикам встраиваемых систем и программистам использовать устройства FPGA для ускорения приложений на языке C.

Impulse C отличается от стандартного C тем, что предоставляет модель параллельного программирования для смешанных платформ процессоров и FPGA. Для этой цели Impulse C включает расширения C в виде функций и типов данных, позволяющие приложениям, написанным на стандарте C, отображаться на крупномасштабных параллельных архитектурах, которые могут включать стандартные процессоры вместе с программируемым оборудованием FPGA.

Инструменты Impulse C включают в себя инструменты аппаратного и программного совместного моделирования, а также C-to -RTL технологию планирования/оптимизации , используемую для сопоставления элементов приложения с оборудованием с помощью инструментов логического синтеза FPGA .

Модель программирования [ править ]

Impulse C поддерживает вариант модели программирования взаимодействующих последовательных процессов (CSP), оставаясь при этом совместимым со стандартными инструментами C, такими как отладчики и профилировщики. Impulse C предназначен для потоковых приложений, ориентированных на потоки данных, но также предназначен для поддержки альтернативных моделей программирования, включая использование общей памяти в качестве механизма связи.

В потоковом приложении Impulse C аппаратные и программные процессы взаимодействуют в основном через буферизованные потоки данных, которые реализуются непосредственно в аппаратном обеспечении. Такая буферизация данных, реализуемая с использованием FIFO с двойной тактовой частотой , генерируемых компилятором, позволяет писать параллельные приложения на относительно высоком уровне абстракции без поцикловой синхронизации, которая в противном случае потребовалась бы.

Используя Impulse C, приложение можно разделить для создания многопроцессной реализации, которая разделена на аппаратные и программные компоненты или полностью реализована в устройстве FPGA. Например, приложение фильтрации изображений можно описать с помощью Impulse C как набор параллельных конвейерных процессов, каждый из которых описан с использованием одной или нескольких подпрограмм C.

На программной стороне приложения, например, во встроенном процессоре FPGA, функции библиотеки Impulse C используются для открытия и закрытия потоков данных, чтения или записи данных в потоках и, при желании, отправки сообщений о состоянии или опроса результатов. Для связи между процессором и FPGA потоковые чтения и записи могут быть определены как операции, которые используют преимущества внутренних или внешних интерфейсов шины, специфичных для FPGA.

На аппаратной стороне приложения функции библиотеки Impulse C и другие операторы C компилируются для создания эквивалентных параллельных аппаратных реализаций в форме синтезируемых файлов HDL. Эти файлы обрабатываются инструментами FPGA для создания растровых изображений оборудования FPGA.

В основе модели потокового программирования Impulse C лежат процессы и потоки. Процессы независимо синхронизируются, одновременно выполняя сегменты приложения. Аппаратные процессы написаны с использованием подмножества стандарта C и выполняют работу приложения, принимая данные, выполняя вычисления и генерируя выходные данные. В типичном приложении данные передаются от процесса к процессу посредством буферизованных потоков или, в некоторых случаях, посредством сообщений и/или разделяемой памяти. Характеристики каждого потока, включая ширину и глубину генерируемых FIFO, могут быть указаны в приложении C.

Приложения [ править ]

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

Целевые платформы [ править ]

Impulse C поддерживает FPGA от Xilinx и Altera, включая доступные программные и аппаратные процессоры Altera Nios II и Xilinx от MicroBlaze и PowerPC .

Ссылки [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5ba0fa9f63cc5e43fca9833843430d93__1620814260
URL1:https://arc.ask3.ru/arc/aa/5b/93/5ba0fa9f63cc5e43fca9833843430d93.html
Заголовок, (Title) документа по адресу, URL1:
Impulse C - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)