Étape 5: s’inscrire
Le Registre est le module utilisé pour stocker la tension max actuelle. Ce module est créé sur le plan comportemental afin que vous puissiez utiliser les divers montants de bits sans devoir modifier la quantité de code VHDL. La valeur stockée dans le Registre est envoyée à un autre module, appelé le groupe de comparaison où il compare la valeur stockée max avec toutes les valeurs brutes qui proviennent de l’ADC.
Voici une description de l’entité de notre registre :
entité FF_Array est
Port (CLK : dans std_logic_vector ;
FR : Au std_logic_vector ;
A: Au STD_LOGIC_VECTOR (9 downto 0) ;
LV: Out STD_LOGIC_VECTOR (9 downto 0): = "0000000000") ;
fin FF_Array ;
Comme vous pouvez le voir, il accueille un signal d’horloge et activer le signal et affectez la valeur A. Lorsque le signal enable est élevé, la valeur LV est réglé sur A. S’il est faible, LV conserve sa valeur.
Voici la description comportementale du Registre :
signal inter : STD_LOGIC_VECTOR (9 downto 0): = « 0000000000 » ;
maquette : processus (CLK, A, fr)
commencer
Si rising_edge(CLK) alors
Si fr < = « 1 » puis
LV < = A ;
inter < = A ;
d’autre
LV < = inter ;
end if ;
end if ;
maquette de fin de processus ;
Nous stockons seulement 10 de 12 bits qui proviennent de l’ADC. Nous nous débarrassons des deux bits les moins significatifs parce qu’ils ne signifient pas une différence de tension assez pour justifier un changement. À ce petit niveau, ces bits probablement peuvent être modifiés que par le bruit du côté analogique de l’ADC, donc nous avons choisi de les ignorer.