Ejecutando funciones en FPGA en el inicio

2

Me pregunto si es posible ejecutar una función o cierta lógica automáticamente sin ningún impulso una vez que la imagen FPGA se carga en el archivo de bits. Algo así como una secuencia de inicialización sin ninguna entrada del usuario en ninguno de los pines. Solo necesita ejecutarse una vez cuando se carga la imagen FPGA.

¿Es incluso posible?

    
pregunta GamingX

2 respuestas

2

Sí, esto es posible. Cuando la configuración se carga en el FPGA, todos los registros se inicializan a los valores iniciales. En verilog, estos se pueden especificar cuando el registro está definido o en un bloque inicial. Todo lo que necesita hacer es tener un registro, diga 'inicializado', con valor inicial cero. El primer borde del reloj donde está claro, ejecuta su rutina de inicio y luego establece el registro inicializado cuando está listo. Lo mismo se puede hacer con una máquina de estado que comienza en el estado de 'reinicio' y termina en un estado 'inactivo' o 'inicializado'.

    
respondido por el alex.forencich
0

VHDL también proporciona funciones para describir diferentes valores para el inicio y reinicio iniciales.

signal myValue : std_logic := '1'; -- initial value after programming
...
process(clock)
begin
  if rising_edge(clock) then
    if (reset = '1') then
      myValue <= '0';  -- reset value
    else
      myValue <= not myValue;
    end if;
  end if;
end process;

No estoy seguro de si los FPGA de Xilinx restablecerán los registros a su valor inicial o a su valor de restablecimiento en un evento de reinicio global iniciado por el usuario.

    
respondido por el Paebbels

Lea otras preguntas en las etiquetas