Forum: FPGA, VHDL & Co. Open Source FPGA-IP-Core in VHDL


von Urshanabi E. (urep)


Lesenswert?

Hallo Leute,

Ich wollte nur wissen ob es machbar/vernünftig ist, einen Open Source 
FPGA-IP-Core zu entwickeln uns es bei eine Fab herstellen lassen. Kosten 
?( in millionen ? )

Was ich mit FPGA-IP-Core meine ist nicht irgendeine Soft-Core 
Prozessoren oder bit/netlist Datei oder sowas ähnliches, sondern 
tatscählichen FPGA in VHDL code mit IO blocks und Lookup Table und SRAM.

Alle möglichen stark negativen Feedback sind willkommen.
Gruss

PS: Ich würde auch gerne sehen wollen falls Ihr irgendwo im Net 
VHDL/Verilog Codes für Logic block/IO blocks/Interconnect sieht und sich 
meldet.

: Bearbeitet durch User
von Christoph Z. (christophz)


Lesenswert?

Urshanabi Ep schrieb:
> Ich wollte nur wissen ob es machbar/vernünftig ist, einen Open Source
> FPGA-IP-Core zu entwickeln uns es bei eine Fab herstellen lassen. Kosten
> ?( in millionen ? )

Machbar ist alles, auch ein Open-Source FPGA.
Der Aufwand einen konkurenzfähigen fertigen Chip zu machen ist imens, 
entsprechend auch die Kosten.
Als Lernsystem zum Anschauen und verstehen müsste sich der Aufwand 
eigentlich in grenzen halten.

Vernünftig wäre es aus meiner Sicht auch zum Teil, da bisher kein FPGA 
Hersteller seine interne Struktur offengelegt hat (Bei Prozessoren wäre 
sowas nicht denkbar, da muss jedes Bit vom Maschinencode dokumentiert 
sein).

Vor allem im Akademischen Umfeld gibt es viele Ideen und Konzepte die 
nicht umgesetzt bzw. erforscht werden können weil die Tools es nicht 
können und es nicht möglich ist selber spezialisierte Tools zu 
schreiben.

Sonst gäbe es schon lange spezialisierte Place&Route Tools für 
effiziente neuronale Netze als Beispiel.

von Klaus F. (kfalser)


Lesenswert?

Urshanabi Ep schrieb:
> Was ich mit FPGA-IP-Core meine ist nicht irgendeine Soft-Core
> Prozessoren oder bit/netlist Datei oder sowas ähnliches, sondern
> tatscählichen FPGA in VHDL code mit IO blocks und Lookup Table und SRAM.

Wenn Du einen Vorschlag machst, was dieses FPGA von den kommerziellen 
unterscheidet und welchen Vorteil es bringt, dann schon.

Du kannst Dir auch deinen Open Source Mercedes/Audi/BMW selbst bauen 
anstatt zum Händler zu gehen und ihn Dir zu kaufen.
Warum macht das niemand? ....

von wosnet (Gast)


Lesenswert?

Dann sollte man aber auch daran denken, dass dieser spezielle FPGA dann 
um nützlich zu sein auch eine geeignete Synthese und Place&Route 
Toolchain braucht. Da steckt man mind. nochmal soviel Entwicklungszeit 
wie für den IC rein.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Urshanabi Ep schrieb:
> Ich wollte nur wissen ob es machbar/vernünftig ist, einen Open Source
> FPGA-IP-Core zu entwickeln uns es bei eine Fab herstellen lassen.
Machbar? Ja.
Vernünftig? Ich möchte hier eine Gegenfrage stellen: "Wofür?"

> Kosten ?( in millionen ? )
Viele Mannjahre, einige Prototypzyklen --> Zigmillionen.
Du kannst das nur machen, wenn du beliebig viel Geld (Spielzeug für 
Milliardäre) oder Zugriff auf kostenlose Ressourcen (=Studenten an 
Hochschulen) und zudem Zugriff auf Fördergelder/Forschungsgelder hast.

Christoph Z. schrieb:
> Vernünftig wäre es aus meiner Sicht auch zum Teil, da bisher kein FPGA
> Hersteller seine interne Struktur offengelegt hat (Bei Prozessoren wäre
> sowas nicht denkbar, da muss jedes Bit vom Maschinencode dokumentiert
> sein).
Es ist daber auch nur dokumentiert, was dieses Bit tut, aber nicht, 
wie es das tut...

von min (Gast)


Lesenswert?

Vielleicht ist ja hier schon was passendes zu finden?
http://opencores.org/

von Klakx (Gast)


Lesenswert?

> Ich wollte nur wissen ob es machbar/vernünftig ist, einen Open Source
> FPGA-IP-Core zu entwickeln uns es bei eine Fab herstellen lassen.

Das mit der Fab muss gar nicht so teuer sein. Für erste Muster müssen 
das keine Millionen sein.

Open-Source nett. Ich sehe aber das Problem, dass hier straff 
entschieden werden muss. Ein FPGA ist sehr universell und man muss damit 
viele Kompromisse eingehen. Und ein Knackpunkt ist sicherlich:

Design der Basiszellen <-> Clock-Verdrahtung <-> PowerMesh <-> ToolChain 
<-> Testability

Und wer verifiziert diese Punkte bei einer Änderung?

Trotzdem: Wenn das nix professionelles werden soll, der FPGA-Core 
handhabbar ist, dann ist das ein nettes Feature.

Wenn man damit ein Problem umgehen will, dann fallen mir sicher zig 
andere Lösungsmöglichkeiten ein.

Und nochmal: Ein "professioneller" FPGA wird sicher nicht in VHDL 
beschrieben.

von Klaus F. (kfalser)


Lesenswert?

Klakx schrieb:
> Und nochmal: Ein "professioneller" FPGA wird sicher nicht in VHDL
> beschrieben.

Warum nicht?
VHDL ist ja nicht eine Sprache zur Beschreibung von FPGAs, sondern von 
Hardware.
Und die Schaltungsteile eines FPGAs werden vorher simuliert, bevor man 
das FPGA in Produktion schickt, das ist 1000 % sicher.

von Christoph Z. (christophz)


Lesenswert?

Lothar Miller schrieb:
> Christoph Z. schrieb:
>> Vernünftig wäre es aus meiner Sicht auch zum Teil, da bisher kein FPGA
>> Hersteller seine interne Struktur offengelegt hat (Bei Prozessoren wäre
>> sowas nicht denkbar, da muss jedes Bit vom Maschinencode dokumentiert
>> sein).
> Es ist daber auch nur dokumentiert, was dieses Bit tut, aber nicht,
> wie es das tut...

Auch das fehlt beim FPGA.
Es fehlt die Dokumentation was welches Bit im Bitstream bewirkt, also 
die Konfiguration einer I/O-Zelle, einer Logikzelle, der Switchboxen und 
der anderen Teile wie DSP-Slices oder PLLs.

Das maximum was ich bei Xilinx mal gesehen habe, war ein Dokument, dass 
die Addressierung inerhalb des Bitstreams erklärte, also wie eine 
bestimmte Logikzelle ihre (undokumentierte) Konfiguration bekommt.

Wie der FPGA Hersteller die Transistoren in der Logikzelle zusammensetzt 
ist mir eigentlich egal (Wie beim Prozessor auch). Hauptsache schnell 
und sparsam ;-)

von Kampfbastler (Gast)


Lesenswert?

Wenn du den FPGA in VHDL beschreibst, kannst du ihn auch ohne Kosten auf 
einem existierenden den FPGA synthetisieren. Zum Testen und Erstellen 
der Toolchain reicht das. Anwendungen und potenzielle Mitstreiter sehe 
ich auch sehr viele, da es bei vielen ASIC Entwicklungen sinnvoll wäre 
einen kleinen FPGA Teil mit im IC unterzubringen. Die etablierten 
Hersteller A und X bieten so etwas für kleine Projekte aber nicht an.

von Urshanabi E. (urep)


Lesenswert?

Danke für alle kommentare!!


Es solle keine konkurrenzfähigen chip sein sondern etwas womit Menschen 
anfangen können sowie Arduino. Außerdem ein FPGA Core m.E. musste sehr 
einfach sein da die Logic blocks sich wiederholen, im Vergleich zu einem 
ASIC chip. Also man braucht im grunde genommen, SRAM, IO block, Logic 
Block und Interconnect. Allerdings mir fehlt die Erfahrung alles 
miteinander zu integrieren was meiner meinung nach sehr einfach oder 
trivial sein solte.


Wegen Place& Route Tools mache ich mir kein Sorgen da EDA und Standard 
Cells wären m.E. genug.
FPgA chip XC2018: wie man sieht es ist trivial im Design.
http://3.bp.blogspot.com/-L03SM-Uduto/UCng1py8nxI/AAAAAAAABiM/5BWB7TVe8j0/s1600/xc2018_overview.jpg


VHDL,Verilog,Systemverligo,SystemC ist doch wurst oder. VHDL mag ich da 
es Formaler ist als Verliog.

Mercedes, BMW &co : Wo ein aufhört zu arbeiten, andere wird anfangen. Es 
geht nicht darum eine fertigen Produkt zu herstellen sondern dem 
Menschen ermöglichen den Weg einfacher zu machen chips zu herstellen. 
Das würde die FPGA preisen senken und was noch wichtiger ist,man würde 
irgendeine andere microcontroller nicht mehr brauchen. Vom Atari bis zum 
Intel intel i7. (OK bisschen übertrieben aber theoretisch wäre es 
möglich und sehr vernünftig)

Opencores: ich habe da nicht wichtigeres gefunden. Ein Leeres Projekt 
wäre hier :) http://opencores.org/project,fpga,overview

@Klakx: Power Mesh sagt mir nichts?

Ich glaube Ziel wurde bisschen hoch gesetzt.
Was wäre damit.
2 Logic blocks (2 bit input)
1 interconnect line mit einem switch
1 SRAM mit 5 bit, (4 für logic blocks,1 für interconnect switch)
IO blocks, weiss ich nichts davon,sind sie nur pads?
in VHDL.

Könntet Ihr mir iregendeine weg weisen wo ich anfangen kann, irgendeine 
essay, buch mit beispielen, einen Link vielleicht. Ich muss mich auf 
jeden fall mehr mit Floor planing beschäftigen glaube ich.

Vielen Dank nochmals

: Bearbeitet durch User
von asdfjkl; (Gast)


Lesenswert?

Kann man in dem Bereich denn ueberhaupt irgendwas entwickeln ohne 
staendig irgendwelche Patente zu verletzen?

von Fpgakuechle K. (Gast)


Lesenswert?

Urshanabi Ep schrieb:
> Hallo Leute,
>
> Ich wollte nur wissen ob es machbar/vernünftig ist, einen Open Source
> FPGA-IP-Core zu entwickeln uns es bei eine Fab herstellen lassen. Kosten
> ?( in millionen ? )

> PS: Ich würde auch gerne sehen wollen falls Ihr irgendwo im Net
> VHDL/Verilog Codes für Logic block/IO blocks/Interconnect sieht und sich
> meldet.

Oh Gott!

Das passiert,  wenn man glaubt IC können man mit VHDL wie 
Softwareentwicklen.

Also mit Standardcell Entwurf wird das nix, da kein Hersteller 
konfigurierbare Routing matrix hat sondern nur festverdrahtete 
metalllayer.

Auch ist ein FPGA weitaus mehr als LUT und FF. schon der clocktree ist 
eine
kleine Wissenschaft für sich. Dort steht in bisserl mehr zu 
schaltungsdesign in FPGA: http://www.kst.tugab.bg/staff/vally/4.pdf


Letzlich ist IC entwurf fast wie PCB-layout: Schaltplan zeichnen, 
Polygone pinseln, design rule check,

Plus ein paar extras aus physical design 
http://en.wikipedia.org/wiki/Physical_design_%28electronics%29 . Wie das 
Bildchen in der WP zeigt, fängt die Arbeit nach Erstellung des vhd erst 
an.

Als Buch kann man:
http://www.amazon.de/Handbuch-Electronic-Design-Automation-Jansen/dp/3446212884
empfehlen. Das beschreibt aber auch nur die absoluten basics. Für Unis 
gabs/gibts? ein programm zur Chipfertigung - 
http://www.europractice-ic.com/ ; Vorlesungen an der 
Elektotechnik-Fakultät (auch wenn du es Open Source nennst die 
Informatik-Fakultät hat keine Ahnung von Chip-design) zum Thema VLSI 
Ebtwurf sind auch eine gute Adresse, bspw. hier: 
http://hpsn.et.tu-dresden.de/index.php?id=73

Mehr Bruchstücken finde ich auf die Schnelle nicht, dabei müsste man 
noch über Design for Test, ATPG, TAP-Controller, IBIS, SPICE, Packaging 
etc schreiben.
Nur soviel, du unterschätzt das Thema gewaltig, einen kompletten Satz an 
Herstellungsunterlagen zu erstellen, das der Fertiger einen FPGA daraus 
fertigen kann ist Stoff der mehrere Doktoranden und Diplomanden auf 
Monate beschäftigt. Und das nur wenn sie vorher eine mehrjährige 
Ausbildung erfolgreich abgeschlossen haben.

MfG,

von Fpgakuechle K. (Gast)


Lesenswert?

asdfjkl; schrieb:
> Kann man in dem Bereich denn ueberhaupt irgendwas entwickeln ohne
> staendig irgendwelche Patente zu verletzen?

Ja Patente sind bei Hardware erst zu nehmen, nicht umsonst sind Altera 
und Xilinx obwohl prinzipiell gleich in Details wie 
interconnect-resourcen grundverschieden.

Darüberhinaus sind Chip-layouts nicht (nur?) per  patentanmeldung 
schützbar sondern als artwork vom copyright geschützt (siehe 
http://en.wikipedia.org/wiki/Integrated_circuit_layout_design_protection).
Das könnte bedeuten das für Open Source alles von dir gezeichnet 
undfreigegeben werden müsste.

MfG,

von Strubi (Gast)


Lesenswert?

Moin,

Es gibt einige Ansätze v.a. akademischer Natur, die sich mit der 
OpenSource-Synthese beschäftigen. Ansonsten gibt es meiner Meinung nach 
auf der Hardware-Seite nicht viel zu holen.
Schau mal in der GHDL-Mailinglist (irgendwo bei gna.org), da gibt es 
einige Diskussionen dazu.
Es ist schon recht knifflig, Routinen zu schreiben, die aus dem 
aristokratischen VHDL erkennen, welche Primitive "inferred" (mir fällt 
das deutsche Wort dazu gerade nicht ein) werden muss.
Eher würde ich mir als nicht zu bändigender DIY-Mensch Alternativen der 
HDL anschauen, wie z.B. myhdl oder migen. MyHDL ist für den Einsteiger 
noch eher was.

Grüsse,

- Strubi

von peter (Gast)


Lesenswert?

Ich finde die Idee wunderbar.

Der FPGA mit offenen Daten sollte auch mal ohne Angst für Laienhände 
zugänglich sein. Zur Zeit proggen viele mit dem AVR/Arduino rum. Die 
Überwindung einen FPGA nicht zu verwenden liegt glaube ich in der Lobby 
"das schaffe ich nicht... ist zu schwer...wird nur in der Industrie 
verwendet usw.

Ich habe mehrere Jahre den Atmega bis zum 6128 genutzt und habe mir 2 
kleine Roboter mit Kamera usw gebaut. Die Versuche die ich jetzt mit dem 
DE-1-Board mache sind um vieles lehrreicher habe ich festgestellt als 
nur mal einen Roboter zu bauen der dann  einen festen Umgang bewältigen 
kann... er wurde langweilig.

Vielleicht eine Gesellschaft gründen...und dann los. Es gibt in 
Deutschland genug Menschen die glaube ich da ihr Geld anlegen würden.

Warum alles dem Ausland überlassen.

GRuss

von Fpgakuechle K. (Gast)


Lesenswert?

Urshanabi Ep schrieb:

> Könntet Ihr mir iregendeine weg weisen wo ich anfangen kann, irgendeine
> essay, buch mit beispielen, einen Link vielleicht. Ich muss mich auf
> jeden fall mehr mit Floor planing beschäftigen glaube ich.


Jetzt hab ich aber ganz tief in der allwissenden Müllhalde gegraben:
http://www.eecg.utoronto.ca/~choijon5/Altera.ppt

"Architecture and CAD for deep submicron FPGAs"

MfG,

von Michael Engel (Gast)


Lesenswert?

Die fehlende Dokumentation von FPGA-Interna ist in der Tat nervig und 
viele Leute haben eine Menge Arbeit in reverse engineering gesteckt, 
z.B. um partielle dynamische Rekonfiguration zu ermöglichen.

Als Experiment ist es interessant, einen FPGA auf einem FPGA zu 
implementieren. Es gab das MPGA (Meta-PGA)-Projekt von Reinoud Lamberts 
an der TU Delft (leider nur noch bei archive.org):
https://web.archive.org/web/20050414203105/http://ce.et.tudelft.nl/~reinoud/mpga/README.html

und auch einige ähnliche Ansätze, z.B.:
http://www2.engr.arizona.edu/~rlysecky/uploads/Main/fpga05_vfpga.pdf

Der Overhead hier ist natürlich horrend, bis zu Faktor 100 an Fläche und 
Faktor 6 an Geschwindigkeit...

Alternativ sind vielleicht die fpgatools von Wolfgang Spraul von 
Interesse - er hat eine open source Synthese (netlist->bitfile) für 
Xilinx xc6slx9 gebaut. Allerdings fehlt da noch eine Menge, z.B. Support 
für Block RAMs.
https://github.com/Wolfgang-Spraul/fpgatools

-- Michael

von Urshanabi E. (urep)


Lesenswert?

@Fpga Kuechle:
Danke für dein sehr hilfreichen kritischen Kommentare und Empfehlungen,

und Danke für diese Titel.
"Architecture and CAD for deep submicron FPGAs"
Allerdings 329€ bzw. 340$ ist bisschen zu hoch oder.

@peter:
Danke für deine Unterstützung.

@Michael Engel:
Danke, danke sehr für den Links.

Ich muss wohl diese ganze informationen irgendwie erst verdauen.

von asdfjkl; (Gast)


Lesenswert?

Urshanabi Ep schrieb:
> und Danke für diese Titel.
> "Architecture and CAD for deep submicron FPGAs"
> Allerdings 329€ bzw. 340$ ist bisschen zu hoch oder.

Laut Rezension bei Amzn basiert das Buch auf der Dissertation von Vaughn 
Betz, welche man hier findet:

https://tspace.library.utoronto.ca/handle/1807/12758

Sonst wuerde ich es mal bei deiner Hochschulbibliothek und 
gegebenenfalls ueber Fernleihen versuchen. Habe gesehen, dass es das 
Buch auch als Raubkopie gibt...

Andere Veroeffentlichungen von Vaughn Betz und Leuten, die ihn zitieren, 
sollten auch von Interesse fuer dich sein.

von Klaus F. (kfalser)


Lesenswert?

Urshanabi Ep schrieb:
> Allerdings 329€ bzw. 340$ ist bisschen zu hoch oder.

Wer wird sich um 340 Dollar Sorgen machen, wenn er Millionen für ein 
selbstgemachtes FPGA ausgeben will...

: Bearbeitet durch User
von Urshanabi E. (urep)


Lesenswert?

@  asdfjkl;
Danke sehr für denk Link und Info.

Anscheinend hat Reinoud Lamberts (wie Michael geschrieben hat) 
funktionierende MPGA entwickelt. Aber man findet es nicht im internet.
mpga-src-0.tgz (60 kB)
http://www.nedopc.org/forum/viewtopic.php?t=7884
Schade.

von Michael Engel (Gast)


Lesenswert?

Urshanabi Ep schrieb:
> Anscheinend hat Reinoud Lamberts (wie Michael geschrieben hat)
> funktionierende MPGA entwickelt. Aber man findet es nicht im internet.
> mpga-src-0.tgz (60 kB)

Doch, der Link auf archive.org funktioniert:
https://web.archive.org/web/20041211181439/http://ce.et.tudelft.nl/~reinoud/mpgadown.html

von Urshanabi E. (urep)


Lesenswert?

super :) Danke!

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.