
Diseño de Sistemas Digitales
Código: 107889 Créditos ECTS: 6| Titulación | Tipo | Curso |
|---|---|---|
| Ingeniería Informática | FB | 1 |
Contacto
- Nombre:
- Mercedes Rullan Ayza
- Correo electrónico:
- mercedes.rullan@uab.cat
Equipo docente
- Joaquin Saiz Alcaine
- Lluís Antoni Terés Terés
- Gabriel Ramirez Gonzalez
- David Castells Rufas
- Isaac Martinez Sabate
- Jordi Sacristan Riquelme
Idiomas de los grupos
Puede consultar esta información al final del documento.
Prerrequisitos
No existen prerrequisitos formales pero se recomienda haber cursado y aprobado la asignatura de Fundamentos de Computadores de primer curso, primer semestre.
Objetivos y contextualización
El objetivo de la asignatura es que los estudiantes comprendan el papel que los sistemas digitales juegan en el mundo de la tecnología informática y las comunicaciones (TIC) en general y sean capaces de diseñar e implementar circuitos digitales de complejidad media-baja utilizando puertas lógicas y dispositivos reconfigurables y entiendan que un computador no es sino un sistema digital de cierta complejidad.
Se abordan metodologías basadas en arquitecturas “Unidad de Proceso – Unidad de Control (UP-UC)” para resolver sistemas digitales de cierta complejidad introduciendo los conceptos básicos de estas arquitecturas tanto en su versión “cableada” (UP-UC hecha con puertas y bloques lógicos) como “microprogramada” (UC basada en ROM + secuenciador). En la tercera parte de la asignatura se presenta el diseño de un procesador de código abierto (RISC-V) a partir de su repertorio de instrucciones básico y aplicando las estrategias y metodologías de diseño de las arquitecturas UP-UC anteriores, implementando tanto la versión microprogramada (RVuabM) como la versión cableada de este procesador (RVuabC) y analizando las principales diferencias coste/prestacions de las dos propuestas. Acabamos con unas breves pinceladas del concepto de pipeline como solución óptima y más habitual utilizada en los procesadores actuales.
Resultados de aprendizaje
- KM08 (Conocimiento) Reconocer los distintos bloques que constituyen los computadores, así como su funcionamiento interno
- SM08 (Habilidad) Determinar la arquitectura básica del computador, sus unidades funcionales y sus fundamentos teóricos de programación
Contenido
Bloque 1. Circuitos secuenciales (CS)
• Máquinas de Moore y Mealy.
• Máquinas de estados finitos (MEF). Definición formal. Implementación y tiempo de respuesta.
• Nociones básicas de System Verilog (SV). Ejemplos de descripción de una MEF en SV.
• Síntesis de Circuitos secuenciales desde algoritmo.
Bloque 2. Arquitectura Unidad de Proceso-Unidad de Control (UP-UC)
• Arquitectura Unidad de Proceso (UP) - Unidad de Control (UC).
• UP con multiplexores y con buses.
• Unidad de Control con secuenciador basada en una ROM.
Bloque 3. Diseño de un procesador RISC-V
• Estructura básica de un procesador simple. Arquitectura Von Neumann vs Harvard. Unidades funcionales y buses.
• Repertorio de instrucciones del procesador. Programación con lenguaje máquina. Microinstrucciones y microprogramas, micro-órdenes y señales de condición (status).
• Ejemplo de procesador de código abierto: RISC-V
• Arquitectura Harvard. Ciclos de búsqueda (fetch), decodificación (decode) y ejecución.
• RVuabM: Implementación microprogramada de la Unidad de Control.
• RVuabC: Implementación cableada monociclo de la Unidad de Control.
• RVuabPL: Introducción al RISC-V Pipeline
Actividades formativas y Metodología
| Título | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|
| Tipo: Dirigidas | |||
| Clases de problemas | 30 | 1,2 | KM08, SM08, KM08 |
| Pràcticas de laboratorio | 12 | 0,48 | KM08, SM08, KM08 |
| Tipo: Supervisadas | |||
| Estudio de casos | 12 | 0,48 | KM08, SM08, KM08 |
| Trabajo complementario de pràcticas | 10 | 0,4 | KM08, SM08, KM08 |
| Tipo: Autónomas | |||
| Estudio autónomo | 40 | 1,6 | KM08, SM08, KM08 |
| Preparación y resolución de ejercicios | 16 | 0,64 | KM08, SM08, KM08 |
| Visualización de los videos | 12 | 0,48 | KM08, SM08, KM08 |
La asignatura se organiza en tres bloques. Los materiales que se ofrecen a través del Campus Virtual incluyen una serie de vídeos que el alumnado debe visualizar antes de asistir a clase y que contiene los conocimientos teórico-prácticos necesarios para el diseño de sistemas digitales, ejercicios interactivos de corrección automática y un entorno de simulación de sistemas digitales.
La asignatura se imparte en modalidad "problemas de aula". Todas las clases presenciales se tratan como sesiones basadas en problemas y se dedican a la resolución de cuestiones y dudas de los vídeos, y de casos propuestos por el profesorado o por el alumnado. Es fundamental la participación activa del alumnado en estas clases; no se trata de clases convencionales "de teoría". Tienen lugar en grupos reducidos (del orden de 30-40 estudiantes), condición indispensable para conseguir el grado de interactividad necesario en una asignatura de carácter eminentemente práctico y aplicado.
La asignatura se completa con unas prácticas en laboratorio donde el alumnado implementa físicamente los circuitos, que hasta entonces se habían limitado a diseñar sobre papel o dentro de un entorno de simulación. Cada sesión acoge a 20-25 estudiantes que trabajan en grupos de 2 y tiene una duración de 2 horas.
Las tutorías podrán ser individuales o en pequeños grupos y se realizarán a demanda y en coordinación entre cada profesor/a y los estudiantes. También podrá haber tutorías colectivas que podrá proponer el equipo docente, pero éstas requerirán el envío previo al foro correspondiente del Campus Virtual (CV) de aquellas preguntas concretas sobre conceptos o ejercicios que sea necesario resolver para que el profesorado pueda planificar y realizar adecuadamente la tutoría.
Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.
Evaluación
Actividades de evaluación continuada
| Título | Peso | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|---|
| Dos pruebas parciales y/o examen final | 50% | 8 | 0,32 | KM08, SM08 |
| Entrega de problemas periódicos | 20% | 10 | 0,4 | KM08, SM08 |
| Pràcticas de laboratorio | 30% | 0 | 0 | KM08, SM08 |
- Dos pruebas parciales a realizar individual y presencialmente, en un entorno controlado y en formato escrito. Estas pruebas parciales evalúan el conocimiento adquirido por el alumnado y su capacidad de resolver problemas diseñando circuitos digitales adecuados y eficientes.
- Resolución de ejercicios: comprende un conjunto de ejercicios on-line, con corrección automática, que el alumnado debe entregar en unas fechas previamente especificadas. Actividad individual.
- Visualización de los vídeos antes de asistir a clase.
- Actividades en las que el alumnado debe demostrar las competencias adquiridas durante el desarrollo de las prácticas de laboratorio (asistencia obligatoria). Actividad en grupo de 2 estudiantes.
- (actividad 1) La media de las notas obtenidas en las dos pruebas parciales (PP1 y PP2),
- (actividades 2 y 3) la entrega de ejercicios y la visualización de los vídeos (Pb),
- (actividades 4) la nota de las actividades evaluables de prácticas (PL)
- AC ≥ 5,
- PP1 y PP2 ≥ 4 (cada una de ellas), y PP ≥ 5.
- PL ≥ 5.
- Si la nota obtenida en una de las pruebas parciales PP1 o PP2 es < 4, debe superarse esta calificación presentándose a un examen de recuperación del parcial correspondiente. Para poder aplicar la fórmula (que tiene en cuenta los parciales, evaluables y prácticas), la nota obtenida en esta recuperación debe ser ≥ 5
- Si la nota obtenida respectivamente en los 2 parciales es < 4, el estudiante debe presentarse a un nuevo examen que incluirá toda la materia. La nota obtenida será la nueva nota PP, que debe ser ≥ 5 para poder aplicar la fórmula (que tiene en cuenta los parciales, evaluables y prácticas).
Uso restringido de la IA: para esta asignatura, se permite el uso de tecnologías de Inteligencia Artificial (IA) exclusivamente en tareas de apoyo, como la búsqueda bibliográfica o de información. El estudiante deberá identificar claramente qué partes han sido generadas con esta tecnología, especificar las herramientas empleadas e incluir una reflexión crítica sobre cómo éstas han influido en el proceso y el resultado. La no transparencia del uso de la IA en la actividad evaluable se considerará falta de honestidad académica y puede acarrear una penalización parcial o total en la nota de la actividad, o sanciones mayores en casos de gravedad.
g) Evaluación de los estudiantes repetidores
En el proceso de evaluación descrito, no habrá ningún tratamiento diferenciado para los estudiantes repetidores.
Bibliografía
- Coursera MOOC: https://www.coursera.org/learn/digital-systems
- Digital Systems: From Logic Gates to Processors. Deschamps JP, Valderrama E, Terés L. Springer 2017. ISBN 978-3-319-41198-9.
- Complex Digital Systems. Deschamps JP, Valderrama E, and Terés L. Springer 2019. ISBN 978-3-030-12652-0.
- Diseño de Sistemas Digitales. Deschamps JP, Ed. Paraninfo 1989. ISBN 84-283-1695-9.
- Digital Systems Fundamentals. T.L. Floyd. Ed. Prentice Hall. 9ª Edición ISBN: 8483220857.
- Arquitecturas UP-UC: de los sistemas digitales a medida al processador de propósito general RISC-V. Valderrama E., Deschamps J-P., Rullan M. y Terés, L. Apuntes del bloque-3 del curso.
Software
- Quartus II Web Edition
Grupos e idiomas de la asignatura
La información proporcionada es provisional hasta el 30 de noviembre de 2025. A partir de esta fecha, podrá consultar el idioma de cada grupo a través de este enlace. Para acceder a la información, será necesario introducir el CÓDIGO de la asignatura
| Nombre | Grupo | Idioma | Semestre | Turno |
|---|---|---|---|---|
| (PAUL) Prácticas de aula | 411 | Catalán/Español | segundo cuatrimestre | manaña-mixto |
| (PAUL) Prácticas de aula | 412 | Catalán/Español | segundo cuatrimestre | manaña-mixto |
| (PAUL) Prácticas de aula | 431 | Catalán/Español | segundo cuatrimestre | manaña-mixto |
| (PAUL) Prácticas de aula | 432 | Catalán/Español | segundo cuatrimestre | manaña-mixto |
| (PAUL) Prácticas de aula | 451 | Catalán/Español | segundo cuatrimestre | tarde |
| (PAUL) Prácticas de aula | 452 | Catalán/Español | segundo cuatrimestre | tarde |
| (PLAB) Prácticas de laboratorio | 411 | Catalán/Español | segundo cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 412 | Catalán/Español | segundo cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 413 | Catalán/Español | segundo cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 414 | Catalán/Español | segundo cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 415 | Catalán/Español | segundo cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 416 | Catalán/Español | segundo cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 417 | Catalán/Español | segundo cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 418 | Catalán/Español | segundo cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 419 | Catalán/Español | segundo cuatrimestre | tarde |
| (PLAB) Prácticas de laboratorio | 420 | Catalán/Español | segundo cuatrimestre | tarde |
| (PLAB) Prácticas de laboratorio | 421 | Catalán/Español | segundo cuatrimestre | tarde |
| (PLAB) Prácticas de laboratorio | 422 | Catalán/Español | segundo cuatrimestre | tarde |