Demo entry 6342000

yo

   

Submitted by anonymous on Jan 05, 2017 at 11:51
Language: vhdl. Code size: 1.8 kB.

--ENTITY DECLARATION : RESEAU_NEURONAL

USE work.TOOLS.ALL;

ENTITY RESEAU_NEURONAL IS
  GENERIC ( NB_COUCHE : integer := 3 );	-- Nombre de couches du réseau
  PORT( input_res: IN my_tab;			-- Tableau contenant les valeurs d'entrée
        output_res: OUT integer );		-- Pour stocker la sortie du réseau
END RESEAU_NEURONAL ;

--ARCHITECTURE DECLARATION : ARCHI_RESEAU_NEURONAL

ARCHITECTURE ARCHI_RESEAU_NEURONAL OF RESEAU_NEURONAL IS
  
  COMPONENT NEURONE     
   GENERIC(weights : my_tab := (OTHERS => 1 ));	-- Stockage des poids spécifiques au neurone 
   PORT( input: IN my_tab;						-- Tableau contenant les valeurs d'entrée
          output: OUT integer );     			-- Sortie 
  END COMPONENT;     
  
  SIGNAL output_temp : my_tab_2D(1 TO NB_COUCHE+1):= ( OTHERS => (OTHERS => 0 )) ;
				-- Tableau 2D pour stocker les résultats intermédiaires 
  
  
BEGIN
      output_temp(1) <= input_res ;	-- Init du tableau 2D avec les entrées
      
      RESEAU : FOR i IN 1 TO NB_COUCHE  GENERATE     -- Generation des couches

        COUCHE :  FOR j IN 1 TO (N / 2**i) GENERATE	-- Generation des neurones de la couche i
          MEMBRE : NEURONE 		                    -- Instanciation d'un Neurone
                GENERIC MAP ( weights(1) => 1, 		-- Mapping du neurone crée
                              weights(2) => 1,
                              weights(3) => 1,
                              weights(4) => 1)
                PORT MAP ( input => output_temp(i) , output => output_temp(i+1)(j));                 	
        
        END GENERATE COUCHE ;          
        
      END GENERATE RESEAU ;
      
    output_res <= output_temp(NB_COUCHE)(1) ; 	-- Mise en Sortie du réseau des sorties 			
												-- des neurones de la dernière couche  
END ARCHI_RESEAU_NEURONAL ;

This snippet took 0.01 seconds to highlight.

Back to the Entry List or Home.

Delete this entry (admin only).