Forum: FPGA, VHDL & Co. FPGA allgemeine Grundlagen


von Carl (Gast)


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"

von C. A. Rotwang (Gast)


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.

von Carl (Gast)


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"

von C. A. Rotwang (Gast)


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.

von Carl (Gast)


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/ )

von Samuel C. (neoexacun)


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/

von Carl (Gast)


Lesenswert?

>Gowin fällt mir da noch ein.

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

von Christophz (Gast)


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"

von Samuel C. (neoexacun)


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.

von Tim (Gast)


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.

von Carl (Gast)


Angehängte Dateien:

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.

von Carl (Gast)


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?

von Samuel C. (neoexacun)


Lesenswert?

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

Genau das.

von Carl (Gast)


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.

von Christian R. (supachris)


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...

von Carl (Gast)


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?

von Dussel (Gast)


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.

von Carl (Gast)


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"

von Johannes K. (krjdev)


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
von C. A. Rotwang (Gast)


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.

von Carl (Gast)


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".
1
process begin  
2
  
3
  wait until rising_edge( clk );
4
...

Mir erscheint das recht praktisch.

von Markus F. (mfro)


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.

von Carl (Gast)


Lesenswert?

Da steht nix von "wait until"

von Helmut S. (helmuts)


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.

von IC-Kundler (Gast)


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.

von Markus F. (mfro)


Lesenswert?

Carl schrieb:
> Da steht nix von "wait until"

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

von Carl (Gast)


Lesenswert?

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

von IC-Kundler (Gast)


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,

von Carl (Gast)


Lesenswert?

Hier eine Zusammenfassung des bisher erreichten.

1. Inbetriebnahme inclusive der Dokumentation eines 
Spartan-3e-Sarter-kit:
Beitrag "Spartan-3E starter Kit"
2. Inbetriebnahme, Dokumentation, Beispielprogramme und Vergleich 
verschiedener Programmieradapter eines Spartan-6 Boards:
Beitrag "XC6SLX16 Spartan 6 Entwicklungsboard"
3. Diskussion zu Alternativen mit eingebautem Programmieradapter:
Beitrag "Mojo von Alchitry"

von Weltbester FPGA-Pongo (Gast)


Lesenswert?

C. A. Rotwang schrieb:
> Ja, auch im hiesigen wiki, aber warum soll man  das hier im Forum
> bochmals durchkauen.

Carl sammelt für seine Seminararbeit und ist zu faul zu googlen.
Deshalb hat er in den vergangen Tag 10 Grundlagenfragen gepostet.

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.