Forum: FPGA, VHDL & Co. OR Gate Problem


von Samhaw J. (Firma: hochschule) (vhdler)


Lesenswert?

Hello All!
ich als Anfänger und noch probleme mit VHDL Sprache habe, möchte ich 
mich hier informieren.
Meine frage lautet: ist es richtig, dass ich so schreibe:
signal1 OR signal2 OR signal3...or signal11,wenn ich 12 Signale verodern 
will?
oder gibt's ein anderer Trick,mit dem man sowas fein lösen kann.
Dake für jede Hinweis.
MFG

von SeriousSam (Gast)


Lesenswert?

Du könntest einen Loop nehmen wenn deine Signale in einem Array sind.

von Rick Dangerus (Gast)


Lesenswert?


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


Lesenswert?

> ist es richtig, dass ich so schreibe:
> signal1 OR signal2 OR signal3...or signal11,
> wenn ich 12 Signale verodern will?
Eher nicht, denn 1..11 sind 11 Signale   ;-)

von Gast_1 (Gast)


Lesenswert?

Danke für den Hinweis.Ich sollte mit signal0 anfangen stimmt?:-)
Dies Problem ist schon gelöst.FOR loop vewendung

von Falk B. (falk)


Lesenswert?

Geht auch einfacher

1
-- OR über Array
2
3
big_or <= '0' when or_array ="000000000" else '1';
4
5
-- AND über Array
6
7
big_and <= '1' when and_array ="11111111" else '0';

MFG
Falk

von Da M. (damicha)


Lesenswert?

Gute Idee, aber es geht noch etwas generischer:
1
-- OR über Array
2
big_or <= '0' when or_array = (or_array'range => '0') else '1';
3
4
-- AND über Array
5
big_and <= '1' when and_array = (and_array'range => '1') else '0';

von SeriousSam (Gast)


Lesenswert?

Wenn die Signale aber selber Arrays sind (std_logic_vector) musst du 
fast einen Loop nehmen. Oder gehts auch da anders?

von Da M. (damicha)


Lesenswert?

Die Beispiele machen nur Sinn, wenn es sich bei den Signalen or_array 
und and_array um Arrays (daher ja auch der Name) von z.B. dem Typ 
std_logic_vector handelt.

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.