
Sistemas Digitales y Lenguajes de Descripción del Hardware
Código: 102684Créditos: 9
| Titulación | Tipo | Curso |
|---|---|---|
| Ingeniería Electrónica de Telecomunicación | OB | 2 |
| Ingeniería de Sistemas de Telecomunicación | OB | 2 |
Profesor/a de contacto
- Nombre :
- Mercedes Rullan Ayza
- Correo electrónico :
- mercedes.rullan@uab.cat
Equipo docente
- Jordi Sacristan Gil
- Joaquín Saiz Alcaine
- Victor Montilla Gispert
Idiomas de los grupos
Puede consultar esta información al final del documento.
Prerrequisitos
No hay prerrequisitos formales, pero se recomienda haber cursado previamente las asignaturas de Fundamentos de Informática y Teoría de Circuitos y Electrónica de primer curso.
Objetivos
Se trata de una asignatura de formación básica que se imparte en el segundo curso, primer semestre de la titulación y constituye el nexo de unión entre las asignaturas de primer curso de Teoría de Circuitos y Electrónica y los Fundamentos de Informática con la Arquitectura de Computadores y Periféricos de segundo curso.
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) por lo general 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
En la tercera parte de la asignatura se presentan los conceptos de base sobre arquitectura de computadores y se aborda 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. De este procesador se implementa tanto la versión microprogramada (RVuabM) como la versión cableada (RVuabC) y se analizan las principales diferencias en coste/prestaciones de ambas propuestas. Acabamos planteando una versión pipeline (RVuabPL) como solución óptima y más habitual empleada en los procesadores actuales.
Resultados de aprendizaje
Ingeniería Electrónica de Telecomunicación
- KU117 (Distinguir los fundamentos de lenguajes de descripción de dispositivos de hardware.) Distinguir los fundamentos de lenguajes de descripción de dispositivos de hardware.
- KU118 (Describir el funcionamiento de circuitos combinacionales y secuenciales, síncronos y asíncronos, microprocesadores y circuitos integrados.) Describir el funcionamiento de circuitos combinacionales y secuenciales, síncronos y asíncronos, microprocesadores y circuitos integrados.
- SU120 (Diseñar circuitos combinacionales y secuenciales, síncronos y asíncronos, y la utilización de microprocesadores y circuitos integrados.) Diseñar circuitos combinacionales y secuenciales, síncronos y asíncronos, y la utilización de microprocesadores y circuitos integrados.
- SU121 (Utilizar los fundamentos de diseño, verificación y validación de software en la descripción de sistemas hardware basados en lenguajes de descripción del hardware a alto nivel.) Utilizar los fundamentos de diseño, verificación y validación de software en la descripción de sistemas hardware basados en lenguajes de descripción del hardware a alto nivel.
- SU122 (Utilizar herramientas informáticas de búsqueda de recursos bibliográficos o de información relacionada con las telecomunicacions y electrónica.) Utilizar herramientas informáticas de búsqueda de recursos bibliográficos o de información relacionada con las telecomunicacions y electrónica.
Ingeniería de Sistemas de Telecomunicación
- KU117 (Distinguir los fundamentos de lenguajes de descripción de dispositivos de hardware.) Distinguir los fundamentos de lenguajes de descripción de dispositivos de hardware.
- KU118 (Describir el funcionamiento de circuitos combinacionales y secuenciales, síncronos y asíncronos, microprocesadores y circuitos integrados.) Describir el funcionamiento de circuitos combinacionales y secuenciales, síncronos y asíncronos, microprocesadores y circuitos integrados.
- SU120 (Diseñar circuitos combinacionales y secuenciales, síncronos y asíncronos, y la utilización de microprocesadores y circuitos integrados.) Diseñar circuitos combinacionales y secuenciales, síncronos y asíncronos, y la utilización de microprocesadores y circuitos integrados.
- SU121 (Utilizar los fundamentos de diseño, verificación y validación de software en la descripción de sistemas hardware basados en lenguajes de descripción del hardware a alto nivel.) Utilizar los fundamentos de diseño, verificación y validación de software en la descripción de sistemas hardware basados en lenguajes de descripción del hardware a alto nivel.
- SU122 (Utilizar herramientas informáticas de búsqueda de recursos bibliográficos o de información relacionada con las telecomunicacions y electrónica.) Utilizar herramientas informáticas de búsqueda de recursos bibliográficos o de información relacionada con las telecomunicacions y electrónica.
Contenidos
Bloque 1. Circuitos combinacionales (CC)
- Señales y sistemas digitales. Descripción de un sistema digital. Sistemas Electrónicos Digitales (SED). Transistores MOS. Puertas AND, OR, INV. Síntesis de SED como un proceso de refinamiento progresivo.
- Definición de Circuito Combinacional. Síntesis desde tablas I: ROM. Síntesis desde tablas II: puertas lógicas.
- Álgebra de Boole. Tablas de verdad.
- Puertas NAND, NOR, XOR, NXOR. Buffers tri-state.
- Prestaciones: Tiempos de respuesta. Coste hardware
- Módulos combinacionales: multiplexores, decodificadores, planos AND-OR (PLAs).
- Herramientas de síntesis: Síntesis de CC desde algoritmos.
Bloque 2. Circuitos secuenciales (CS)
- Necesidad de los circuitos secuenciales. Definición de un CS. Estados y sincronización. Circuitos secuenciales síncronos. Reloj, reset y set.
- Componentes básicos: biestables, flip flops y latches.
- Síntesis de CS a partir de tablas. Máquinas de Moore y de Mealy. Codificación de estados.
- Registros, contadores y memorias. Estructuras, tipos, y usos más frecuentes de estos módulos.
- Máquinas de estados finitos (MEFs). Definición formal. Implementación. Tiempos de respuesta.
- Lenguaje de descripción de hardware: VHDL. Ejemplos de descripción de una MEF con VHDL.
- Síntesis de CS desde algoritmo.
- Implementación física de sistemas digitales. FPGAs y otras estrategias de implementación.
Bloque 3. Arquitectura Unidad de Proceso – Unidad de Control (UP-UC) y diseño de un procesador RISC-V
- Arquitectura Unidad de Proceso (UP) - Unidad de Control (UC).
- UP con multiplexores y con buses.
- Unidad de Control con secuenciador basada en una ROM.
- Estructura y conceptos de base de un computador:
- Unidades funcionales básicas (CPU, Memoria, E/S y Buses)
- Repertorio y tipos de instrucciones (visión del programador de lenguaje máquina)
- Operativa del procesador y modos básicos de direccionamiento
- Arquitecturas Von Neumann vs Harvard y CISC vs RISC
- Diseño de un procesador RISC-V de código abierto: desde el repertorio de instrucciones (RV32I) hasta su implementación como arquitectura UP-UC de propósito general:
- Implementación micro-programada (RVuabM)
- Implementación cableada o monociclo (RVuabC)
- Planteamiento de la versión pipeline (RVuabPL)
Actividades formativas y Metodología
| Título | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|
| Prácticas de laboratorio | 18 | 0,72 | |
| Estudio de casos | 18 | 0,72 | |
| Resolución de problemas | 32 | 1,28 | |
| Trabajos complementarios de prácticas | 10 | 0,4 | |
| Estudio del material audiovisual | 18 | 0,72 | |
| Clases de problemas | 46 | 1,84 | KU117, KU118, SU120, SU121, SU122 |
| Estudio autónomo | 37 | 1,48 | |
| Preparación de trabajo de laboratorio | 30 | 1,2 |
La asignatura es ANUAL y se organiza en tres bloques conceptuales.
Durante el primer cuatrimestre se impartirán (a nivel PAUL) dos tercios de la materia durante 4 horas semanales (no hay prácticas). En el segundo cuatrimestre los estudiantes tendrán que realizar todas las prácticas (18 horas repartidas en 6 prácticas de 3 horas) y el tercio restante de la materia (durante 2 horas semanales).
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 contienen 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. Las clases se dedican a la resolución de cuestiones y dudas de los vídeos, y de casos propuestos por el profesor. El estudiantado debe participar activamente en estas clases; no se trata de clases convencionales "de teoría". Tienen lugar en grupos pequeños (del orden de 40-50 estudiantes), condición indispensable para alcanzar el grado de interactividad necesario en una asignatura de carácter eminentemente práctico.
La asignatura se completa con 6 prácticas de laboratorio. Normalmente durante la primera sesión, el estudiante lleva a cabo el trabajo de simulación y validación de los circuitos diseñados; en la segunda sesión, el diseño se vuelca sobre una
FPGA para verificar su ejecución real. Cada sesión acoge un máximo de 20-25 estudiantes que trabajan en grupos de 2 alumnos y tiene una duración de 3 horas. Las prácticas se realizarán en el segundo cuatrimestre.
Se utiliza un entorno de diseño y simulación para circuitos lógicos programables Quartus II 13.0 sp1 Web Edition. El alumnado se familiariza con los conceptos de captura de esquemas, simulación funcional, simulación temporal y con la descripción de sistemas digitales sencillos mediante un lenguaje de descripción de hardware (System Verilog).
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 y los estudiantes. También pueden existir tutorías colectivas que podrá proponer el equipo docente, pero estas requerirán el envío previo al foro correspondiente del Campus Virtual (CV) de aquellas preguntas concretas sobre conceptos o ejercicios que haya que resolver para que el profesorado pueda planificar y realizar adecuadamente la tutoría.
Evaluación
Actividades de evaluación continuada
| Título | Peso | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|---|
| Entrega de problemas periódica | 20% | 8 | 0,32 | KU117, KU118, SU120, SU121 |
| Prácticas de laboratorio | 30% | 0 | 0 | SU122 |
| 3 pruebas parciales y/o prueba final | 50% | 8 | 0,32 | KU117, KU118, SU120, SU121 |
Esta asignatura no prevé el sistema de evaluación única.
a) Proceso y actividades de evaluación programadas
La evaluación del estudiantado incluye las siguientes actividades:
- Tres pruebas parciales a realizar individual y presencialmente en formato escrito. Estas pruebas parciales evalúan el conocimiento adquirido por el estudiante y su capacidad de diseñar circuitos digitales eficientes.
- Resolución de ejercicios: comprende un conjunto de ejercicios on-line, con corrección automática, que el alumnado ha de entregar en unas fechas previamente especificadas.
- La visualización de los vídeos antes de asistir a clase.
- En cada sesión de prácticas se evalúa la preparación y el trabajo correspondiente a aquella sesión, y la asistencia es obligatoria
Dado que la asignatura es anual y que se impartirán 2/3 de la materia durante el primer cuatrimestre, se realizarán 2 parciales durante el primer cuatrimestre en las fechas previstas por la titulación (octubre y enero); estos dos parciales corresponderán a las notas PP1 y PP2.
En cuanto al segundo cuatrimestre (donde hay 1/3 de la materia restante y todas las prácticas) se realizará un único parcial (PP3) en las fechas marcadas por la titulación en junio.
Por último habrá la recuperación correspondiente a los 3 parciales en las fechas previstas por la titulación en junio/julio; por tanto en el primer cuatrimestre NO HABRÁ NINGUNA RECUPERACIÓN.
Atendiendo a las circunstancias y en los casos que se estime oportuno puede ser necesario programar un examen de prácticas para completar la evaluación.
La nota del curso obtenida por evaluación continua (EC) se calcula a partir de:
- (actividad 1) La media de las notas obtenidas en las tres pruebas parciales (PP1, PP2 y PP3)
- (actividades 2 y 3) la entrega de ejercicios (tanto en el primero como en el segundo cuadrimestre) y visualización de videos (Pb)
- (actividad 4) la nota obtenida en las actividades de laboratorio (PL),
de acuerdo con la fórmula: EC = PP · 0,5 + PL · 0,3 + Pb · 0,2
donde PP = (PP1+PP2+PP3)/3
Para aprobar el curso por evaluación continua se deben cumplir las siguientes condiciones:
- EC ≥5,
- PP1, PP2 y PP3 ≥ 4 (cada una de ellas), y PP ≥ 5.
- PL ≥ 5.
Para reprogramar una actividad de evaluación en la Escuela de Ingeniería de la UAB por causas justificadas (motivos médicos graves, judiciales u oficiales) permite realizar una solicitud de reprogramación de actividades de evaluación. Este trámite debe realizarse dentro de los 5 días naturales anteriores a la fecha de la prueba o hasta 5 días naturales posteriores a ésta.
b) Programación de actividades de evaluación
Las fechas de las pruebas de evaluación y de la entrega de ejercicios se publican al inicio del curso en el Campus Virtual (CV) y en la web de la Escuela (apartado de exámenes), y pueden estar sujetas a cambios de programación debido a situaciones imprevistas. Cualquier modificación de las mismas se avisará a través de esta plataforma.
Es importante puntualizar que no se realizará ningún examen a ningún estudiante fuera de los días programados al efecto, salvo que concurran causas justificadas que se hayan informado antes de la fecha prevista, y con el consentimiento del profesor y la autorización del equipo docente.
c) Proceso de recuperación
La actividad 1 de evaluación correspondiente a la parte más conceptual y de problemas de aula se puede recuperar en la prueba final.
- Si la nota obtenida en una o dos de las pruebas parciales PP1, PP2 o PP3 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 3 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 la recuperación de toda la materia, evaluables y prácticas).
Si finalmente PP <5 o PL < 5, la nota final de la asignatura será el valor más bajo entre la nota EC y 4,5.
La actividad 2 (entrega de ejercicios) que corresponde a un 20% de la nota final y la actividad 4 (prácticas de laboratorio) que corresponde a un 30% de la nota final no se pueden recuperar.
d) Procedimiento de revisión de las calificaciones
Las notas de las actividades de evaluación se publican en el CV. Se informará del procedimiento de revisión una vez publicadas las notas y normalmente consistirá en establecer un plazo para que los estudiantes soliciten la revisión y en función de las peticiones recibidas se informará al estudiantado sobre la fecha y plazo concreto para hacer la revisión. Si el estudiante no sigue el procedimiento establecido en la revisión o no se presenta a la revisión no se revisará posteriormente esta actividad. La revisión de cualquier prueba puede suponer tanto una mejora como un empeoramiento de la nota correspondiente, dependiendo de la interpretación revisada que se realice de la prueba.
e) Calificaciones especiales
• Se evaluará con un \"no-evaluable\" al estudiante que no haya participado en ninguna prueba de evaluación o prácticas de laboratorio.
• Para obtener una \"matrícula de honor (MH)\" la nota final obtenida por el estudiante debe ser ≥ 9,0. No obstante, dado que el número de MHs no puede exceder el 5% del número de estudiantes matriculados en la asignatura, esta condición no es suficiente y, por tanto, las MH se asignarán a los estudiantes que hayan obtenido las calificaciones más altas respetando la regla anterior de nota ≥ 9,0.
f) Consecuencias de las irregularidades cometidas por los estudiantes: copia y plagio,...
Sin perjuicio de otrasmedidas disciplinarias que se estimen oportunas, y de acuerdo con la normativa académica vigente, las irregularidades cometidas por un/a estudiante que puedan conducir a una variación de la calificación en una actividad evaluable se calificarán con un cero (0). Las actividades de evaluación calificadas de esta forma y por este procedimiento no serán recuperables. Si es necesario superar cualquiera de estas actividades de evaluación para aprobar la asignatura, esta asignatura quedará suspendida directamente, sin oportunidad de recuperarla en el mismo curso. Estas irregularidades incluyen, entre otras:
- la copia total o parcial de una práctica, informe, o cualquier otra actividad de evaluación;
- permitir que otros se copien;
- presentar un trabajo de grupo no hecho íntegramente por los miembros del grupo (aplicado a todos los miembros, no sólo a los que no han trabajado);
- uso no autorizado de la IA (p. ej., Copiloto, ChatGPT o equivalentes) para resolver ejercicios, prácticas y/o cualquier otra actividad evaluable;
- presentar como propios materiales elaborados por un tercero, aunque sean traducciones o adaptaciones, y en general trabajos con elementos no originales y exclusivos del estudiante;
- tener dispositivos de comunicación (como teléfonos móviles, smart watches, bolígrafos con cámara, etc.) accesibles durante las pruebas de evaluación teórico-prácticas individuales (exámenes);
- hablar con compañeros durante las pruebas de evaluación teórico-prácticas individuales (exámenes);
- copiar o intentar copiar de otros alumnos durante las pruebas de evaluación teórico-prácticas (exámenes); - usar o intentar usar escritos relacionados con la materia durante la realización de las pruebas de evaluación teórico-prácticas (exámenes), cuando éstos no hayan sido explícitamente permitidos.
Uso prohibido de la IA:
Para esta asignatura, se permite el uso de tecnologías de Inteligencia Artificial (IA) exclusivamente en labores de soporte, como la búsqueda bibliográfica o de información. El estudiante tendrá que identificar claramente qué partes han sido generadas con esta tecnología, especificar las herramientas utilizadas e incluir una reflexión crítica sobre cómo éstas han influido en el proceso y el resultado final de la actividad. La no transparencia del uso de la IA en esta 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.
En resumen: copiar, dejar copiar o plagiar (o el intento de) en cualquiera de las actividades de evaluación equivale a un SUSPENSO, no compensable y sin convalidaciones de partes de la asignatura en cursos posteriores.
g) Evaluación de los estudiantes repetidores
Los estudiantes que realizaron y aprobaron las prácticas de laboratorio el año anterior, pero que suspendieron la asignatura, pueden optar por no repetir las prácticas el curso actual. En este caso, la nota de prácticas (PL) será un 5, independientemente de la nota obtenida el curso anterior. La lista de estudiantes que pueden escoger no realizar las prácticas se publica en el CV al comienzo del curso. Si, de todas formas, un estudiante quiere repetir las prácticas, deberá informar vía correo electrónico al profesor responsable de las prácticas y en este caso se quedará con la nota más reciente de estas prácticas.
Si un estudiante ha cometido irregularidades (copias/plagio) en alguna actividad de evaluación en una convocatoria anterior de la asignatura no tendrá derecho a que se le convaliden las prácticas (si las tuviera aprobadas).
Bibliografía
- Apuntes de la asignatura realitzados por el profesorado.
- Digital Design and Computer Architecture, RISC-V Edition. S. Harris, D. Harris. 1ª Edition 2021. Paperback ISBN 9780128200643; ebook ISBN 9780128200650
- The RISC-V Reader: An Open Architecture Atlas. D. Patterson, A. Waterman. ISBN-10, 0999249118. 2017
- Computer Organization and Design RISC-V Edition: The Hardware Software Interface. D.A. Patterson, J. L. Hennessy. 2021
- Digital Systems: From Logic Gates to Processors. Deschamps JP, Valderrama E, Terés L. Springer 2017. ISBN 978-3-319-41198-9.
- Coursera MOOC (español): https://www.coursera.org/learn/sistemas-digitales
- Coursera MOOC (inglés): https://www.coursera.org/learn/digital-systems
- Exercicis resolts de Disseny Digital. Joan Pons, Dani Bardés, Diego Mateo i Josep Altet. ISBN: 9798334549364. 1ª edició 2024.
- Complex Digital Systems. Deschamps JP, Valderrama E, and Terés L. Springer 2019. ISBN 978-3-030-12652-0.
Software
Para realizar las prácticas utilizaremos el software para FPGAs de Altera: Quartus II 13.0 sp1 Web Edition. Los alumnos tendrán que instalar este software, que no requiere ningún tipo de licencia.
Grupos e idiomas de la asignatura
La información proporcionada es provisional hasta el 30 de noviembre. 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
| Tipo de docencia | Grupo | Idioma | Semestre | Turno |
|---|---|---|---|---|
| (PAUL) Prácticas de aula | 311 | Catalán | anual | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 311 | Catalán/Español | anual | manaña-mixto |
| (PAUL) Prácticas de aula | 312 | Catalán/Español | anual | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 312 | Catalán/Español | anual | manaña-mixto |
| (PAUL) Prácticas de aula | 313 | Catalán | anual | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 313 | Catalán/Español | anual | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 314 | Catalán/Español | anual | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 315 | Catalán/Español | anual | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 316 | Catalán/Español | anual | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 317 | Catalán/Español | anual | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 318 | Catalán/Español | anual | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 319 | Catalán/Español | anual | manaña-mixto |
| (PAUL) Prácticas de aula | 511 | Catalán | anual | tarde |