Gast
#2272401
Ich habe ein ganz einfaches Testprogramm mit einer Unter-Procedure. >>>>>>>>>>>>>>>>>>>>>>> library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.NUMERIC_STD.ALL; entity testprocedure is Port ( signal Clock : in STD_LOGIC; signal Command : in STD_LOGIC; signal Answer : out STD_LOGIC); end testprocedure; architecture Behavioral of testprocedure is procedure AA is begin if Command = '1' then Answer <= '1'; else Answer <= '0'; end if; end procedure AA; begin main: process(Clock,Command) is begin if rising_edge(Clock) then AA ; end if; end process; end Behavioral; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Altera Quartus kompiliert das wunderbar und erzeugt auch eine Logik dafür. Bei Xilinx ISE 13.1 bekomme ich folgende Fehlermeldung: HDLParsers:3426 -Line 16. Can not drive signal Answer in subprogram AA. Ich möchte aber nicht alle Signale, die ja Entity-Global sind, noch an die Procedure extra weiter geben müssen. Meiner Meinung nach müßte die Procedure so kompilieren. Denke ich falsch? Hat Xilinx eine Einschränkung? Kann ich Answer in der Procedure zuweisen, ohne es im Procedure-Kopf übergeben? Wenn Altera mehr kann, als die VHDL-Spec, wie muss das Programm nach der reinen VHDL-Spec aussehen?