Инструменты C в HDL преобразуют компьютерный код языка C или C-подобный компьютерный код в язык описания оборудования (HDL), такой как VHDL или Verilog . Затем преобразованный код можно синтезировать и транслировать в аппаратное устройство, такое как программируемая вентильная матрица . По сравнению с программным обеспечением эквивалентные конструкции в оборудовании потребляют меньше энергии (обеспечивая более высокую производительность на ватт ) и выполняются быстрее с меньшей задержкой , большим параллелизмом и более высокой пропускной способностью . Тем не мение,проектирование системы и функциональная проверка на языке описания оборудования могут быть утомительными и трудоемкими, поэтому системные инженеры часто пишут критические модули на HDL и другие модули на языке высокого уровня и синтезируют их в HDL через C в HDL или в синтез высокого уровня. инструменты.
C в RTL - другое название этой методологии. RTL относится к представлению программы на уровне передачи регистров, необходимому для ее реализации в логике.
История
Ранняя разработка языка C в HDL была выполнена Яном Пейджем, Чарльзом Суини и его коллегами из Оксфордского университета в 1990-х годах, которые разработали язык Handel-C . Они коммерциализировали свои исследования, сформировав в 1999 году компанию Embedded Solutions Limited (ESL), которая была переименована в 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 преследуют ту же цель, но с дизайном, основанным на потоке, а не на языке C.
Примеры инструментов
- LegUp Инструмент с открытым исходным кодом ANSI C для Verilog, основанный на компиляторе LLVM.
- LegUp Коммерческий вариант LegUp.
- VHDP Упрощенный VHDL с поддержкой процедурного программирования.
- bambu (бесплатный инструмент с открытым исходным кодом ANSI C для Verilog на основе компилятора GCC) с веб-сайта PandA
- CBG CtoV Инструмент, разработанный в 1995-99 DJ Greaves (Univ Cambridge), который создает экземпляры RAM и интерпретирует различные конструкции и типы данных SystemC .
- Инструмент C-to-Verilog ( NISC ) от Калифорнийского университета в Ирвине.
- ROCCC 2.0 (бесплатный инструмент C to HDL с открытым исходным кодом) от Jacquard Computing Inc.
- Altium Designer 6.9 и 7.0 (также известный как Summer 08) от Altium
- Компилятор ускорения C-to-Hardware Nios II от Altera
- Инструмент Catapult C от Mentor Graphics
- Синтезатор от Forte Design Systems
- SystemC от Celoxica (несуществующий)
- Handel-C из Celoxica (несуществующий)
- DIME-C от Nallatech
- Impulse C от Impulse Accelerated Technologies
- FpgaC - инициатива с открытым исходным кодом
- Язык программирования SA-C
- Каскад (синтезатор C в RTL) от CriticalBlue
- Mitrion-C от Mitrionics
- Компилятор C2R от Cebatech
- PICO Express от Synfora
- SPARK (C-to-VHDL) от Калифорнийского университета в Сан-Диего.
- Аппаратная среда компиляции (HCE) от Accelize (бывшая среда компиляции HARWEST от Ylichron )
- Инструмент HercuLeS (C / сборка на VHDL)
- Индекс полезных инструментов VLSI / VHDL CAD Group с домашней страницы университета CWRU
- DWARV как часть исследовательского проекта Delft Work Bench и используется в цепочке инструментов hArtes.
- MyHDL - это компилятор и симулятор подмножества Python для VHDL и Verilog [4]
- Trident (от C до VHDL) от trident.sourceforge.net
- Vsyn (C to Verilog, русский проект) [5]
- Instant SoC by FPGA Cores создает SoC с ядром RISC-V , периферийными устройствами и памятью непосредственно из C ++.
Смотрите также
- Сравнение программного обеспечения EDA
- Автоматизация электронного проектирования (EDA)
- Синтез высокого уровня
- Силиконовый компилятор
- Аппаратное ускорение
Рекомендации
- ^ Кларк, Питер (1 апреля 2008 г.). «Celoxica продает бизнес EDA компании Catalytic за 3 миллиона долларов» . EE Times .
- ^ Дилан МакГрат (22 января 2009 г.). «Ментор покупает активы синтеза C Agility» . EETimes.com .
- ^ Celoxica Ltd (22 января 2011 г.). "Celoxica Ltd 'О нас ' " . Celoxica.com . Архивировано из оригинала 16 января 2011 года . Проверено 22 января 2011 года .
- ^ http://www.myhdl.org/
- ^ «Архивная копия» . Архивировано из оригинала на 2017-06-02 . Проверено 27 октября 2019 .CS1 maint: заархивированная копия как заголовок ( ссылка )
Внешние ссылки
- Хорошая статья об ImpulseC в журнале Dr Dobbs Journal.
- Обзор потоков от Daresbury Labs. [ постоянная мертвая ссылка ]
- Обзор аппаратной компиляции и языка Handel-C.
- Инициатива Xilinx ESL, некоторые продукты перечислены и инструменты C в VHDL.
- Обзор компилятора C-to-Hardware от Altium.
- Официальный документ Altera Nios II C2H Acceleration Compiler.