Forum: FPGA, VHDL & Co. Frage zum Thema Programmierstil


von Micha (Gast)


Angehängte Dateien:

Lesenswert?

vorneweg: ich weiss, wer viel fragt bekommt viele Antworten ;)
Ausserdem muss natürlich jeder seinen Programmierstil finden der zu ihm 
passt - auch das weiss ich bereits ;)

Auf die folgende Frage bin ich heute beim Nachvollziehen eines 
Codebeispiels von fpga4fun.com gestoßen:

Hab dort ein Codebeispiel zum Ansprechen der VGA-Schnittstelle 
nachvollzogen. Ähnelt sehr dem Anhang VGA1. Register oder Wires werden 
immer erst dort definiert wo sie gebraucht werden. Und jedes Thema 
bekommt sein eigenes "always @ (posedge clk).

Als Gewohnheitstäter aus dem Bereich "konventionelles Programmieren" 
hätte ich das gleiche Programm bisher eher so geschrieben wie  im 
angehängten Beispiel VGA2. Erst alle Variablen deklariern, dann alle 
"always @ (posedge clk)" Aktionen in einem Aufwasch, dann alle 
Verdrahtungen per assign.

Welcher Stil macht mehr Sinn wenn es komplexer wird?

von Lattice User (Gast)


Lesenswert?

Micha schrieb:

> Welcher Stil macht mehr Sinn wenn es komplexer wird?

Geschmackssache.
IMO ist aber ein einzelnes always in der Regel übersichtlicher.
Allerdings ist das erste Beispiel auch extrem unübersichtlich und ohne 
Einrückungen wo sie sehr hilfreich wären (z.B. nach dem always)

Dein 2 Beispiel ist aber falsch, ohne begin end für das always wird das 
mit dem Zusammenfassen nichts.

von Micha (Gast)


Lesenswert?

stümmt - die fehlende begin - end Klammer hab ich zu spät bemerkt :(
Ausserdem sind in dem Code-Beispiel paar Zuweisungen wo man sich 
streiten könnte ob bei 1 Bit breitem Ergebnis logische oder binäre 
Operatoren mehr Sinn machen.

von Markus F. (Gast)


Lesenswert?

ich finde, im Grossen und Ganzen geht das noch. Gut wäre, wenn Du über 
einen Funktionsblock hinkommentieren würdest, was der jetzt macht.

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.