In article , "MaWin" writes: |> Georg Acher schrieb im Beitrag ... |> > |> > [X] So ein Blödsinn. |> > [ ] Du hast schon mal was Richtiges in VHDL gemacht. |> |> Du haettest doch vor dem Posten dem Link folgen sollen (VHDL in FAQ |> suchen), dann waere deine Antwort wohl anders ausgefallen, zu dem |> haettest du festgestellt, das die Feststellungen (die ich teile) |> durchaus von einem VHDL-Erfahrenen stammen.
Ich kennen den Teil aus der FAQ durchaus. Ich war auch mal der Ansicht, dass man alles von VHDL, was nicht if heisst, grundsätzlich für echte Chips vergessen sollte (BTW: Die Studis bekommen auch nichts anderes gesagt, effektiv sehen die nur 5% von VHDL). Die Beschränkung geht bei Kleinkram gut, also genau bei dem Zeug, was auch mit Schaltplänen noch überschaubar ist.
Aber alles, was über ein paar kleine Automaten hinausgeht, kann mit den Zusatzfeatures viel schneller beschrieben werden und vor allem auch getestet werden.
Beispiele:
- Typsicherheit, am Anfang gehasst, nach einiger Zeit heiss geliebt. Gerade wenn man mit echten Zahlen umgeht und rechnet, hilft es ungemein, wenn man explizit sagen muss, ob man signed oder unsigned will.
- Generics: Wenn man einmal anfängt, seine eigenen Module (Speicher, FIFOs, Registerbänke) parametrisierbar zu machen, spart man sich eine Menge Zeit. Da fällt auch noch "Generate" rein: Die Möglichkeit, Komponenten (z.B. FPGA-Primitive) automatisch mit Schleifen und Bedingungen zu synthetisieren und gleich verdrahten.
- Records sind DIE Möglichkeit, zig Signale zusammenzufassen und bequem durch das ganze Design zu führen.
- Komplizierte Statemachines mit >20 Ausgangsignalen (zB. CPU-Leitwerk) sind in der Waveformsimulation nicht mehr zu überblicken. Mit einem printf (gibts für VHDL!) dagegen auf der Textconsole wunderbar. Auch sonst hilft bei bestimmten Problemen printf-Debugging viel.
- Wenn der Chip irgendwelche Signalverarbeitung macht: Ein- und Ausgaben direkt aus Files heraus verarbeiten und überprüfen
- Simulationsüberwachung: Mit den ganzen nicht-synthetsierbaren Kommandos lässt sich öft recht eine Überprüfung der Simulationsergebnisse erledigen. D.h. das Ding testet sich selbst und kann auf die Werte, die aus der Simulation kommen, selbst wieder reagieren.
etc. pp.
|> (Da ich VHDL hasse, verwende ich VHDL nicht, obwohl mit jetmarc |> sein Ansatz die Sache wesentlich sympatischer macht).
BTW: Ich habe mit VHDL so um 1995 angefangen (bzw. wurde dazu gezwungen...). Ich hatte damals schon die übelsten Gerüchte gehört (2 Stunden für einen 4Bit-Zähler etc.). Im Nachhinein bin ich froh, dass ich nicht drauf gehört habe. Und falls du mich jetzt als Theoretiker beleidigen willst, komme ich persönlich vorbei und haue dir die zig FPGA-Platinen von mir um die Ohren, die mit VHDL "laufen" ;-)