VHDL Strukurbeschreibung - Funktion der Komponenten bestimmen

Gast #4948202
Lesenswert?

Hi Leute,

habe eine Frage bezüglich der Strukturbeschreibung in VHDL.
Wenn man folgenden VHDL Code sich anschaut, kommt die im Anhang 
dargestellte Struktur.
Es geht nicht um den Sinn der Schaltung, aber ich verstehe noch nicht 
ganz man verbindet die Komponenten miteinander, aber an welcher Stelle 
definiere ich denn letztendlich, ob es sich um ein AND- bzw. OR-Gatter 
handelt. Der Aufbau der Komponente ist ja zunächst gleich.

entity test is
    port(   a: in std_logic;
            b: in std_logic;
            y: out std_logic);

end test;


architecture STRUCTURE of test is

    component AND2 is
        port(   a   : in std_logic;
                b   : in std_logic;
                y   : out std_logic);
    end component AND2;


    component OR2 is
        port(   a   : in std_logic;
                b   : in std_logic;
                y   : out std_logic);
    end component OR2;


signal s1: std_logic;
signal s2: std_logic;

begin

M1: AND2
    port map (a, b, s1);


M2: AND2
    port map (a, b, s2);


M3: OR2
    port map (s1, s2, y);

end STRUCTURE;
Angehängte Dateien:
Gast #4948250
Lesenswert?

da brauchst du noch eine weitere Beschreibung für AND2 und OR2

Zum Beispiel so:
1
entity and2 is
2
    port(   a: in std_logic;
3
            b: in std_logic;
4
            y: out std_logic);
5
end;
6

7
architecture behavior of and2 is
8

9
begin
10

11
y <= a and b;
12

13
end behavior;
Gast #4948336
Lesenswert?

Tester schrieb:
> kann ich die entity bzw. Verhaltensbeschreibung in der selben, ich sag
> mal vhdl Datei, schreiben?


Kann man schon machen, schön ist es aber nicht. Ich würde immer pro 
Komponente eine eigene Datei vorsehen. Eine Komponente enthält bei mir 
die Entity und die Architecture. Optional kann man Entity und 
Architecture in eigenen Dateien verwalten, dies ist aber m.E. nur bei 
größeren Modulen sinnvoll.

Wenn du alles in einer Datei haben willst, dann kannst Du Dich von den 
Komponenten lösen und die AND2 bzw. OR2 Anweisungen jeweils in einem 
eigenen Prozess implementieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren