[ca] En aquest projecte el que es vol assolir com a resultat final és la implementació d'un laboratori remot per la programació de FPGAs. L'accés es du a terme via web, per tant una part molt important en aquest projecte és la del desenvolupament web per tal de crear una interfície d'usuari adequada. L'estructura d'aquesta pàgina web ha estat creada amb "HTML" i "PHP", sent aquest últim el llenguatge que ens proporciona les eines adequades per la comunicació que busquem en el nostre disseny. També veurem que, degut a la gran diversitat de característiques que presenta el "backend", ens hem ajudat d'altres llenguatges com "Python", "Javascript", "Bash" o "SQL". Inicialment es va treballar per a la implementació d'un sol lloc de treball. El sistema estava format per una màquina Linux (on està el "backend") connectat a una Raspberry Pi via Ethernet que és la que tindrà comunicació directa a la FPGA. La comunicació entre Raspberry Pi i FPGA s'ha dut a terme mitjançant els ports GPIO de la Raspberry Pi que connecten aquest dispositiu amb el JTAG de la FPGA i amb els seus diferents botons i interruptors. Les funcionalitats bàsiques que s'han de proporcionar a l'usuari amb la interacció amb la FPGA són les de carregar arxius a la FPGA, modificar els estats dels seus interruptors/botons i la visualització dels canvis que aquests provoquen. Això últim s'ha realitzat amb l'emissió en directe d'una càmera de vídeo que està enfocant contínuament a la FPGA assignada. Un cop es va aconseguir realitzar tota aquesta sèrie de objectius, s'ha implementat aquest mateix sistema però amb la capacitat de treballar sobre diverses FPGAs, és a dir, un laboratori remot amb varis llocs de treball amb les mateixes especificacions explicades anteriorment. Per tal de gestionar-ho tot correctament, s'ha implementat una base de dades que emmagatzema la informació que identifica cada lloc de treball i a més a més s'han creat una sèrie de noms d'usuari i contrasenyes per poder-hi accedir.

[es] En este proyecto lo que se quiere conseguir como resultado final es la implementación de un laboratorio remoto para la programación de FPGAs. El acceso se lleva a cabo vía web, por tanto una parte muy importante en este proyecto es la del desarrollo web para crear una interfaz de usuario adecuada. La estructura de esta página web ha sido creada con "HTML" y "PHP", siendo éste último el lenguaje que nos proporciona las herramientas adecuadas para la comunicación que buscamos en nuestro diseño. También veremos que, debido a la gran diversidad de características que presenta el "backend", nos hemos ayudado de otros lenguajes como "Python", "Javascript", "Bash" o "SQL". Inicialmente se trabajó para la implementación de un solo puesto de trabajo. El sistema estaba formado por una máquina Linux (donde está el "backend") conectado a una Raspberry Pi vía Ethernet que es la que tendrá comunicación directa a la FPGA. La comunicación entre Raspberry Pi y FPGA se ha llevado a cabo mediante los puertos GPIO de la Raspberry Pi que conectan este dispositivo con el JTAG de la FPGA y los distintos botones e interruptores. Las funcionalidades básicas que deben proporcionarse al usuario con la interacción con la FPGA son las de cargar archivos a la FPGA, modificar los estados de sus interruptores/botones y la visualización de los cambios que éstos provoquen. Esto último se ha realizado con la emisión en directo de una videocámara que está enfocando continuamente a la FPGA asignada. Una vez se logró realizar toda esta serie de objetivos, se implementó este mismo sistema pero con la capacidad de trabajar sobre diversas FPGAs, es decir, un laboratorio remoto con varios puestos de trabajo con las mismas especificaciones explicadas anteriormente. Para gestionarlo todo correctamente, se ha implementado una base de datos que almacena la información que identifica cada puesto de trabajo y se han creado una serie de nombres de usuario y contraseñas para poder acceder a ellos.