Doppelte Zuweisung in VHDL ignoriert

Gast #2469191
Lesenswert?

Bedingt durch einen Tippfehler habe ich folgenden Konstrukt erzeugt:

if Bedingung then

    output <= internal_v2;

    output <= internal_v3;

end if;

d.h. das "else" wurde vergessen.

Komischerweise führt Xilinx nur den ersten Pfad aus und ignoriert den 
zweiten. Ich hätte erwartet, dass der zweite den ersten überschreibt (?)

Auch hätte ich gedacht, dass er meckert, weil er kein "else" sieht. Oder 
er müsste sich an der doppelten Zuweisung an sich stören, was er 
ansonsten ja auch tut.
Moderator (Firma: Titel) Persönliche Seite #2469303
Lesenswert?

Paul schrieb:
> Komischerweise führt Xilinx nur den ersten Pfad aus und ignoriert den
> zweiten. Ich hätte erwartet, dass der zweite den ersten überschreibt (?)
Das würde ich auch erwarten. Das entspräche dem Verhalten von Signalen 
in Prozessen. Folglich sieht dein fehlerbehafteter Code tatsächlich 
anders aus. Wie wäre es, wenn du den mal postest?
Gast #2469396
Lesenswert?

Ganz posten geht nicht, aber in dem Process ist sonst fast nichts drin.

Die Bedingung ist die Abfrage eines Zählerbits, die Zuweisung der 
Zählerstände oder eines Ersatzsignals an den Ausgang.

Komisch ....
#2470182
Lesenswert?

> Auch hätte ich gedacht, dass er meckert, weil er kein "else" sieht.

Häh?

> Oder er müsste sich an der doppelten Zuweisung an sich stören, was er
> ansonsten ja auch tut.

Häh^2?

Irgendwie lassen mich diese Aussagen etwas daran zweifeln, ob du weisst, 
was du tust...
#2470272
Lesenswert?

> Kannst du das auch mal begründen?

Es gibt weder Probleme mit fehlenden elses noch doppelten Zuweisungen 
(jedenfalls nicht innerhalb eines Prozesses und das ist aufgrund des ifs 
anzunehmen).

> Wenn der Code von Paul so stimmt, dann wundert mich das Verhalten von
> Xilinx auch.

Ich glaube eher, dass da alle entscheidenden Infos weggelassen wurden.
#2472227
Lesenswert?

Georg A. schrieb:
>> Auch hätte ich gedacht, dass er meckert, weil er kein "else" sieht.
>
> Häh?
>
>> Oder er müsste sich an der doppelten Zuweisung an sich stören, was er
>> ansonsten ja auch tut.
>
> Häh^2?
>
> Irgendwie lassen mich diese Aussagen etwas daran zweifeln, ob du weisst,
> was du tust...

Ich kann mir kaum vorstellen, daß hier im Forum jemand auf derartige 
blödsinnige Kommentare wartet !

Ansonsten ist die Frage nach der doppelten Zuweisung grundsätzlich OK 
... auch wenn das Umfeld ungeklärt ist.

--Armin
Moderator (Firma: Titel) Persönliche Seite #2472486
Lesenswert?

Armin Steinhoff schrieb:
> Ansonsten ist die Frage nach der doppelten Zuweisung grundsätzlich OK
Das schon.
> ... auch wenn das Umfeld ungeklärt ist.
Aber das eben nicht. Nur ratloses Raten kann nicht das Ziel sein. Paul 
hääte seinen Teil dazu beisteuern können/sollen, um eine sinnvolle 
Diagnose zu erstellen, denn grundsätzlich meckert der Synthesizer 
nicht, wenn in einem Prozess mehrere Zuweisungen hintereinander kommen 
(das ist die Natur eines Prozesses). Deshalb ist die Verwunderung in 
beiden Fällen unbegründet:
>> Auch hätte ich gedacht, dass er meckert, weil er kein "else" sieht.
>> Oder er müsste sich an der doppelten Zuweisung an sich stören, was er
>> ansonsten ja auch tut.
#2472836
Lesenswert?

> Ich kann mir kaum vorstellen, daß hier im Forum jemand auf derartige
> blödsinnige Kommentare wartet !

Was ist daran blödsinnig? Die Aussagen im ersten Post sind ein 
deutlicher Wink mit dem Zaunpfahl, dass hier jemand die Funktionsweise 
von einem VHDL-Prozess nicht verstanden hat, aber erstmal bei den Tools 
den Fehler sucht. Und wenn dann der Super-Duper-Geheim-Code noch nicht 
mal mit einem vernünftigen Kontext gepostet werden kann/darf, dann wird 
es nicht besser.

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