Forum: FPGA, VHDL & Co. Variablen vom typ "line" vergleichen


von guest (Gast)


Lesenswert?

Hallo,

wie im Topic zu sehen versuche ich grade Variablen vom Typ line auf 
Gleichheit zu überprüfen, allerdings mit mäßigem Erfolg. Der folgende 
Codeschnipsel gibt leider immer ein "A /= B" für EQUAL aus. A und B 
werden auch nur an der einen Stelle beschrieben, sowie EQUAL 
ausschließlich in der if Bedingung. Soweit ich informiert bin ist der = 
Operator doch für alle Objektklassen außer FILE erlaubt?
1
variable A,B, EQUAL : line;
2
.......
3
write(A, string'("X"));
4
write(B, string'("X"));
5
if(A = B) then
6
   write(EQUAL, string'("A = B"));
7
else
8
   write(EQUAL, string'("A /= B"));
9
end if;

von SinseNunGleich (Gast)


Lesenswert?

Hi,

deine LINE-Variablen sind im Prinzip Zeiger, d.h. ein
Vergleich ergibt ja nur, ob beide Variablen auf den
selben "Speicher" zeigen. Du willst aber den Inhalt
vergleichen.
Zuerst must du ermitteln, ob beide Zeiger gültig (d.h
ungleich "NULL" sind). Dann kannst du beide Strings
A.all und B.all vergleichen.

Viel Spass

von guest (Gast)


Lesenswert?

Nu klappts, besten Dank.

von Hillo (Gast)


Lesenswert?

>Nu klappts, besten Dank.

Kannst du uns zeigen, wie du es gemacht hast ?

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.