Sistemas Informáticos

2º ciclo, Ingeniero en Informática, Plan 1991

FDI-136

Profesora: Hortensia Mecha López

Dpto. de Arquitectura de Computadores y Automática
Facultad de Informática
Universidad Complutense de Madrid

Despacho 3.37
Avda. Complutense s/n, E-28040 Madrid (Spain)
tel: +34 91 394 76 19, fax: +34 91 394 75 27
e-mail: horten@dacya.ucm.es

Tipo: Troncal de 2º ciclo
Carga docente: 15 créditos

La asignatura de Sistemas Informáticos consiste en la realización de un proyecto en grupo bajo la dirección de un profesor. Se evalúa mediante una exposición pública ante un tribunal formado por todos los profesores que dirigen proyectos en el mismo curso.

[Curso 2002-03][Curso 2001-02] [Curso 2000-01] [Curso 1999-00] [Curso 1998-99] [Curso 1997-98


Curso 2002-03

Televisión Digital
Carolina Valdazo, José Luis Moisés, Rodrigo Borrego y Sara Hernández

El objetivo del proyecto es el diseño e implementación (sobre una tarjeta de FPGAs de altas prestaciones) de un circuito específico para el procesado digital en tiempo real de una señal de TV (video compuesto) y su visualización sobre un monitor VGA estándar. Entre otros, se implementarán los siguientes efectos digitales:

La implementación se realizará en una placa de prototipado XSV-800 que dispone, entre otros componentes, de una FPGA XCV800 con capacidad de implementar diseños de hasta 800000 puertas equivalentes, 4 módulos de SRAM de 512Kx8, un procesador de vídeo analógico, y un RAMDAC de 256 entradas y 24 bits de color. El diseño será asistido por las siguientes herramientas: Xilinx Foundation, Model Technology y Synopsys

Procesado de imágenes digitales sobre un sistema hardware dinámicamente reconfigurable
Sergio Bernabé, Gerardo Robledillo, Isaac Álvarez, y Pilar Rodriguez

El objetivo fundamental de este proyecto es implementar sobre una tarjeta de FPGAs dinámicamente reconfigurable una tarjeta de visualización y procesamiento de imágenes. Se implementarán distintos circuitos hardware que realicen diferentes procesos sobre una imagen, de forma que en la tarjeta de la FPGA siempre se mantenga el algoritmo de visualización y puedan cambiarse, a gusto del usuario, los algoritmos de procesamiento. Se utilizará la posibilidad que proporciona el hardware reconfigurable de modificar parte del circuito mientras el resto sigue ejecutando un algoritmo. 

La implementación se realizará en una placa de prototipado APX-240 que dispone de una FPGA virtex 300, utilizando software de Xilinx Foundation, Model Technology y Synopsys.


 

Curso 2001-02

Diseño e implementación de un computador autoreconfigurable
Cristina Hernández, Eduardo Duque, Laura Prada y Rubén del Cura

El objetivo de este proyecto es dotar a un microprocesador RISC convencional de capacidades de autoreconfiguración parcial dinámica, entendiendo por ésta, a la posibilidad de que el microprocesador (sin dejar de ejecutar instrucciones) pueda cambiar por sí mismo una porción de su diseño hardware. En particular, se pretende incorporar a su repertorio una colección de instrucciones que permitan reconfigurar dinámicamente el diseño HW de su memoria cache: tamaño de bloque, política de emplazamiento, política de reemplazamiento, etc. De manera que se disponga de un sistema que por programa pueda adaptar la configuración de su cache a una carga de trabajo dada. 

Como resultado de un proyecto desarrollado en el curso 2000-01, se dispone una implementación completa sobre FPGAs (dispositivo hardware reconfigurable) de un computador formado por un microprocesador RISC, un subsistema jerárquico de memoria de 2 niveles, un subsistema de E/S y un sistema operativo. Por ello las tareas a realizar ahora son:

1. Diseño de un protocolo de configuración de FPGAs.
2. Diseño de un protocolo de configuración dinámica de FPGAs.
3. Diseño de un protocolo de autoreconfiguración dinámica de FPGAs.
4. Rediseño del microprocesador para incorporarle capacidades de autoreconfiguracion.
5. Comparación de los rendimientos de un computador con cache de diseño fijo y de un computador con cache con diseño autoreconfigurable.

La implementación se realizará en una placa de prototipado XSV-800 basada en FPGAs de la familia VIRTEX (dispositivo hardware reconfigurable con capacidad de reconfiguración parcial dinámica), utilizando software de Xilinx, Model Technology  y Synopsys.

Coprocesado de imágenes a través del bus ISA
Alejandro Conde, José D. Hernández y Fco. Javier Lara

El objetivo de este proyecto es diseñar e implementar sobre FPGAs (dispositivo hardware reconfigurable) todo el núcleo digital de una tarjeta ISA para el procesamiento de imágenes. Las tareas que se incluyen en este proyecto son:

1. Diseño HW e implementación de un interfaz con el bus ISA.
2. Desarrollo de rutinas SW para comunicación entre el host y la tarjeta.
3. Diseño e implementación de algoritmos de procesado de imágenes, e integración de los mismos con el interfaz de bus.
4. Desarrollo de un programa de manipulación de imágenes que utilice las posibilidades de coprocesado que ofrece la tarjeta diseñada.

La implementación se realizará en una placa de prototipado APX-240 basada en FPGAs, utilizando software de Xilinx, Model Technology  y Synopsys.


Curso 2000-01

Diseño e implementación de un computador autoreconfigurable
Javier Basilio, Iván Magán y Miguel Peón

El objetivo es diseñar e implementar un computador formado por un microprocesador RISC y un subsistema jerárquico de memoria de 2 niveles: cache + memoria principal, que incorpore en su repertorio una colección de instrucciones que permitan reconfigurar dinámicamente el diseño HW de la memoria cache: tamaño de bloque, política de emplazamiento, política de reemplazamiento, etc... Con esto se pretende diseñar un sistema que por programa pueda adaptar la configuración de su cache a una carga de trabajo dada. Las tareas a realizar son:

1. Diseño de un protocolo de configuración de FPGAs
2. Diseño de un protocolo de configuración dinámica de FPGAs
3. Diseño de un protocolo de autoreconfiguración dinámica de FPGAs
4. Diseño del computador autoreconfigurable
5. Comparación de los rendimientos de un computador con cache de diseño fijo y de un computador con cache con diseño autoreconfigurable

La implementación se realizará en una placa de prototipado XSV-800 basada en FPGA de la familia VIRTEX (dispositivo hardware reconfigurable con capacidad de reconfiguración parcial dinámica) utilizando el software de Xilinx Foundation y Synopsys.

Diseño e implementación de una arquitectura basada en microprocesador
Julio E. Fernández, Antonio Ortiz y Miguel A. Rojas

El objetivo es diseñar la arquitectura completa de un computador partiendo de un microprocesador desnudo, módulos de SRAM y una colección de periféricos. Se trata de diseñar un protocolo de bus, y un conjunto de interfaces compatibles con dicho protocolo que permitan al microprocesador comunicarse y controlar los subsistemas de memoria y E/S. Entre estos interfaces podemos distinguir:

1. Diseño de un gestor de interrupciones.
2. Diseño de un interfaz de memoria.
3. Diseño de un controlador alfanumérico para VGA.
4. Diseño de un interfaz serie para el control de teclado/ratón.
5. Diseño de un interfaz serie para control de audio.

Una vez diseñada e implementada sobre FPGAs dicha arquitectura se utilizará para ejecutar una aplicación software. En particular un juego de batalla espacial en donde una nave terrícola lucha contra escuadrones alienígenas, con sus respectivos sonidos, movimientos, puntuaciones, disparos, explosiones, etc.

La implementación se realizará sobre dos placas de prototipado XS40+XST1 basadas en FPGAs (dispositivo hardware reconfigurable), utilizando el software de Xilinx Foundation y Synopsys.


Curso 1999-00

Hardware Galaxy Invader
Jesús López, Ignacio Rodríguez y José M. Soriano

El objetivo es diseñar completamente sobre hardware un juego de batalla espacial. El juego replicará la batalla de una nave terrícola contra escuadrones alienígenas, con sus respectivos sonidos, movimientos, puntuaciones, disparos, explosiones, etc.

El hardware a diseñar deberá implementar la dinámica del juego, así como controlar directamente una serie de dispositivos de entrada/salida, incluyendo monitor VGA (para visualizar el escenario de la batalla), teclado (para dirigir la nave terrícola), conversores digitales/analógicos (para generar sonidos), etc.

La implementación se realizará sobre varias placas de prototipado XS40+XST1 basadas en FPGAs (dispositivo hardware reconfigurable), utilizando el software de Xilinx Foundation y Synopsys. El proyecto cubre tanto la conceptualización del juego, como la especificación, el diseño, la simulación y el volcado final sobre el dispositivo programable.


Curso 1998-99

Implementación con FPGAs de un coprocesador matemático

Grupo 1: José María Peña, Javier Olcoz, Franz Hassmann

Grupo 2: Sara Egido, José Luis Noheda,   Ricardo Aguado

 

Se trata de diseñar un coprocesador matemático utilizando FPGAs y el software de Xilinx. El coprocesador matemático se conectará al bus síncrono de 8 bits del equipo de desarrollo basado en el MC68000 que se utilizó en el Laboratorio de Estructura de Computadores.

Los datos que puede recibir el coprocesador son números reales binarios en simple precisión (32 bits). El número de registros y configuración del coprocesador deberá adaptarse al tamaño de la FPGA con que va a implementarse. Las operaciones que puede realizar el coprocesador son carga, almacenamiento, suma, resta, multiplicación y división. Estas operaciones serán instrucciones emuladas en el MC68000, y la rutina de excepción debe encargarse de pasar los datos al coprocesador, esperar a que éste realice la operación y obtener el resultado. Para comprobar el hardware y el software, sobre el MC68000 se realizará algún tipo de programa en ensamblador que utilice las distintas instrucciones que pueda realizar el coprocesador.

 


Curso 1997-98

Implementación con FPGAs de un controlador integrado de teclado y display

Carlos Bustos Plaza

Javier de Dios Castro

 

Se trata de diseñar un controlador para un teclado matricial y un banco de displays utilizando FPGAs y el software de Xilinx. El controlador se conectara al bus síncrono de 8 bits del equipo de desarrollo basado en el MC68000 que se utilizó en el Laboratorio de Estructura de Computadores.

El controlador debe encargarse de leer las teclas pulsadas (proporcionando los retardos adecuados para eliminar los rebotes) y mandar los datos al MC68000. Por otro lado, también debe buscar en memoria el contenido que debe visualizarse en el banco de displays, y se encargará de realizar las tareas de refresco. El contenido de la memoria puede ser modificado por el MC68000.

Sobre el MC68000 se realizará algún tipo de programa en ensamblador que leerá los datos del teclado y mostrara resultados sobre los displays

 

Documentación de placas

 


Página creada y modificada por H. Mecha / Ultima actualización Feb-03