VHDL Strukurbeschreibung - Funktion der Komponenten bestimmen

Gast #4948202
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
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
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

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.