Ich versuche, eine Übersicht/Geschichte aller C-zu-Hardware-Compiler zu machen.
Für alle, die sie nicht kennen: Sie nehmen C-Code und übersetzen ihn dann in eine Hardwarebeschreibungssprache (wie VHDL oder Verilog), die dann zum Generieren von Hardware verwendet werden kann (normalerweise wird sie einem FPGA zugeordnet – aber ich bin nicht darauf beschränkt , ASIC als Ziel wäre auch in Ordnung).
Ich habe schon einige gesammelt (+ Infos darüber). Meine Frage ist also: Kennen Sie andere Compiler (und wenn ja, haben Sie Referenzen, Hinweise, Informationen darüber)?
Meine Liste bisher:
- AutoESL
- Bach-C (Sharp)
- C2H (altera)
- C2R (Cebatech)
- C2Verilog (CompiLogic / C-Level-Design / Synposys)
- Carte / MAP (SRC-Computer)
- Kaskade (CriticalBlue)
- BARGELD (Carnegie Mellon University, Pittsburgh)
- Katapult-C (Mentor Graphics)
- CHC (Altium)
- CHiMPS (University of Washington (Seattle) / Xilinx / bald kommerziell?)
- C-zu-Verilog (Haifa)
- Genosse (TU Braunschweig EIS + TU Darmstadt ESA)
- CVC (Hitachi)
- Cyber (NEC)
- Daedalus (Uni Amsterdam, Uni Leiden)
- DIME-C (Nallatech)
- eXCite (YXI)
- FP-Compiler (Altera)
- FpgaC (OpenSource)
- GarpCC (Callahan, Universität von Kalifornien in Berkeley)
- GAUT (UBS-Universität Frankreich)
- Händel-C (Celoxica)
- Hthreads (Universität von Kansas)
- Impulse-C (Impulsbeschleunigte Technologien)
- Mitrion-C (Mitrionik)
- Zwerg (TU Delft)
- NIMBLE (Zusammenfassung, EIS Braunschweig)
- NISC (Universität von Kalifornien, Irvine)
- PICO-Express (Synfora => Synopsys)
- PRISC (Harvard University, Cambridge)
- ROCCC (Universität von Kalifornien, Riverside)
- SPARK (Universität von Kalifornien, Irvine)
- SpecC (Gajski et al.)
- Dreizack (OpenSource, Los Alamos National Laboratory)
- PFUI
- KALBFLEISCH
- vfTools (Vektor-Fabric)
- xPilot (Universität von Kalifornien, Los Angeles)
(Ich weiß, dass nicht alle auf der Liste C als sauer haben, einige verwenden einen C-ähnlichen Dialekt, und fast alle unterstützen nur eine Teilmenge, ich interessiere mich auch für solche).
EDIT: Ich weiß, wie man Google benutzt, also habe ich bereits die üblichen Verdächtigen überprüft und die Ergebnisse aufgenommen. Es ist also sehr wahrscheinlich, dass jemand hier nur antworten kann, wenn er wirklich ein Papier oder ein exotisches Tool kennt (oder vielleicht nicht so exotisch, aber das die Funktionalität irgendwie versteckt implementiert und der Compiler nicht beworben wird).
Berücksichtigen Sie auch C++-Hardwarebeschreibungstools. Was wirklich interessant sein könnte, ist ein C++ DSEL für Hardware.
– Papierstau
11. April 2011 um 8:45 Uhr
Schöne Liste! Im Eintrag „Carte/MAP (SRC-Computer)“ ist MAP der MAP-Prozessor (der FPGAs, Speicher und Unterstützungslogik enthält) in einem SRC-System, Carte ist die Programmierumgebung, die verwendet wird, um C-Code für die Mikroprozessoren und MAP-Prozessoren in einem zu kompilieren SRC-System.
– David Zeiger
2. März 2012 um 21:03 Uhr
mit einigen vielen zur Auswahl, woher weiß ich, womit ich anfangen soll, um herumzuspielen?
– pyCthon
5. Februar 2013 um 2:48 Uhr
@pyCthon: Das hängt von vielen Dingen ab (z. B. zielen einige auf ASIC-Design ab, einige sind FPGAs, einige sind Softcores) – ohne weitere Einschränkungen schwer zu sagen (nicht viel einfacher, wenn Sie sie haben). Generell sind die kommerziellen weit mehr Natur als die akademischen, aber dafür muss man oft einen hohen Preis bezahlen.
– flolo
5. Februar 2013 um 17:41 Uhr
@flolo true könnten Sie ein anständiges FPGA-Open-Source-Gerät empfehlen?
– pyCthon
5. Februar 2013 um 17:44 Uhr