Кіріспе

FpgaC – компиляцияланған компьютерлік бағдарламаларды іске асыратын цифрлық тізбектерді жасайтын кремний компиляторы. Жасалған цифрлық тізбектер қайта конфигурацияланатын есептеулер үшін FPGA немесе CPLD-ні, немесе арнайы бағдарламалық қолданбалар үшін ASIC-терді мақсатты процессор ретінде пайдалана алады. Оның компиляцияланатын бағдарламалау тілі – C бағдарламалау тілінің бір бөлігі. FpgaC-тің мақсаты – тиімді жекешелендірілген ASIC-терді құруға арналған аппараттық сипаттама тілі (HDL) емес, FPGA немесе CPLD-лерде қайта конфигурацияланатын есептеулер үшін тиімді жоғары деңгейлі тіл (HLL) болу.

Тарих

FpgaC-тің тарихи тамыры Трансмогрификатор C 3.1 (TMCC) HDL-де, Торонто университетінің 1996 жылы BSD лицензиясымен ұсынылған ашық кодтық өнім. TMCC – 1994 жылы жұмысы басталған және IEEE FCCM95-те ұсынылған алғашқы FPGA C компиляторларының бірі. Бұл Гендел тілінен Гендел C тіліне Оксфорд университетінің есептеу зертханасында жасалған эволюциядан бұрын болды. TMCC бастапқы SourceForge жобасының нұсқасы үшін FpgaC деп аталды, ANSI C-ге эволюцияны бастау үшін синтаксисі өзгертілді. Кейінгі даму тілден барлық нақты HDL синтаксисін жойды және қолдау көрсетілетін C тілінің жиынтығын арттырды. ANSI C C99 кеңейтімдерін пайдалану арқасында, бұрынғыдай стандартты емес тіл кеңейтімдерін қолданбай, дәл сол мүмкіндіктерді қорытынды арқылы қол жеткізуге болады. Стандартты емес HDL кеңейтімдерінен бас тартуға Лос-Аламос Ұлттық зертханасының Streams C (қазір Impulse C ретінде коммерциялық қолжетімді) әсер етті. Содан бері ANSI C-ді FPGA тізбектері ретінде орындау үшін құрастыру – кең таралған технологияға айналды. Бірнеше сатушылардан коммерциялық FPGA C компиляторларын алуға болады, ал ANSI C негізіндегі жүйелік құралдар жүйелерді сипаттау және модельдеу тілдері ретінде кеңінен қолданылады. Altera, Silicon Graphics, Seymour Cray's SRC Computers және Xilinx сияқты сала жетекшілерінің FPGA негізіндегі қайта конфигурацияланатын есептеу ұсыныстары екі он жылдық үкіметтік және университеттердің қайта конфигурацияланатын есептеу зерттеулерінің нәтижесін пайдаланды.