Auf der Suche nach Open-Source-FPGA-Hardware und Entwicklungstools [geschlossen]

Untersuchte FPGA-Boards, konnte aber keine Open-Source-Board- und herstellerneutralen FPGA-Entwicklungstools finden:

  • Der ORSoC-Hersteller rühmt sich auf seiner Website mit Open-Sourcing, aber ich kann keine wirklich starken Beweise finden, außer dem Webmastering von OpenCores.org.
  • Das Duo: Xilinx bewirbt seine Produkte mit „Open Source Hardware Innovation Contest for Mainland China Universities“. Dennoch sind ihre Produkte proprietär, schlechte Unterstützung für *ix --. Ebenso hat Altera eine schlechte Unterstützung für *ix, überprüfen Sie einfach ihre Betriebssystemunterstützung mit Quartus oder wie Sie Ihren Logikanalysator im synthetischen Schritt haben?
  • Gruppe kleiner Spieler - lassen Sie die Besten zeigen.

Gibt es einen Hersteller, der stark mit Open-Source-Dingen wie Hardware- und Entwicklungstools ist?

Verwandte Frage in SO hier .
Für die iCE40-FPGAs von Lattice Semiconductor gibt es jetzt eine Open-Source-Toolchain, siehe: github.com/cseed/arachne-pnr

Antworten (5)

Leider gibt es nicht viel kostenlose Software für programmierbare Hardware. Es gibt ein paar Synthese-Tools, wie Lava (das weitgehend manuelles Platzieren erwartet), Confluence, HDCaml und Atom und Icarus Verilog , aber so gut wie keine Fitter-, Mapper- oder Place-and-Route-Tools (ich würde absolut gerne beweisen, dass ich falsch liege diese). Opencircuitdesign.com hat einige Tools gesammelt, aber es erfordert wahrscheinlich etwas Dokumentation und einen Bitstream-Generator. Die Simulation hingegen ist ziemlich gut abgedeckt.

Auf der unfreien Seite haben die unfreien, aber kostenlosen Tools von Xilinx in letzter Zeit einige Verbesserungen erfahren, indem libusb-Unterstützung hinzugefügt und Wind/U (ein schreckliches unfreies Winelib-Analogon) zugunsten von Qt fallen gelassen wurden (aber das werden sie nicht sein Aktualisierung für stillgelegte Chips). Die meisten anderen Tools scheinen mit einem Paket namens flexlm so sabotiert zu werden, dass es schwierig ist, sie selbst mit Hilfe des Anbieters zum Laufen zu bringen. Ich war auch in der Lage, Lattice Diamond-Software unter Linux auszuführen, aber dem fehlte die Simulation. Für Atmel AT40KAL könnte das Place-and-Route-Tool in Wine ausgeführt werden, aber die Bibliothek erfordert nicht standardmäßige Komponenten (sie verwendet LPM, lehnt aber 2-Input-Gates ab), sodass eine Art Mapper benötigt würde.

Leider sind die Synthesewerkzeuge soweit ich weiß alle Closed Source. Der darin enthaltene Code ist ein großer Teil ihres Geschäftsvorteils, daher halte ich es für unwahrscheinlich, dass Sie sie als Open Source betrachten werden.

Xilinx hat kostenlose Toolchains für Windows und Linux, und wenn Ihnen ihre IDE nicht gefällt, können Sie ihre Kommandozeilen-Tools mit Ihrem eigenen Editor verwenden. Ich habe das schon einmal gemacht, es funktioniert gut für kleine Projekte (z. B. CPLD), bei denen Sie nicht mit großen, komplexen Softwarepaketen herumspielen möchten.

Ich glaube, Altera bietet nur kostenlose Tools für Windows an, ihre Linux-Tools werden erst bezahlt, als ich das letzte Mal nachgesehen habe (dies kann sich geändert haben, es ist vielleicht ein Jahr oder so her, seit ich das letzte Mal nachgesehen habe).

Mein Verständnis ist, dass die Synthese – der Prozess der Implementierung eines Designs in die Bausteinkomponenten der Technologie – die letzte Ebene ist, auf der das Ersetzen durch Ihr eigenes möglich ist. Es ist die nächste Schicht – Place and Route, die damit verbundene Timing-Analyse und die darauffolgende Bitstream-Generierung, wo wirklich genau gespeicherte Informationen benötigt werden.

Das Butterfly Board sieht aus wie eine gute Open-Source-Anfängerroute in FPGAs. Sie haben den AVR8-Kern bereits portiert, sodass Sie Arduino-Skizzen/AVR-Objektcode auf dem Ding ausführen können, sodass es eine vernünftige Lernkurve gibt.

Update: Jetzt umbenannt in Papilio Boards .

Ich denke, dass Xilinx WebPack benötigt wird und es für Windows und Linux verfügbar ist.

Das Webpack sollte auch für Sie kostenlos sein.
Entschuldigung, aber ich kann nicht wirklich sehen, was "Open Source" damit ist. Würde lieber Münze mit über der Hälfte billiger rutschen wie: item.taobao.com/auction/… .
Obwohl es sich auf die proprietäre Xilinx-Toolchain stützt, enthält das Butterfly One 1) ein Open-Source-Board-Design, 2) einen Open-Source-"Programmierer" (Bitstream->Flash-Dienstprogramm) und 3) viele Open-Source-IP als Beispiele . Empfohlen!
Vielleicht sollten Sie Ihren Link aktualisieren, um auf den Butterfly One zu verweisen? Wissen Sie auch, wie gut diese unterstützt werden (wie viele Leute sie verwenden und ob sie gut für Anfänger sind)?
Die Schaltpläne und alle sind Open Source für den Butterfly One und ich habe dies vollständig auf meinem Arch Linux-Computer zum Laufen gebracht. Sie müssen ein paar Dinge manuell kompilieren, aber ich würde nicht sagen, dass der Einstieg schwieriger ist als bei den meisten FPGAs. (und wahrscheinlich einfacher, weil es als AVR-Softcore programmiert ist

FPGA-Entwicklungstools sind alle eng mit den FPGA-Geräten selbst gekoppelt und hängen vollständig von proprietären Details der FPGA-Architektur ab, insbesondere auf Ebene der Platzierung, des Routings und der Bitstromerzeugung. Herstellerneutralität ist somit weitgehend nicht gegeben. Tools auf höherer Ebene können bis zu einem gewissen Grad anbieterneutral sein (z. B. Synplify, ESL-Tools, Verifizierungstools usw.), aber sie sind sicherlich nicht Open Source.

Andererseits gibt es viele akademische Tools, die Open Source sind. Solange Sie nicht für ein echtes physisches Gerät entwickeln möchten, können Sie die VPR 5.0 - Toolchain verwenden.

Ich kaufe die Erklärung "eng an Hardware gekoppelt" nicht. Dasselbe gilt für verschiedene Befehlssätze für eingebettete CPUs.
@maxy - nein, ist es wirklich nicht. Eine CPU abstrahiert große Mengen an Hardwaredetails, die einer FPGA-Toolchain ausgesetzt sind und von dieser berücksichtigt werden müssen. Der AC-Compiler muss nicht wirklich wissen oder sich darum kümmern, ob der Ausgang des Multiplikators rechtzeitig zum nächsten Register gelangt, und selbst der Board-Designer muss nur auf die maximal zulässige Taktrate schauen, um dies zu wissen. Bei einem FPGA-Tool müssen Sie wissen, wie lange der Multiplikator benötigt, wie lange das Register aufgebaut ist, und dann die Verzögerung zwischen ihnen berechnen, je nachdem, wo Sie sie auf dem Chip platzieren und wie Sie das Signal dazwischen leiten.

Weder Open Source noch unterstützt, aber Xilinx bietet eine kostenlose, plattformübergreifende (Java) API namens Jbits, die die direkte Programmierung (und spontane Neuprogrammierung) von FPGAs ermöglicht. Ich glaube, dass nur CPLDs und bis zu Virtex-II unterstützt werden, aber es kommt Entwicklern am nächsten, ihre eigenen benutzerdefinierten Synthesewerkzeuge zu erstellen. Ich plane, in naher Zukunft ziemlich viel damit herumzuspielen.

Jbits war wirklich cool.