Hallo benötige Hilfe bei der Umsetzung von folgendem Package PACKAGE GATE_PACKAGE IS ---------------------------------------------------------------- FUNCTION REDUCE_AND(DIN : IN STD_LOGIC_VECTOR) RETURN STD_LOGIC; FUNCTION REDUCE_OR(DIN : IN STD_LOGIC_VECTOR) RETURN STD_LOGIC; FUNCTION REDUCE_XOR(DIN : IN STD_LOGIC_VECTOR) RETURN STD_LOGIC; ---------------------------------------------------------------- END PACKAGE GATE_PACKAGE; Wie rufe ich die Funktionen auf mit drei STD_LOGIC Variablen (a,b,c)? REDUCE_XOR(a,b,c) funktioniert nicht. Danke für eure Hilfe.
Hallo Hansatic, konkateniere die 3 STD_LOGIC zu einem STD_LOGIC_VECTOR : REDUCE_XOR(a & b & c) Gruss Dietmar
Hansatic schrieb: > Wie rufe ich die Funktionen auf mit drei STD_LOGIC Variablen (a,b,c)? Wenn man drei einzelne STD_LOGIC hat, dann ist es ein wenig seltsam, diese zum Vektor zusammenfügen mit dem Ziel, wieder einen STD_LOGIC zurückzubekommen... Ich würde da eher sowas schreiben:
1 | r <= a xor b xor c; |
:
Bearbeitet durch Moderator
Danke euch beiden. @Lothar Miller im Prinzip kann man noch mehr als drei Variablen übergeben, sie werden in der Funktion miteinander iterativ XOR verarbeitet.
Bekomme jetzt folgenden Fehler beim Compilieren **Ambiguous type in infix expression; ieee.std_logic_1164.STD_LOGIC_VECTOR or ieee.std_logic_1164.STD_ULOGIC_VECTOR. **Illegal type conversion to ieee.std_logic_1164.STD_LOGIC_VECTOR (operand type is not known). **Type conversion (to ieee.std_logic_1164.STD_LOGIC_VECTOR) conflicts with expected type ieee.std_logic_1164.STD_LOGIC.
Sorry mein Fehler die Lösung von Dietmar klappt. Danke nochmal.
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.