C-zu-Hardware-Compiler (HLL-Synthese) [closed]

Lesezeit: 4 Minuten

Benutzer-Avatar
Flolo

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

System-C?

  • System-C ist eine Sprache (oder besser eine Spracherweiterung/Bibliothek), kein spezifischer Compiler – auch die synthetisierbare Teilmenge ist sehr begrenzt. Aber guter Tipp – die könnte ich auch einbauen.

    – flolo

    9. April 2011 um 6:53 Uhr

  • Ah, ich habe die Subtilität nicht verstanden, dass Sie sich eher mit Compilern als mit Sprachen befasst haben. Es schien ein bisschen seltsam, dass es nicht enthalten war, da es bekannter ist als viele, die Sie aufgelistet haben. Ich glaube jetzt weiß ich warum…

    – Jerry Sarg

    9. April 2011 um 6:54 Uhr


Rotem CToVerilogich weiß nichts darüber, habe es nur gegoogelt.

  • Ich habe es bereits verstanden (es ist das zwischen Chimps und Comprade), aber danke (ich habe jetzt die Quelle dazu bearbeitet).

    – flolo

    11. April 2011 um 6:47 Uhr


Benutzer-Avatar
Nikolaos Kavvadias

Bein hoch: http://legup.eecg.utoronto.ca/

Es gibt auch HercuLeS (vorläufiger Name), das MEIN HLS-Tool ist.

Holen Sie sich die (alte) Technik. Demo ab hier
http://www.nkavvadias.co.cc/misc/hls-demo-linux-0.0.1.tar.gz
Seitdem haben sich die Dinge weiterentwickelt.

Lassen Sie mich wissen, wenn Sie eine Technik wollen. Präsentation mit detaillierten Beispielen aus der Praxis, z. B. ein multifunktionales CORDIC.

Gruß, Nikolaos Kavvadias

Benutzer-Avatar
scherech

OpenCL Unterstützung bei Altera und Xilinx.

OpenCV-Unterstützung durch Xilinx. OpenCL + OpenCV-Unterstützung von Altera. Siehe diesen Beitrag. Ich spreche über OpenCL+OpenCV, beide basierend auf C-Sprachen.

Altera hat OpenCL-SDK die mit Quartus verwendet wird. Xilinx hat Vivado HLS.

Cynthesizerdas auf SystemC basiert. CellMath wird den anderen Weg gehen, Verilog nehmen und ein C-Modell erstellen.

1373070cookie-checkC-zu-Hardware-Compiler (HLL-Synthese) [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy