Hallo, ich hab gerade ein Verständnisproblem der "If-Else" Struktur, besonders "Begin-End" ist mir da nicht ganz klar. Ich hab ein Verilogmodul von einer Partnerfirma bekommen und will es an meine Zwecke etwas anpassen. Bisher läuft das Modul wunderbar in meinem VHDL Projekt. Bisher sieht es in etwa so aus (bitte versteht, daß ich den eigentlichen Code nicht veröffentlichen darf): if (reset) begin signal1 <= wert1 end else if (was anderes) begin if (was gnz anderes) wert2 <= wert2 +1; else wert2 <= wert2; if (xyz) begin . . . und so weiter. Was mich da verwirrt und wo ich bisher keine befriedigende Antwort gefunden habe, mal gibt es ein "Begin-End" und mal nicht. Wie sehen da die Regeln betreffend "Begin-End" aus? :-) Sarah
begin - end ist das gleiche wie die geschweiften Klammern in C. Wenn nur ein Statement unter dem if steht kannst du sie weglassen, musst aber nicht. Das abermalige if-statement ist nur ein Ausdruck, daher brauchst du da keine. Der Code oben sieht recht wild aus. Tu dir selbst den Gefallen und verwende immer begin-end, auch wenn du das nicht bräuchtest. Beugt Fehlern in nachträglich erweitertem Code vor und macht das ganze klarer zu lesen.
Danke, ich werde das mal probieren. Der Code ist tatsächlich etwas wild und wohl auch mit der Zeit gewachsen. Mal schauen, wo ich da eingreifen kann. :-) Sarah
wenn du kein begin - end verwendest wird nur die erste Zeile nach dem if oder else oder else if an die Bedingung "geknüpft"!! ich empfehle ebenfalls den obigen tipp immer begin end zu verwenden
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.