Forum: FPGA, VHDL & Co. VHDL Fehler---WO?


von Hannes K. (chgruber)


Lesenswert?

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.std_logic_arith.ALL;
USE IEEE.std_logic_unsigned.ALL;

ENTITY huedic IS
PORT(  A    :IN STD_LOGIC;
    B    :IN STD_LOGIC;
    C    :IN STD_LOGIC;
    D    :IN STD_LOGIC;
    S0    :IN STD_LOGIC;
    S1    :IN STD_LOGIC;
    Lock  :IN STD_LOGIC;

    W    :OUT STD_LOGIC;
    X    :OUT STD_LOGIC;
    Y    :OUT STD_LOGIC;
    Z    :OUT STD_LOGIC);

END huedic;

ARCHITECTURE logic OF huedic IS
 SIGNAL Sx    :STD_LOGIC;
 SIGNAL SLock  :STD_LOGIC;

BEGIN


    W  <= (Sx AND not S0 AND not S1 AND SLock);
    X  <= (Sx AND not S0 AND S1 AND SLock);
    Y  <= (Sx AND S0 AND not S1 AND SLock );
    Z  <= (Sx AND S0 AND S1 AND SLock );
//Diese Zeile//  Sx <= (A AND not S0 AND not S1 AND SLock) OR (B AND not 
SO AND S1 AND SLock) OR (C AND S0 AND not S1 AND SLock) OR (D AND S0 AND 
S1 AND SLock);
    SLock <= Lock;

END logic;





Ich bekomme 7 mal den gleichen Fehler in der Zeile wo ich Sx zuweise. 
Der Fehler heißt "Subprogram error: can't interpret subprogram call" Wo 
liegt der fehler?

Das Programm soll nicht viel machen. Sx ist der Ausgang eines 
Multiplexers und W-Z stellt die Ausgänge eines Dmux dar.

LG

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Christian Gruber schrieb:
> Sx <= (A AND not S0 AND not S1 AND SLock) OR (B AND not
> S0 AND S1 AND SLock) OR (C AND S0 AND not S1 AND SLock) OR (D AND S0 AND
> S1 AND SLock);

Ist das ein SO oder S0 am Anfang der mittleren Zeile?

Sieht bei deinem Text merkwürdig aus...

von Ottokar Optimum (Gast)


Lesenswert?

Christian Gruber schrieb:
> Sx AND not S0 AND not S1 AND SLock

Versuch 1 > mehr Klammern
  Sx AND (not S0) AND (not S1) AND SLock

Versuch 2:
 negation an internen Signal

Versuch 3:
 noch mehr Klammern
  Sx AND ((not S0) AND ((not S1) AND SLock))

Versuch 4
 Ausdruck kürzen bis fehlermeldung verschwindet, dann schritt um Schritt 
dazu

Versuch 5:
 nur die Libs verwenden die man braucht: ( also ohne unsigned und 
std_logic_arith)

MfG

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Also wenn man aus dem SO ein S0 macht gehts zumindest durch die 
Synthese, Kommentar zu den restlichen Weisheiten spare ich mir heute 
mal...

von Hannes K. (chgruber)


Lesenswert?

Tim T. schrieb:
> Christian Gruber schrieb:
>> Sx <= (A AND not S0 AND not S1 AND SLock) OR (B AND not
>> S0 AND S1 AND SLock) OR (C AND S0 AND not S1 AND SLock) OR (D AND S0 AND
>> S1 AND SLock);
>
> Ist das ein SO oder S0 am Anfang der mittleren Zeile?
>
> Sieht bei deinem Text merkwürdig aus...

Ich liebe dich....das war der Fehler. Danke. :-)

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


Lesenswert?

Christian Gruber schrieb:
> Ich bekomme 7 mal den gleichen Fehler in der Zeile wo ich Sx zuweise.
Von wem? Welche Toolchain?

von Der L. (vhdl-neuling)


Lesenswert?

Christian Gruber schrieb:
> Ich liebe dich....


Wie leicht man doch Zuneigung bekommen kann :D

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.