mikrocontroller.net

Forum: FPGA, VHDL & Co. FPGA allgemeine Grundlagen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Über FPGAs gibt es mittlerweile einiges im Netz zu finden. Mich würden 
ein paar allgemeine Grundlagen interessieren.

Welche relevanten FPGA-Hersteller gibt es?

Ich kenne

Xilinx
Altera (Intel)
Lattice

Gibt es auch Chinesische?

Welches Tool nimmt man am besten für die Simulation?

GHDL?
Beitrag "Re: GHDL und gtkwave Grundlagen"

Autor: C. A. Rotwang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carl schrieb:
> Über FPGAs gibt es mittlerweile einiges im Netz zu finden.

Ja, auch im hiesigen wiki, aber warum soll man  das hier im Forum 
bochmals durchkauen.



> Welche relevanten FPGA-Hersteller gibt es?
>
> Ich kenne
>
> Xilinx
> Altera (Intel)
> Lattice
>
> Gibt es auch Chinesische?

Oben genanntes Xilinx ist zum großen Teil chinesisch, da vom TMSC, UMC 
fabriziert, 
https://books.google.de/books?id=auxJAgAAQBAJ&pg=PA104&lpg=PA104&dq=Xilinx+Fab+location&source=bl&ots=TIxLmxhekQ&sig=ACfU3U0AIw5Vd8HH0MveNJsTTSO4F8rgdQ&hl=de&sa=X&ved=2ahUKEwiou5Scw43iAhULfFAKHcWTBUYQ6AEwCHoECAgQAQ#v=onepage&q=Xilinx%20Fab%20location&f=false

> Welches Tool nimmt man am besten für die Simulation?
Das was man (am billigsten) haben kann und das mit den  meisten 
verfügbaren Simulationsmodellen zusammenarbeit. Das wichtigste an der 
Simulation/Verification ist ohnehin das man die Methodik und die 
Modellierungssprachen (System-C,e, VHDL, Verilog) beherrscht, 
toolspezifische Klickiklacki-Fertigkeiten sind nebenrangig.

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das wichtigste an der
> Simulation/Verification ist ohnehin das man die Methodik und die
> Modellierungssprachen (System-C,e, VHDL, Verilog) beherrscht,
> toolspezifische Klickiklacki-Fertigkeiten sind nebenrangig.

Im Moment erscheint es mir etwas unpraktisch, dass man den gesamten Text 
für die Testbench manuell erzeugen soll. Das ist ja ein riesen 
Tipparbeit und Syntaxfehler soll man auch keine machen.

Ich meine dass es in Quartus da einen bestimmten Automatismus gab.
Man kann so was aber auch Online nutzen:

Beitrag "Re: GHDL und gtkwave Grundlagen"

Autor: C. A. Rotwang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carl schrieb:

> Im Moment erscheint es mir etwas unpraktisch, dass man den gesamten Text
> für die Testbench manuell erzeugen soll. Das ist ja ein riesen
> Tipparbeit und Syntaxfehler soll man auch keine machen.
>
> Ich meine dass es in Quartus da einen bestimmten Automatismus gab.
> Man kann so was aber auch Online nutzen:

Du meinst ein Testbench template?  Das erzeugt dir auch der VHDL-mode 
von emacs https://guest.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.gif

Ports->paste as testbench

Wenn man allerdings bei Instanzieren des DUT ne Riesen-Tipparbeit und 
massig Tippfehler vor sich sieht, sollte man ernsthaft überlegen ob man 
überhaupt die Grundlagen der Textarbeit am Computer gelernt hat - das 
ist ein  bißchen cut&paste gefolgt vom makrounterstützen search&Replace, 
ein editor der gut mit Spalten kann ist auch empfehlenswert.

Wers noch bequemer haben will, schreibst sich passende 
template-erzeugende scripte selbst (python,awk).
Da brauchts kein Quartus/Simulator, deren Editoren eh mehr schlecht als 
recht funktionieren.

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wers noch bequemer haben will, schreibst sich passende
>template-erzeugende scripte selbst (python,awk).

Hat jemand ein passendes Python-Script? ( ähnlich dem Online Tool 
https://vhdl.lapinoo.net/testbench/ )

Autor: Samuel C. (neoexacun)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carl schrieb:
> Welche relevanten FPGA-Hersteller gibt es?
> [...]
> Gibt es auch Chinesische?

Gowin fällt mir da noch ein.
https://www.gowinsemi.com/en/

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Gowin fällt mir da noch ein.

Setzt Du die ein und gibt es günstige Entwicklungsboards dazu?

Autor: Christophz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch einfach mal die Suchfunktion von diesem Forum hier nutzen, zu ganz 
vielem gibt es hier auch schon ausführliche Antworten.

Auch zu dieser:
Carl schrieb:
> Welche relevanten FPGA-Hersteller gibt es?
>
> Ich kenne
>
> Xilinx
> Altera (Intel)
> Lattice
>
> Gibt es auch Chinesische?

Beitrag "Erklaert mir mal FPGA Hersteller"

Autor: Samuel C. (neoexacun)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carl schrieb:
> Setzt Du die ein und gibt es günstige Entwicklungsboards dazu?

Nein, ich bin nur auf der letzten Embedded World drüber gestolpert. 
Trenz verkauft Boards: 
https://shop.trenz-electronic.de/de/Produkte/GOWIN-Semiconductor/

Microsemi wäre eventuell auch noch ein Kandidat.

Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C. A. Rotwang schrieb:
> Oben genanntes Xilinx ist zum großen Teil chinesisch, da vom TMSC, UMC
> fabriziert,

TSMC liegt in Taiwan. Das macht einen riesen Unterschied für Firmen.

Autor: Carl (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Samuel C.
>Nein, ich bin nur auf der letzten Embedded World drüber gestolpert.
>Trenz verkauft Boards:
Witzig, es gibt so was ähnliches wie das MAX1000 für GOWIN

https://shop.trenz-electronic.de/de/TEC0117-01-FPGA-Modul-mit-GOWIN-LittleBee-und-8-MByte-internem-SDRAM

Bleibt nur die Frage, wie aufwändig die chinesische Entwicklungsumgebung 
ist.

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Samuel C.
>Microsemi wäre eventuell auch noch ein Kandidat.
Bei Microsemi steht aber "a Microchip Company", also nicht Chinesisch, 
nehme ich an:
https://www.microsemi.com/existing-parts/parts/143972
Oder meintest Du als weiterer, noch nicht genannter FPGA-Hersteller?

Autor: Samuel C. (neoexacun)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carl schrieb:
> Oder meintest Du als weiterer, noch nicht genannter FPGA-Hersteller?

Genau das.

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Welche relevanten FPGA-Hersteller gibt es?

Ich versuche gerade, die FPGA-Hersteller ein wenig einzuordnen. Wenn ich 
es richtig sehe, sind alle Hersteller bis auf GOWIN aus den US.

Xilinx würde ich im Hi-Performance-Computing Markt sehen, während 
Lattice eher auch Low-Cost FPGAs für die Glue-Logic in Handies hat.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carl schrieb:
> Wers noch bequemer haben will, schreibst sich passende
>>template-erzeugende scripte selbst (python,awk).
>
> Hat jemand ein passendes Python-Script? ( ähnlich dem Online Tool
> https://vhdl.lapinoo.net/testbench/ )

Das kann z.B. auch das VHDL Plugin für Notepad++. Oder V3S Plugin für 
Visual Studio...

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das kann z.B. auch das VHDL Plugin für Notepad++.

Danke. Ich wusste gar nicht, dass es sowas gibt.
https://sourceforge.net/projects/nppvhdl/

Funktioniert das gut? Hat es jemand in Verwendung?

Autor: Dussel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für die Simulation gibt es noch ModelSim, das in einer eingeschränkten 
Version manchmal bei den kostenlosen Versionen dabei ist.
Das kann viel, ist aber auch umständlich zu bedienen. Es ist nicht 
kompliziert, aber unintuitiv. Viele haben am Anfang damit Probleme.

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe zwei Entwicklungsboards:
Beitrag "Spartan-3E starter Kit"
Beitrag "XC6SLX16 Spartan 6 Entwicklungsboard"

Das Spartan-3E dürfe auf jeden Fall veraltet sein und für das Spartan6 
gab's hier auch schon Meinungen, dass man die für neue Designs nicht 
mehr verwenden soll.
Wobei ich mich Frage, wie lange der Hersteller die Bauteile liefert. Bei 
Mikrocontrollerherstellern wie Ti kann es ziemlich schnell gehen, dass 
sie Bauteile abkündigen. Aber ich denke, FPGAs sollten länger 
unterstützt sein, da der Entwicklungsaufwand so viel höher ist.

Des weiteren wird hier im Forum die Verwendung von graphischen 
Programmiertools nicht empfohlen:
Beitrag "Schaltplan Tool"

Autor: Johannes K. (krjdev)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carl schrieb:
> Das Spartan-3E dürfe auf jeden Fall veraltet sein und für das Spartan6
> gab's hier auch schon Meinungen, dass man die für neue Designs nicht
> mehr verwenden soll.
Veraltet heißt aber nicht gleich schlecht.
Die Grundlagen lernst du auch auf einem älteren Board.

Vom neuen Vivado wird der Spartan 3 nicht mehr unterstützt, das stimmt.
Ich habe eigentlich deswegen ein neues auf ZYNQ basierendes Development 
Board gekauft, weil ISE zwar unter Linux läuft, aber nicht die 
Kabeltreiber.
Somit für mich unbrauchbar, da ich als Entwicklungssystem Linux einsetze 
und nicht deswegen auf Windows umsteigen will.

: Bearbeitet durch User
Autor: C. A. Rotwang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carl schrieb:

> Das Spartan-3E dürfe auf jeden Fall veraltet sein und für das Spartan6
> gab's hier auch schon Meinungen, dass man die für neue Designs nicht
> mehr verwenden soll.

-veraltet -> völliger Mumpitz.

Bestenfalls kann man daraufhinweisen, das die 
Spartan-Entwicklungsumgeung (ISE) nicht mehr aktuallisiert wird, aber 
selbstverständlich kann man einen Spartan 3E (nicht nur zum Einstieg) 
benutzen, wie man modernes Programmieren auch auf einesm Suse-Linux, das 
auf einem Pentium-PC von 1999 (oder älter) rödelt, lernen kann. Und IMHO 
schneller und einfacher als auf einem Zynq aktueller Produktion, weil 
man sich auf einen Zynq mit x Features leichter verzettelt aber auch 
schnell in Restriktionen durch die Hardcore-Integration läuft, die es 
auf einem 'reinem' FPGA nicht gibt. Aufbau (SRAM-LUT,FF, IP-Blocks) und 
Methodik (System-Architektur, HW-Spec, (HDL)-Codierung, Synthese, 
mapping, timing closure, Verification, Test, lifecycle-managment) sind 
seit 20 Jahren gleich geblieben.

> Wobei ich mich Frage, wie lange der Hersteller die Bauteile liefert. Bei
> Mikrocontrollerherstellern wie Ti kann es ziemlich schnell gehen, dass
> sie Bauteile abkündigen. Aber ich denke, FPGAs sollten länger
> unterstützt sein, da der Entwicklungsaufwand so viel höher ist.

Nein, für ein Komplettsystem unterscheiden sich die Entwicklungsaufwände 
nicht wesentlich. Die Verfügbarkeit mag bei mancher 
Nicht-FPGA-elektronik bei unter 5 Jahre liegen aber bei den gängigen 
IC's egal ob µC oder FPGA kann man sich auf ein Redesign wg. Abkündigung 
mangels Nachfrage oder Fab-verfügbarkeit einstellen:
https://forums.xilinx.com/t5/General-Technical-Discussion/Spartan-3-Product-Life-with-Spartan-6/td-p/675918

10-15 Jahre vielleicht, und Abkündigung ist nicht der einzige Grund für 
ein Redesign, ebenso Cost-Reduction. Da macht man schon mal nach 2 
Jahren einen neues Design, weil jetzt die LowCost Serie 
leistungsfähiger ist als die ollen/teuren Virtexe der High Performance 
Linie.

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rotwang schrieb:
>-veraltet -> völliger Mumpitz.

Leider finde ich den Post nicht mehr, in dem einer die Behauptung 
aufgestellt hat, dass in seiner Firma die Spartan6 nicht mehr verwendet 
werden sollen.

Was anderes:
Ich habe gerade festgestellt, dass es hier im MC-Netz einen VHDL-Artikel 
gibt:

https://www.mikrocontroller.net/articles/VHDL

Warum verwendet man dort kein "wait until".
process begin  
  
  wait until rising_edge( clk );
... 

Mir erscheint das recht praktisch.

Autor: Markus F. (mfro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carl schrieb:
> Warum verwendet man dort kein "wait until".

Warum hast Du den Text nicht fertig gelesen? Da steht doch, daß die 
rising_edge() Variante 'allgemein als die bessere Variante' angesehen 
wird.

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da steht nix von "wait until"

Autor: Helmut S. (helmuts)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carl schrieb:
> Rotwang schrieb:
>>-veraltet -> völliger Mumpitz.
>
> Leider finde ich den Post nicht mehr, in dem einer die Behauptung
> aufgestellt hat, dass in seiner Firma die Spartan6 nicht mehr verwendet
> werden sollen.

Ich denke, dass der Grund eher der ist, dass Spartan6 von der aktuellen 
Entwicklungstool Vivado nicht unterstützt wird. Für Spartan6 muss man 
die alte ISE verwenden.
Xininx hat da aber den Umstieg zu Spartan7 im low cost Bereich taktisch 
gebremst indem sie keines der der 7er FPGAs in TQFP anbieten.

Autor: IC-Kundler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carl schrieb:
> Rotwang schrieb:
>>-veraltet -> völliger Mumpitz.
>
> Leider finde ich den Post nicht mehr, in dem einer die Behauptung
> aufgestellt hat, dass in seiner Firma die Spartan6 nicht mehr verwendet
> werden sollen.

Vielleicht, weil es dieses Post garnicht gibt?
Abgesehen vom Himmelweiten Unterschied zwischen "nicht für neue Entwurfe 
empfohlen" und "auf jeden Fall veraltet".

Auch mit Omas Miele-Damenrad von 1956 kann man die Grundregeln und 
-befähigungen für Zweiräder am Strassenverkehr erwerben, dazu brauchts 
keine Harley Live-Wire von 2019 - mit letzterem machen es sich 
Verkehrsanfänger onehin unnötig schwer und risikieren neben den 
finanziellen auch ein gesundheitliches Fiasko.

Autor: Markus F. (mfro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carl schrieb:
> Da steht nix von "wait until"

... wenn Du einen asynchronen Reset hast, kannst Du das ja auch nicht 
verwenden.

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Diskussion über den Nutzen von Empfindlichkeitslisten und die 
Eigenschaft von Prozessen soll hier auch nicht fehlen:
Beitrag "Re: VHDL Denken-wie?"

Autor: IC-Kundler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carl schrieb:
> Die Diskussion über den Nutzen von Empfindlichkeitslisten und die
> Eigenschaft von Prozessen soll hier auch nicht fehlen:
> Beitrag "Re: VHDL Denken-wie?"

Bist halt ein Schwätzer, wenn du alles überall mehrmals durchkauen 
willst.

Such dir lieber ein Schwätzerforum zur Befriedigung Deiner Langweile.
Oder mach Dich an die Realisiserung eines konkreten FPGA-projektes und 
stelle hier nur konkrete Anfragen zwecks Hilfestellung bei 
Problemlösungen.

SCNR,

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.