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"
Probiers mal so:
1 | if VECTOR = (35 downto 0=>'0') then... |
Oder so:
1 | if VECTOR = (VECTOR'range=>'0') then... |
>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')'...
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
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"
servus, ich habe bei solchen sachen immer or_reduce() aus irgendweiner der "standard" libs verwandt. also if or_reduce(foo) = '0' then ... /mfg
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.