VHDL : Créer une conception hiérarchique

author-image

Par

Cet exemple décrit comment créer une conception hiérarchique à l’aide de VHDL. La conception de haut niveau, appelée top.vhd, implémente une instance de la logique fonctionnelle.vhd. Dans le fichier top.vhd, un composant pour la fonction logique est déclaré à l’intérieur de l’architecture dans laquelle il est instantané. La Déclaration des composants définit les ports de la fonction de niveau inférieur.

Liens connexes

Pour plus d’informations sur l’utilisation de cet exemple dans votre projet, reportez-vous à la section « Comment utiliser les exemples VHDL » sur la page Web de VHDL.

top.vhd (fichier haut de gamme)

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY top IS
      PORT(w_in, x_in, y_in :IN std_logic;
               clock        :IN std_logic;
               z_out        :OUT std_logic);
END top;

ARCHITECTURE a OF top IS

COMPONENT logic
        PORT(a,b,c    :IN std_logic;
              x       :OUT std_logic);
END COMPONENT;

SIGNAL w_reg, x_reg, y_reg, z_reg   :std_logic;

BEGIN
low_logic       : logic PORT MAP (a => w_reg, b => x_reg, c => y_reg, x => z_reg);

PROCESS(clock)
BEGIN
     IF (clock'event AND clock='1') THEN
         w_reg<=w_in; x_reg<=x_in; y_reg<=y_in; z_out<=z_reg; END IF; END PROCESS; END a; </PRE>

logic.vhd

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY logic IS
      PORT(a,b,c     : IN std_logic;
             x       : OUT std_logic);
END logic;

ARCHITECTURE a OF logic IS
BEGIN
PROCESS (a,b,c)
BEGIN
     x<=(a and b) or c; END PROCESS; END; </pre>

 

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.