"signal" deklaration fuer ports in entity-portlist??

Gast #298329
Lesenswert?
• ▲
▼
Hallo zusammen,

was wird denn durch die Verwendung/Deklaration von Signalen in der
Portlist einer Entity bezweckt oder erreicht?
Sind die so definierten Ports dann ausschliesslich interner "Natur"
(da die Ports scheinbar als Signale deklariert sind)? Oder wie muss man
sich das vorstellen?

sieht dann beispielsweise folgendermassen aus:

entity beispiel is
    port (
              --inputs:
               signal clk        : in  std_logic;
               signal reset     : in  std_logic;
               signal start      : in  std_logic;
               signal stop      : in  std_logic;
               signal events   : in  std_logic;

             --outputs:
              signal time_count  : out std_logic_vector(3 downto 0);
              signal event_count : out std_logic_vector(7 downto 0)
          );
end beispiel;

Oder was bewirkt das voranstehende signal?
Bei mir taucht dieses Phaenomen immer im mit QuartusII automatisch
generierten Code auf (habe es jetzt aber auch bei kleinen beispielen im
internet entdeckt)und leider habe ich das aber so noch nie zuvor
gesehen.
Bisher bin ich Signalen in VHDL ausschliesslich in architectures
begegnet und habe sie auch nur dort verwendet. Aber was machen die in
der Portlist? Leider auch nirgendwo Literatur/Hilfe dazu gefunden.

Also, wenn mich darüber jemand aufklären/weiterbilden könnte, wäre ich
echt dankbar.
Merci schonmal.
Gast #298330
Lesenswert?
• ▲
▼
Hallo,

Portsdeklarationen sind Signaldeklarationen, die aber innerhalb der
Entity vernachlässigt werden können. D.h., aus

Signal clk : in std_logic;

kann einfach

clk : in std_logic;

verwendet werden.

Gruß
Tom
Gast #298332
Lesenswert?
• ▲
▼
nachzulesen z.B. im
IEEE Standard VHDL Language Reference Manual
Kapitel 1.1.1.2 : Ports

das vorangestellte "signal" dürfte absolut unnötig sein,
da Ports und Port-Elemente per default signale sind,
und das offenbar schon seit VHDL-87

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