Sprungnavigation:

zum Inhalt

FPGA mit VHDL

VHDL Synthese-Datei Instanziierungsteil

Im Instanziierungsteil von VHDL-Dateien gibt es erst einmal zwei Bereiche:
Die Entity und die Architecture

In der Entity wird die Einheit dieser Instanz beschrieben. Eine Instanz hat "Kontakte" zur Aussenwelt, auch Ports genannt.
Ein Port besteht immer aus einem Namen, gefolgt von einem Doppelpunkt, einer Richtungsbeschreibung (In, Out oder Inout) und eine Beschreibung der Signalart.
Letzteres ist üblicher Weise Standard-Logic (std_logic oder std_logic_vector).

In der Architecure befindet sich die "Logic" der Einheit.
Die Architecture ist wiederum untergliedert in Componenten-Instanziierungen, Signaldefinitionen sowie dem echten Inhalt beginnend mit "begin".
Leider ist es damit noch nicht getan: den im folgenden Teil werden zuerst die oben instanziierten Componenten "verdrahtet", dann folgen die Concurrent-Statements sowie ein oder mehrere Prozesse.

 

Der Reihe nach:

Instanziierungs-Grundgerüst einer VHDL-Datei für die Synthese

Die komplette Vorlage für VHDL-Quelltexte kann auch downgeloaded werden.

entity fpga is
Port (
   CLK      : in std_logic;
   RST      : in std_logic
   );
end fpga;

architecture arc_fpga_intern of fpga is

-- ###########################################
-- Componenten Deklaration
-- ###########################################

component ...
   port (
   clka: IN std_logic;
   rsta: IN std_logic;
   :
   :
   );
end component;

-- ###########################################
-- Defintionen fuer Signale und Statemachines
-- ###########################################

TYPE type_sStatemachine IS (
   sStartState, ...);
signal sStatemachine : type_sStatemachine;

signal : std_logic_vector(15 downto 0);
signal : std_logic;

begin
-- ###########################################
-- Componenten Instanziierung
-- ###########################################

ram1 : RAM
      port map (
         clka => CLK,
         rsta => RST,
         :
         :
         );

-- ###########################################
-- Concurrent Statements
-- ###########################################


-- ###########################################
-- Process Statements
-- ###########################################
process (CLK, RST)
begin
   if (RST='1') then

      sStatemachine <= sStartState;

   elsif (CLK'event and CLK='1') then   -- CLK rising edge
      case sStatemachine is
         when sStartState =>

         when others => NULL;
      end case;

   end if;
end process;

end arc_fpga_intern;
 
Qualitätsmanagement-Stempel von YASKO
Qualitätsmanagement nach
DIN EN ISO 9001:2015
Logo des FED
Mitglied im Fachverband für
Elektronik-Design e.V. (FED)