Инструменты C в HDL преобразуют язык C или C-подобный компьютерный код в язык описания оборудования (HDL), такой как VHDL или Verilog . Затем преобразованный код можно синтезировать и транслировать в аппаратное устройство, такое как программируемая вентильная матрица . По сравнению с программным обеспечением , эквивалентные конструкции в оборудовании потребляют меньше энергии (обеспечивая более высокую производительность на ватт ) и выполняются быстрее с меньшей задержкой , большим параллелизмом и более высокой пропускной способностью . Однако проектирование системы и функциональная проверка на языке описания оборудования могут быть утомительными и отнимающими много времени, поэтому системные инженеры часто пишут критические модули на HDL и другие модули на языке высокого уровня и синтезируют их в HDL через инструменты синтеза C в HDL или высокого уровня .
Другое название этой методологии — C to RTL . RTL относится к представлению уровня регистровой передачи программы, необходимому для ее логической реализации.
Ранняя разработка C в HDL была выполнена Яном Пейджем, Чарльзом Суини и коллегами из Оксфордского университета в 1990-х годах, которые разработали язык Handel-C . Они коммерциализировали свои исследования, создав Embedded Solutions Limited (ESL) в 1999 году, которая была переименована в Celoxica в сентябре 2000 года. В 2008 году отдел встроенных систем Celoxica был продан Catalytic за 3 миллиона долларов, и они позже объединились, чтобы стать Agility Computing. [1] В январе 2009 года Mentor Graphics приобрела активы синтеза C Agility. [2] Celoxica продолжает торговать, концентрируясь на аппаратном ускорении для обработки транзакций в финансовом секторе и других отраслях . [3]
Методы C в HDL чаще всего применяются к приложениям , которые имеют неприемлемо высокое время выполнения на существующих архитектурах суперкомпьютеров общего назначения . Примерами являются биоинформатика , вычислительная гидродинамика (CFD), [ необходимо разъяснение ] финансовая обработка и анализ данных разведки нефти и газа. Встроенные приложения, требующие высокой производительности или обработки данных в реальном времени, также являются областью использования. Проектирование систем на кристалле (SoC) также может использовать преимущества методов C в HDL.
Компиляторы C-to-VHDL очень полезны для больших проектов или для реализации кода, который может измениться в будущем. Проектирование большого приложения полностью на HDL может быть очень сложным и трудоемким; абстракция языка высокого уровня для такого большого приложения часто сокращает общее время разработки. Кроме того, приложение, закодированное на HDL, почти наверняка будет сложнее модифицировать, чем приложение, закодированное на языке более высокого уровня. Если проектировщику нужно добавить новую функциональность в приложение, добавление нескольких строк кода на C почти всегда будет проще, чем переделка эквивалентного кода HDL.
Инструменты Flow to HDL преследуют схожую цель, но с проектированием на основе Flow , а не C.
{{cite web}}
: CS1 maint: бот: исходный статус URL неизвестен ( ссылка )