Verständnisproblem von "If-Else" in Verilog

Gast #3787114
Lesenswert?

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
Gast #3787133
Lesenswert?

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.
Gast #3787258
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren