Signale in der entity

Gast #2594827
Lesenswert?
• ▲
▼
Hallo,

ich lerne gerade VHDL und bin bei einem Code auf eine Frage gestoßen und 
zwar:

Ich habe ein VHDL Programm das später in einem Top Level als Component 
eingebunden wird in der entity sind nun normale Ports deklariert und 
auch SIGNALE. Was haben die Signale für Vorteile gegenüber den In und 
Out Ports bzw. warum macht man das, wo liegt der Unterschied bei den 
Signalen in der entity und denen die im architecture deklariert sind.

Und wie binde ich Diese Signale später in mein Top-Level Design ein.

Danke vorab
Gast #2594843
Lesenswert?
• ▲
▼
entity Test is
   port(
      clk  :in std_logic;
      a    :in std_logic;
      b    :in std_logic;

signal c : in std_logic;
       Q : out std_logic);

end Test;

architecture behaver of Test is

Signal Temp: std_logic;

  begin
....


end architecture;
Gast #2594902
Lesenswert?
• ▲
▼
also habe ich das richtig verstanden das die Signale die im architecture
deklariert sind nur dort sichtbar sind, Die Signale die in der entity 
deklariert sind auch im Top-Level sichtbar sind und die Ports zu den 
Beinchen des FPGA gehen. Bin ich da jetzt richtig?

und wie behandele ich die Signale von der entity beim Port map in der 
höheren ebene, wie ganz normale ports?
Moderator (Firma: Titel) Persönliche Seite #2594967
Lesenswert?
• ▲
▼
Stefan schrieb:
> Die Signale die in der entity
> deklariert sind auch im Top-Level sichtbar sind und die Ports zu den
> Beinchen des FPGA gehen. Bin ich da jetzt richtig?
Nicht ganz. Die Port-Liste beschreibt die "Anschlusspins" des Moduls 
(=Entity). Ob diese Pins nach aussen gehen oder nicht, hängt davon ab, 
ob dieses Modul evtl "nur" ein Untermodul eines größeren Moduls ist. 
Z.B. kann ein Baudratenteiler ein Modul sein. Dessen Ports/Pins werden 
aber nicht an die FPGA-Pins verdrahtet, sondern "nur" an die passenden 
Signale des übergelagerten Moduls. So wie dort z.B. der Tatkteiler:
http://www.lothar-miller.de/s9y/archives/61-Lauflicht.html

Aber natürlich werden die Ports vom Top-Level dann an die FPGA-Pins 
gehen.


> Ich habe ein VHDL Programm das später in einem Top Level als Component
> eingebunden wird in der entity sind nun normale Ports deklariert und
> auch SIGNALE.
Unnötige Schreibarbeit:
1
entity Test is
2
   port(
3
          signal c : in std_logic;
4
        );
das ist gleichwertig mit
1
entity Test is
2
   port(
3
          c : in std_logic;
4
        );
und mit
1
entity Test is
2
   port(  
3
         signal c : std_logic;
4
        );
und mit
1
entity Test is
2
   port(
3
          c : std_logic;
4
        );

Wenn die Richtung eines Ports nicht angegeben ist, wird automatisch IN 
angenommen. Das Schlüsselwort Signal vor dem Portnamen ist unnötig.

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