Forum: FPGA, VHDL & Co. std_logic_vector auf '0' testen


von Hans-werner M. (hanswerner)


Lesenswert?

Ich habe es mal wieder vergessen.
Wie ging das noch um einen std_logic_vector auf '0' zu prüfen ?

if VECTOR = (others => '0') then ... ???

Ausschreiben ist ekelig. Zählen ist unschön.

if VECTOR = "000000000000000000000000000000000000"

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Probiers mal so:
1
if VECTOR = (35 downto 0=>'0') then...
Oder so:
1
if VECTOR = (VECTOR'range=>'0') then...

von berndl (Gast)


Lesenswert?

>Oder so:
>
>if VECTOR = (VECTOR'range=>'0') then...

das funktioniert? Muss ich mal testen. Ich behelfe mir bisher immer mit 
der Definition einer Konstanten 'constant hugo: std_logic_vector (x 
downto y) := (others=>'0')'...

von Albert F. (betocool)


Lesenswert?

Ein STD_LOGIC_VECTOR teste ich immer mit

signal TestSignal: STD_LOGIC_VECTOR(X downto 0);
1
if (TestSignal = 0) then
2
  -- Do Something;
3
end if;

Klappt bei mir einwandfrei

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Albert F. schrieb:
>  if (TestSignal = 0) then
> Klappt bei mir einwandfrei
Klar, die alten Synopsis-Libs... :-/

Mit der numeric_std gibt diese Zeile
1
 = can not have such operands in this context.

Siehe auch den Beitrag "Re: std_logic_vector auf Interger testen"

von nixda (Gast)


Lesenswert?

servus,

ich habe bei solchen sachen immer or_reduce() aus irgendweiner der 
"standard" libs verwandt.

also

if or_reduce(foo) = '0' then ...

/mfg

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Fühlt sich eventuelle jemand gemüßigt, das mal in den Artikel VHDL
einzutragen?  Das ist ja so 'ne Art Mini-FAQ, da würde das gut
hin passen.

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.