Hallo, eigentlich ist es doch ganz einfach eine Componete z.B. OR3 in einen VHDL-Code einzubinden. Die folgende Variante funktioniert perfekt in der Simulation: .... component OR3 is port (O : out STD_ULOGIC; I0 : in STD_ULOGIC; I1 : in STD_ULOGIC; I2 : in STD_ULOGIC); end component OR3; begin OR3_INSTANCE_NAME : OR3 port map (OUTPUT0,INPUT0, INPUT1,INPUT2); end Behavioral; Hier sind OUTPUT0 und INPUTn phsikalisch vorhandene Ports. Im Anhang ist eine VHDL Code, der auch die Component OR3 benutzt. Allerdings ist OUTPUT0 ersetzt durch ein Signal uhelp, welches ich dann in einem Process weiter verarbeiten möchte. XST synthetisiert korrekt allerdings hängt sich immer die Simulation auf, an der Stelle wo sie die Lib von OR3 laden möchte. Ich hab' keine Idee mehr was ich falsch mache... Danke schon mal für Eure Antworten, Sebastian
Ist die unsim komplett für deinen Simulator (welcher?) compiliert? Check mal mit dem Librarybrowser des Simulators, ob die unisim sichtbar ist und ob sie eine entity namens or3 enthält.
Hallo, wenn Du die Verwendung von Components üben willst, geht Dein Code in Ordnung, ansonsten geht es viel, viel einfacher mit Output1 <= Input1 or Input2 or Input3; Tip am Rande : Obwohl der Xilinx Editor die Zeilen use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; automatisch einfügt, sollte man sie löschen und bei Bedarf besser mit dem Paket numeric_std arbeiten. Grüße Klaus
Ok Danke, ich hab's gefunden. process begin if uhelp = '1' then OUTPUT1 <= '1'; else OUTPUT1 <= '0'; end if; end process; OUTPUT1 ist ein physikalischer Port. Den darf man in einem Process nicht verweden sondern nur Signale... Aller Anfang ist schwer.... Sebastian
Ich weiss nicht was Du meinst, Ports darf man in Prozessen genau so verwenden wie Signale. Du solltest aber in jedem Fall schreiben : OUTPUT1 <= uhelp; Ohne einen Prozess !! Grüße Klaus
Hallo, im "VHDL Kompakt.pdf" von der uni hamburg; Kapitel 6.2 Seite 42 steht geschrieben: Die Verbindung von Prozessen mit der Außenwelt (andere Prozesse, instanziierte Komponenten, Ports der umgebenden Entity. . . ) geschieht ausschließlich über Signale. Dabei sind beim schreibenden Zugriff, also bei Signalzuweisungen durch den Prozess, einige Punkte zu beachten. Vielleicht habe ich das aber auch falsch verstanden. Sebastian
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.