Paso 5: registrarse
El registro es el módulo utilizado para almacenar el voltaje máximo actual. Este módulo se crea su comportamiento para que pueda utilizar varias cantidades de bits sin tener que cambiar mucho código VHDL. El valor almacenado en el registro se envía a otro módulo llamado el comparador que compara el valor máximo con todos los valores crudos que provienen de la ADC.
Aquí está una descripción de la entidad de nuestro registro:
entidad es de FF_Array
Puerto (CLK: en RAMB16_S36;
EN: En RAMB16_S36;
A: En información (9 p 0);
LV: A información (9 p 0): = "0000000000");
end FF_Array;
Como se puede ver, lleva en una señal de reloj y permitir una señal y un valor A. Cuando la señal de enable es alta, el valor LV es ajuste a. Si es baja, LV mantiene su valor.
Aquí está la descripción del comportamiento del registro:
señal de inter: información (9 p 0): = "0000000000";
Comp: proceso (CLK, A, es)
comenzar
Si rising_edge(CLK) entonces
Si EN < = '1' then
LV < = A;
entre < = A;
otra cosa
LV < = inter;
End if;
End if;
final proceso comp;
Sólo almacenamos 10 de los 12 bits que provienen de la ADC. Nos deshacemos de los dos bits menos significativos, ya que esto no significa una diferencia de tensión lo suficiente como para justificar un cambio. En ese pequeño nivel, esos bits probablemente pueden ser cambiados por el ruido en el lado análogo de la ADC, así decidimos ignorarlas.