C к HDL - C to HDL
Инструменты 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. В январе 2009 года Mentor Graphics приобрела активы синтеза C. Agility. Celoxica продолжает торговать, концентрируясь на аппаратном ускорении в финансовой и других отраслях .
Приложения
Методы 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.
- Trident (от C до VHDL) от trident.sourceforge.net
- Vsyn (C to Verilog, русский проект)
- Instant SoC by FPGA Cores создает SoC с ядром RISC-V , периферийными устройствами и памятью непосредственно из C ++.
- PipelineC 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: заархивированная копия как заголовок ( ссылка )
Внешние ссылки
- Хорошая статья в журнале Dr Dobbs Journal об ImpulseC.
- Обзор потоков от Daresbury Labs.
- Обзор аппаратной компиляции и языка Handel-C.
- Инициатива Xilinx ESL, некоторые продукты перечислены и инструменты C в VHDL.
- Обзор компилятора C-to-Hardware от Altium.
- Официальный документ Altera Nios II C2H Acceleration Compiler.