C в ЛПВП
Инструменты C в HDL преобразуют язык C или C-подобный компьютерный код в язык описания оборудования (HDL), такой как VHDL или Verilog . Преобразованный код затем может быть синтезирован и преобразован в аппаратное устройство, такое как программируемая вентильная матрица . По сравнению с программным обеспечением эквивалентные аппаратные решения потребляют меньше энергии (обеспечивая более высокую производительность на ватт ) и выполняются быстрее, с меньшей задержкой , большим параллелизмом и более высокой пропускной способностью . Однако проектирование системы и функциональная проверка на языке описания аппаратного обеспечения могут быть утомительными и отнимать много времени, поэтому системные инженеры часто пишут критические модули на HDL, а другие модули на языке высокого уровня и синтезируют их в HDL через C в HDL или в высокоуровневый язык. инструменты синтеза уровней .
C to RTL — другое название этой методологии. RTL относится к на уровне передачи регистров представлению программы , необходимому для ее логической реализации.
История
[ редактировать ]Ранняя разработка языка C в HDL была осуществлена Яном Пейджем, Чарльзом Суини и коллегами из Оксфордского университета в 1990-х годах, которые разработали язык Handel-C . Они коммерциализировали свои исследования, сформировав в 1999 году Embedded Solutions Limited (ESL), которая была переименована в Celoxica в сентябре 2000 года. В 2008 году отдел встроенных систем Celoxica был продан компании Catalytic за 3 миллиона долларов, которая позже объединилась и стала Agility Computing. [ 1 ] В январе 2009 года Mentor Graphics приобрела активы Agility по синтезу C. [ 2 ] Celoxica продолжает торговать, концентрируясь на аппаратном ускорении обработки транзакций в финансовом секторе и других отраслях . [ 3 ]
Приложения
[ редактировать ]Методы C to HDL чаще всего применяются к приложениям , которые имеют неприемлемо высокое время выполнения архитектурах общего назначения на существующих суперкомпьютерных . Примеры включают биоинформатику , вычислительную гидродинамику (CFD), [ нужны разъяснения ] финансовая обработка и анализ данных разведки нефти и газа. Встроенные приложения, требующие высокой производительности или в реальном времени, обработки данных также являются областью использования. В конструкции системы на кристалле (SoC) также могут использоваться преимущества методов перехода от C к HDL.
Компиляторы C-to-VHDL очень полезны для больших проектов или для реализации кода, который может измениться в будущем. Разработка большого приложения полностью на HDL может оказаться очень сложной и трудоемкой задачей; абстракция языка высокого уровня для такого большого приложения часто сокращает общее время разработки. Более того, приложение, написанное на HDL, почти наверняка будет сложнее модифицировать, чем приложение, написанное на языке более высокого уровня. Если разработчику необходимо добавить в приложение новую функциональность, добавить несколько строк кода C почти всегда будет проще, чем переделывать эквивалентный HDL-код.
Инструменты Flow to HDL преследуют аналогичную цель, но с дизайном на основе потока , а не C.
Примеры инструментов
[ редактировать ]- SmartHLS (первоначально LegUp), инструмент ANSI C для Verilog, разработанный Microchip Technology на основе компилятора LLVM.
- CBG CtoV Инструмент, разработанный в 1995-99 годах DJ Greaves ( Кембриджский университет ), который создавал экземпляры RAM и интерпретировал различные конструкции и типы данных SystemC .
- Инструмент C-to-Verilog ( NISC ) от Калифорнийского университета в Ирвине.
- Altium Designer 6.9 и 7.0 (также известный как Summer 08) от Altium
- Компилятор аппаратного ускорения Nios II от Altera
- Инструмент Catapult C от Mentor Graphics
- Синтезатор от Forte Design Systems
- SystemC от Celoxica (несуществующий)
- Гендель-С из Целоксики (несуществующий)
- DIME-C от Nallatech
- Impulse C от Impulse Accelerated Technologies
- FpgaC — инициатива с открытым исходным кодом.
- язык программирования SA-C
- Cascade (синтезатор C в RTL) от CriticalBlue
- Митрион-С от компании Митрионикс
- SPARK (C-to-VHDL) из Калифорнийского университета в Сан-Диего. [ 4 ]
- Групповой указатель полезных инструментов VLSI/VHDL CAD от Университета Кейс Вестерн Резерв [ 5 ]
- MyHDL — это компилятор и симулятор подмножества Python для VHDL и Verilog. [ 6 ]
См. также
[ редактировать ]- Сравнение программного обеспечения EDA
- Автоматизация электронного проектирования (EDA)
- Синтез высокого уровня
- Кремниевый компилятор
- Аппаратное ускорение
Ссылки
[ редактировать ]- ^ Кларк, Питер (1 апреля 2008 г.). «Celoxica продает бизнес EDA компании Catalytic за 3 миллиона долларов» . ЭЭ Таймс .
- ^ Дилан МакГрат (22 января 2009 г.). «Mentor покупает активы Agility по синтезу C» . EETimes.com .
- ^ Celoxica Ltd (22 января 2011 г.). «Celoxica Ltd «О нас» » . Celoxica.com . Архивировано из оригинала 16 января 2011 года . Проверено 22 января 2011 г.
- ^ «SPARK: высокоуровневый синтез с использованием методов распараллеливания компилятора» . Архивировано из оригинала 24 октября 2009 г. Проверено 11 июля 2020 г.
- ^ «Указатель полезных инструментов группы СБИС САПР» . Архивировано из оригинала 19 июля 2011 г. Проверено 28 июля 2017 г.
{{cite web}}
: CS1 maint: bot: исходный статус URL неизвестен ( ссылка ) - ^ "Дом" . myhdl.org .
Внешние ссылки
[ редактировать ]- Хорошая статья в журнале Dr Dobbs Journal об ImpulseC.
- Обзор потоков от Daresbury Labs. [ постоянная мертвая ссылка ]
- Обзор аппаратной компиляции и языка Handel-C.
- Инициатива Xilinx ESL, перечисленные некоторые продукты и инструменты C to VHDL.
- Обзор компилятора C-to-Hardware Altium.
- Технический документ по компилятору ускорения Nios II C2H компании Altera.