Forum: FPGA, VHDL & Co. VHDL component


von basty_65 (Gast)


Angehängte Dateien:

Lesenswert?

Ich arbeite mich gerade in die component Funktion ein. Habe 3 *.vhd 
Dateien erstellte. Eine mit top entity in der die component der beiden 
weiteren *.vhd Dateine enthalten sind.

Das Problem ist, dass ich den Ein/Ausgang Y nicht an die Ausgänge des 
Kompletten Projektes haben will, sondern dieser nur als internes signal 
vorhanden sein soll.

Habe in der top entity y: inout std_logic;

und in den weiteren beiden einmal als y: in std_logic; und als y: out 
std_logic;

von Christian R. (supachris)


Lesenswert?

Die Ports der Components kannst du genauso an interne Signale des Moduls 
klemmen, in dem sie instanziiert sind. Die müssen nicht zwagsläufig auf 
externe Ports gehen.

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


Lesenswert?

> Habe in der top entity y: inout std_logic;
Mich beschleicht ein schlimmer Verdacht. Zeig doch mal den Quelltext, so 
viel kann das nicht sein...
Kopier alle 3 Dateien in eine gesamt.vhd und häng die hier als Anhang 
mit an.

von basty_65 (Gast)


Angehängte Dateien:

Lesenswert?

siehe Anhang

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


Lesenswert?

> Das Problem ist, dass ich den Ein/Ausgang Y nicht an die Ausgänge des
> Kompletten Projektes haben will, sondern dieser nur als internes signal
> vorhanden sein soll.
Was sollte denn der Synthesizer anderes machen, als das Signal nach 
aussen zu verdrahten, wenn du es im Port der Entity hast?
Dann mach den auch nur als internes Signal, dafür sind Signale ja auch 
da:
1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3
use IEEE.STD_LOGIC_ARITH.ALL;
4
use IEEE.STD_LOGIC_UNSIGNED.ALL;
5
6
entity Spartan is
7
port(    AB: out std_logic;
8
    A : in std_logic;
9
    B : in std_logic;
10
    z : out std_logic);
11
end entity Spartan;
12
13
architecture Verhalten of Spartan is
14
-- Deklarierung der internen Signale
15
signal y: std_logic; -- y  wird nur intern zur Verdrahtung benötigt.
16
17
-- Deklarierung der vorhandenen Komponenten
18
component TEST_001
19
port (  A : in std_logic;
20
  B : in std_logic;
21
  y : in std_logic;
22
  z : out std_logic);
23
end component;
24
25
26
component TEST_002
27
port (A, B: in std_logic; y: out std_logic);
28
end component;
29
30
begin
31
-- Deklarierung der internen Signale für die einzelnen Komponenten
32
TEST_01 : TEST_001 port map (A, B, y, z);
33
Test_02 : TEST_002 port map (A, B, y);
34
AB    <= y;
35
end architecture;

von basty_65 (Gast)


Lesenswert?

oh shit... Da hätte ich auch selber drauf kommen können.

Danke für deine Hilfe!

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.