En un FPGA, ¿es posible imitar el comportamiento de algo como un Arduino, donde el código que se ejecuta en el chip puede designar un pin como entrada o salida?
Digamos que el FPGA está configurado como un procesador. Además, digamos que tenemos tres registros designados para controlar los pines de E / S, como los equivalentes de Arduino :
Cada puerto está controlado por tres registros ... El registro DDR, determina si el pin es una ENTRADA o SALIDA. El registro PORT controla si el pin es ALTO o BAJO, y el registro PIN lee el estado de los pines INPUT configurados para ingresar con pinMode ().
¿Cómo puede hacer que el FPGA use un registro (como DDR) para cambiar la dirección del pin, según lo que el programa en ejecución actualiza el registro? (Al ejecutar el programa, me refiero al programa que se ejecuta en el procesador en el que se ha configurado el FPGA).
No estoy seguro de si esto es posible dado que durante la asignación de pines para la síntesis tiene que especificar la dirección del pin. Pero espero que me equivoque? ¿Se podría hacer esto de alguna manera usando el modo pin bidireccional?