Forum: FPGA, VHDL & Co. VHDL Strukurbeschreibung - Funktion der Komponenten bestimmen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Tester (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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;

von Klakx (Gast)


Bewertung
0 lesenswert
nicht 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;

von Tester (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi danke für die Antwort,

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

von Duke Scarring (Gast)


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

von Parcher (Gast)


Bewertung
0 lesenswert
nicht 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.

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Parcher schrieb:
> Kann man schon machen, schön ist es aber nicht.
Die Toolchain dröselt das heutzutage selber auf und bildet die 
Hierarchie korrekt ab, egal ob eine Datei mehrere oder nur eine Entity 
enthält.

Aber solche Trivialfunktionen würde ich eigentlich gar nicht in ein 
eigenes Modul auslagern.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [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 Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.