Введение

FpgaC — это кремниевый компилятор, который генерирует цифровые схемы для выполнения скомпилированных программ на языке высокого уровня. Полученные цифровые схемы могут использовать FPGA или CPLD в качестве целевого процессора для реконфигурируемых вычислений, или даже ASIC для специализированных программных приложений. Язык программирования, используемый FpgaC, является подмножеством языка C. Основная цель FpgaC — быть эффективным языком высокого уровня (HLL) для реконфигурируемых вычислений на FPGA или CPLD, а не языком описания аппаратуры (HDL) для разработки эффективных специализированных ASIC.

История

Исторические корни FpgaC лежат в Transmogrifier C 3.1 (TMCC) HDL, предложении с открытым исходным кодом, лицензированном по BSD в 1996 году, разработанном в Университете Торонто. TMCC – один из первых компиляторов FPGA C, работа над которым началась в 1994 году и была представлена на FCCM95, организованном IEEE. Это предшествовало эволюции от языка Handel к разработке Handel C, вскоре после этого осуществлённой в Оксфордской вычислительной лаборатории. TMCC был переименован в FpgaC при первом выпуске проекта на SourceForge, с внесением изменений в синтаксис для начала перехода к ANSI C. Последующая разработка исключила весь явный синтаксис HDL из языка и расширила поддерживаемый набор функций C. Используя расширения ANSI C C99, та же функциональность теперь достигается посредством вывода, а не нестандартных расширений языка. На этот отход от нестандартных расширений HDL отчасти повлиял Streams C из Лос-Аламосской национальной лаборатории (сейчас доступный в коммерческом варианте как Impulse C). За прошедшие годы компиляция ANSI C для выполнения в виде схем FPGA стала общепринятой технологией. Коммерческие компиляторы FPGA C доступны у множества поставщиков, а инструменты системного уровня на основе ANSI C стали стандартом для описания систем и языков моделирования. Предложения по реконфигурируемым вычислениям на основе FPGA от лидеров отрасли, таких как Altera, Silicon Graphics, SRC Computers компании Seymour Cray и Xilinx, опираются на два десятилетия исследований в области реконфигурируемых вычислений, проведённых в государственных и университетских учреждениях.