Forum: FPGA, VHDL & Co. VHDL Freeware (LGPL) Synthese Werkzeug


von Alexander K. (a-and-k)


Lesenswert?

Hallo,

gibt es denn ein gutes VHDL-Synthese-Werkzeug. Also keinen Simulator, 
sondern
etwas womit ich dann auch wirklich den FPGA programmieren kann.

Ich kann mir schlicht keine Werkzeuge von Altera leisten...

Gruß

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


Lesenswert?

Alexander Kiebler schrieb:
> Ich kann mir schlicht keine Werkzeuge von Altera leisten...
Weltweit prgrammieren viele ihre FPGAs mit den kostenlosen Tools der 
Hersteller. Und auch vom Quartus gibts da was umsonst.

von Alexander K. (a-and-k)


Lesenswert?

Hmmm okay, ich mach mich mal auf die Suche......

von uuu (Gast)


Lesenswert?

von Altera nennt sich das

Quartus II Web Edition Software

und man kann damit für die kleineren FPGAs synthetisieren

von Decius (Gast)


Lesenswert?

Bei Xilinx nennt sich das Webpack. Kann nach kostenloser Registrierung 
inklusive einer Version des Simulators ModelSim heruntergeladen werden.

Aver genau wie bei Altera fehlen die wirklich großen FPGA's.

von Decius (Gast)


Lesenswert?

Eine andere Möglichkeit ist der Opensource VHDL-Compiler GHDL. Brauchst 
als zur Anzeige aber noch das GTK-Wave. Hoffe der Name stimmt.

Habe das vor längerer Zeit mal unter Linux am laufen. Bin aber nur bis 
zur Simulation damit gegangen und nicht bis zur eigentlichen Synthese. 
Bin da im Moment überfragt wie das dann funktioniert.

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


Lesenswert?

Alexander Kiebler schrieb:
> gutes VHDL-Synthese-Werkzeug. Also keinen Simulator,

Decius schrieb:
> der Opensource VHDL-Compiler GHDL

Wie war das noch mal?

Zitat aus http://packages.debian.org/de/squeeze/ghdl
1
GHDL kann keine Synthese: Er kann Ihr Design nicht in eine Netzliste übersetzen.

von Alexander K. (a-and-k)


Lesenswert?

Dann noch ne weitere Frage, kann ich Teile des FPGAs mit verschiedenen 
Takten laufen lassen ???
Müßt doch eigentlich gehen ....

von zachso (Gast)


Lesenswert?

ja, das geht. dazu verwendest du entweder eine pll oder einfach mehrere 
quarze am fpga (was ich aber nciht empfehlen wuerde)

von Alexander K. (a-and-k)


Lesenswert?

Das nicht empfehlen bezog sich auf die mehrere Quarze, und nicht auf die 
verschiedenen takte hoffe ich =)....

Wenn ja , klasse

von Duke Scarring (Gast)


Lesenswert?

Alexander Kiebler schrieb:
> Dann noch ne weitere Frage, kann ich Teile des FPGAs mit verschiedenen
> Takten laufen lassen ???
Ja. Aber beim Übergang der Signale von einem Takt zu einem anderen Takt 
(Clock-Domain-Crossing) gibt es viele Möglichkeiten etwas falsch zu 
machen und nur eine um es richtig zu machen:
1
1 Signal -> toggeln + einsynchronisieren
2
Zähler   -> Gray-Code
3
Daten    -> asynchrones FIFO (mit graycodiertem Zählerstand und getoggelten Handshakes)

Duke

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


Lesenswert?

Alexander Kiebler schrieb:
> Dann noch ne weitere Frage, kann ich Teile des FPGAs mit verschiedenen
> Takten laufen lassen ???
> Müßt doch eigentlich gehen ....
Geht.
Aber hier nochmal meine Postulate, die insbesondere Anfänger zu 
beherzigen haben:
1
Ein Design (insbesondere ein Anfängerdesign) hat genau 1 Takt, 
2
der immer auf dieselbe Flanke aktiv ist. 
3
Es gibt keinen (und schon gar keinen asynchronen) Reset.
4
Externe Signale werden über 2 Flipflops einsynchronisiert.
5
Jede Abweichung von diesen Regeln muß fundiert begründet werden können.

Und ein kleiner aber feiner Tipp für Anfänger:
Vergiss das erste viertel Jahr Variablen!

von H. G. (Gast)


Lesenswert?

Was hast Du gegen Variablen? Man kann nicht alles statisch machen.

von Duke Scarring (Gast)


Lesenswert?

Gerald H. schrieb:
> Was hast Du gegen Variablen? Man kann nicht alles statisch machen.
Darum geht es nicht. Es geht darum das damit so gut wie alle 
VHDL-Anfänger auf die Nase fallen. Jeder hat vorher schonmal Software 
gemacht und das Verhalten von Signalen und Variablen ist in VHDL nun mal 
komplett anders.

Wenn man sich erstmal auf die Signale konzentriet bekommt man viel eher 
ein Gefühl für die Materie, als wenn man gleich mit beidem konfrontiert 
wird...

Duke

von Alexander K. (a-and-k)


Lesenswert?

Ich werds nicht gleich übertreiben =) versprochen...
Es ging mir erstmal um einen grobentwurf, ob das was ich mir vorgenommen 
habe so überhaupt machbar ist.
Das ich das nicht gleich alles auf einmal mache ist klar.

Für variablen habe ich mir bis jetzt nur gemerkt, dass ich sie benötige, 
wenn ich innerhalb eines Prozesses auf Signale zugreifen möchte.
Freu mich natürlich immer über verständliche Ausführungen =)...

von Alexander K. (a-and-k)


Lesenswert?

Also vorrausgesetzt ich habe ein Signal, welches zufällig den Längsten 
Pfad durch meine Kombinatorik im Prozess hat und ich möchte auf dieses 
zugreifen , dann brauch ich doch für den Zugriff
innerhalb des Prozesses nen Speicher oder ne rückkopplung oder nicht ???
Wichtig ist die Aussage, dass der Prozess serialisiert... und damit die 
signale irgendwie synchronisiert werdenmüssen...
Klaro ist der Pfad des  rückgekoppelten Signals länger... also das war 
ausgenommen.

Ich muss es mir mal aufzeichnen denke ich.... mach mir eben meine 
Gedanken

von Georg A. (Gast)


Lesenswert?

Dafür brauchst du keine Variablen. Sinnvoll sind sie zB, wenn man 
während eines process-Durchlaufs Zwischenergebnisse hat, deren 
Berechnung man nicht jedesmal hinschreiben will. Ok, in der Testbench 
kann man sie auch noch häufiger brauchen, aber grade als Anfänger ist 
jede Variablennutzung meistens ein Zeichen dafür, dass man Signale nicht 
verstanden hat...

von berndl (Gast)


Lesenswert?

Alexander Kiebler schrieb:
> Für variablen habe ich mir bis jetzt nur gemerkt, dass ich sie benötige,
> wenn ich innerhalb eines Prozesses auf Signale zugreifen möchte.

http://www.mikrocontroller.net/articles/VHDL
(Kapitel 'Wann und warum verwendet man Variablen?')

Eigentlich alles was du mit Variablen machen kannst, kannst du auch mit 
Signalen in Kombination mit concurrent statements machen...

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


Lesenswert?

Und dir bleiben dabei u.U. einige Irrwege erspart. Siehe dazu den
Beitrag "Variable vs Signal"
Das Hauptproblem mit den Variablen ist, dass sie NICHT in der 
Sensitivliste eines Prozesses auftauchen können. Und das deshalb die 
Simulation anders ist als das Syntheseergebnis! Ohne jede Fehlermeldung! 
Etwas Schlimmeres kann es fast nicht geben...

Georg A. schrieb:
> aber grade als Anfänger ist jede Variablennutzung meistens ein Zeichen
> dafür, dass man Signale nicht verstanden hat...
Und ganz krude wird es dann, wenn shared und globale Variablen ins Spiel 
kommen. Der Hintergrund: sowas war ursprünglich nicht im Sprachumfang 
von VHDL, wurde dann aber eingeführt, dass man "billige" arbeitslose 
Softwareentwickler an ein FPGA-Projekt setzen konnte. Die anderen 
Syntaxelemente kannten die ja schon (if-else, case...), jetzt musste 
"nur" noch das Verhalten der Informationsträger (Variablen) ein wenig 
angepasst werden...
(Etwa zur selben Zeit und mit dem selben Ziel entstand System-C)

von Alexander K. (a-and-k)


Lesenswert?

Ich habe eben eine Idee für ein gutes Produkt, und das läßt sich 
ausschließlich über FPGAs realisieren.

Ich bin in Sachen FPGA so absolut kein Profi.... ich denke das konnte 
ich rüber bringen =)... bilde mir aber ein, einen sehr zügigen Zugang 
dazu zu finden. Und es macht auch riesig Spass =)...

Danke für eure Hilfe,
speziell für die Tool-Bezeichner sowie
das Sync-Problem für unterschiedliche Takte und den Hinweis auf den 
Unterschied zwischen Simulation und dem tatsächlichen Verhalten 
bezüglich Variablen.

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


Lesenswert?

Alexander Kiebler schrieb:
> Ich habe eben eine Idee für ein gutes Produkt, und das läßt sich
> ausschließlich über FPGAs realisieren.
Aber du bist sicher, dass ein FPGA das könnte?
Warum?

von Alexander K. (a-and-k)


Lesenswert?

Entschuldigung, ein FPGA ist da geschickter. =)... bevor ich 
auseinandergenommen werde.

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.