Logo UAB
2022/2023

Sistemas Digitales y Lenguajes de Descripción del Hardware

Código: 102684 Créditos ECTS: 9
Titulación Tipo Curso Semestre
2500895 Ingeniería Electrónica de Telecomunicación OB 2 1
2500898 Ingeniería de Sistemas de Telecomunicación OB 2 1

Contacto

Nombre:
Mercedes Rullan Ayza
Correo electrónico:
mercedes.rullan@uab.cat

Uso de idiomas

Lengua vehicular mayoritaria:
catalán (cat)
Algún grupo íntegramente en inglés:
No
Algún grupo íntegramente en catalán:
No
Algún grupo íntegramente en español:
No

Otras observaciones sobre los idiomas

Es muy probable que los tres grupos sean en catalán

Equipo docente

Josep Velasco Gonzalez
Lluís Antoni Teres Teres

Prerequisitos

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 y contextualización

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 de Fundamentos de la Informática y la asignatura de 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 informática, 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. En la última parte del curso se abordan las metodologías basadas en arquitecturas "Unidad de Proceso – Unidad de Control (UP-UC)" para resolver sistemas digitales de una cierta complejidad introduciendo los conceptos básicos de estas arquitecturas tanto en su versión "cableada" (UC hecha con puertas y bloques lógicos) como "microprogramada" (UC basada en ROM + secuenciador). Finalmente se cierra este bloque y la asignatura viendo el diseño de un procesador muy simple de código abierto (RISC-V) a partir de su repertorio de instrucciones y aplicando las arquitecturas UP-UC anteriores.

Competencias

    Ingeniería Electrónica de Telecomunicación
  • Aprender nuevos métodos y tecnologías en base a sus conocimientos básicos y tecnológicos, con gran versatilidad de adaptación a nuevas situaciones.
  • Hábitos de pensamiento
  • Hábitos de trabajo personal
  • Trabajo en equipo
    Ingeniería de Sistemas de Telecomunicación
  • Aprender nuevos métodos y tecnologías en base a sus conocimientos básicos y tecnológicos, con gran versatilidad de adaptación a nuevas situaciones.
  • Hábitos de pensamiento
  • Hábitos de trabajo personal
  • Trabajo en equipo

Resultados de aprendizaje

  1. Analizar y diseñar circuitos combinacionales y secuenciales, síncronos y asíncronos, y de utilización de microprocesadores y circuitos integrados.
  2. Aplicar los fundamentos de lenguajes de descripción de dispositivos de hardware.
  3. Desarrollar aplicaciones en tiempo real.
  4. Desarrollar el pensamiento sistémico.
  5. Desarrollar estrategias de aprendizaje autónomo.
  6. Desarrollar la capacidad de análisis y de síntesis.
  7. Desarrollar un pensamiento y un razonamiento crítico.
  8. Gestionar el tiempo y los recursos disponibles
  9. Gestionar el tiempo y los recursos disponibles. Trabajar de forma organizada.
  10. Trabajar cooperativamente.
  11. Utilizar herramientas informáticas de búsqueda de recursos bibliográficos o de información relacionada con las telecomunicaciones y la electrónica.
  12. 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.

Contenido

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

  • Arquitectura Unidad de Proceso (UP) - Unidad de Control (UC).
  • UP con multiplexores. UP con buses.
  • Unidad de Control como una MEF implementada con bloques y puertas o con un secuenciador más una ROM.
  • Estructura básica de un procesador simple. Arquitectura Von Neumann vs Harvard. Unidades funcionales y buses.
  • Repertorio de instrucciones del procesador. Conceptos básicos de lenguaje máquina. 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.
  • Microinstrucciones y microprogramas.
  • Implementación microprogramada de la Unidad de Control.
  • Relaciones entre hardware, firmware y software.

Metodología

La asignatura se organiza en tres bloques. Los bloques 1 y 2 utilizan un MOOC de acceso libre de Coursera desarrollado por el profesorado de la asignatura. Los materiales que se ofrecen a través del MOOC incluyen una serie de vídeos que los estudiantes deben 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. Los materiales del bloque 3 incluyen una serie de videos que están disponibles a través del campus virtual de la UAB. En el bloque 3 se utiliza la misma metodología de trabajo indicada en el párrafo anterior, sin el entorno de Coursera.

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. Los estudiantes deben 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 unas prácticas en el laboratorio donde el alumnado desarrolla y simula partes de un pequeño procesador que se acaba implementando sobre una FPGA. Se utiliza un entorno de diseño y simulación para circuitos lógicos programables de INTEL-ALTERA. 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 (VHDL). Cada sesión tiene una duración de 3hy el trabajo se desarrolla en equipos de dos personas.

En función de la evolución de la situación sanitaria y de les normas de asistencia que se establezcan, las prácticas se podrían realizar de forma parcial o totalmente en modalidad no presencial.

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.

Competencias transversales.  En esta asignatura se trabajan y evalúan las siguientes competencias transversales:

  • T01.01 - Desarrollar un pensamiento y un razonamiento crítico, T01.02 - Desarrollar la capacidad de análisis y de síntesis y T01.04 - Desarrollar el pensamiento sistémico: se trabajan fundamentalmente en la resolución de problemas en las clases presenciales y se evalúan en las correspondientes pruebas parciales.
  • T02.02 - Desarrollar estrategias de aprendizaje autónomo y T02.03 - Gestionar el tiempo y en los recursos disponibles. Trabajar de forma organizada: se trabajan principalmente con la visualización del material audiovisual (antes de las sesiones presenciales) y en un gran número de clases presenciales mediante la realización de cuestionarios en el aula Moodle, que permiten evaluar si estudiante ha trabajado el tema de esa semana. Los resultados obtenidos en estos cuestionarios se tendrán en cuenta en la evaluación de las entregas realizadas en fechas pre-establecidas.
  • T03.01 - Trabajar cooperativamente: se trabaja fundamentalmente en las practicas realizadas en grupos de 2 estudiantes y se evalúa a lo largo de las sesiones prácticas.

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.

Actividades

Título Horas ECTS Resultados de aprendizaje
Tipo: Dirigidas      
Clases de problemas 18 0,72 1, 4, 5, 6, 7, 9, 10
Clases presenciales 26 1,04 1, 2, 6, 7, 11, 12
Prácticas de laboratorio 18 0,72 2, 5, 9, 10, 12
Tipo: Supervisadas      
Estudio de casos 18 0,72 5, 7, 9
Trabajos complementarios de prácticas 10 0,4 2, 4, 5, 6, 7, 8, 9, 10, 12
Tipo: Autónomas      
Estudio autónomo 39 1,56 5, 8, 9
Estudio del material audiovisual 18 0,72 5, 6, 7, 8, 9
Preparación de trabajo de laboratorio 30 1,2 9, 10
Resolución de problemas 32 1,28 1, 2, 11, 12

Evaluación

La evaluación de los estudiantes incluye las siguientes actividades:

  1. Tres pruebas parciales (una por bloque), 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.
  2. Resolución de ejercicios: comprende un conjunto de ejercicios on-line, con corrección automática, que el estudiante ha de entregar en unas fechas previamente especificadas.
  3. Se evalúa la asistencia a clase y la visualización de los vídeos antes de asistir mediante eventuales tests dentro de cada clase.
  4. En cada sesión de prácticas se evalúa la preparación y el trabajo correspondiente a aquella sesión, y la asistencia en base a la modalidad presencial o no presencial que se establezca. 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:

  1. (actividad 1) La media de las notas obtenidas en las tres pruebas parciales (PP1, PP2 y PP3),
  2. (actividades 2 y 3) la entrega de ejercicios, asistencia a clase y tests (Pb)
  3. (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 se deben cumplir las siguientes condiciones:

  1. EC ≥ 5,
  2. PP1, PP2 y PP3 ≥ 4 (cada una de ellas), y PP ≥ 5.
  3. PL ≥ 5.

Al finalizar el curso:

  1. Si la nota obtenida en una (y sólo una) de las pruebas parciales PP1, PP2 o PP3 es < 4, se debe superar esta calificación presentándose a un examen de recuperación del bloque correspondiente. Para aprobar el curso la nota obtenida en este examen debe ser ≥ 4, y la nueva nota PP promedio de los tres parciales debe ser ≥ 5.
  2. Si la nota obtenida en dos o más 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 superar el curso.

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 figura siguiente resume las situaciones que se pueden dar, entendiendo que el estudiante ha aprobado las prácticas (PL ≥ 5).

 

 

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.

c) Proceso de recuperación

La actividad 1 de evaluación correspondiente a la teoría se puede recuperar en la prueba final, siguiendo las condiciones explicadas en el apartado a. El estudiante puede presentarse a la recuperación siempre que se haya presentado a 2 de los 3 parciales de teoría.

  1. Si la nota obtenida en una (y sólo una) de las pruebas parciales PP1, PP2 o PP3 es < 4, se debe superar esta calificación presentándose a un examen de recuperación del bloque correspondiente. Para aprobar el curso la nota obtenida en este examen debe ser ≥ 4, y la nueva nota PP media de los tres parciales debe ser ≥ 5.
  2. Si la nota obtenida en dos o más 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 superar el curso.

Las actividades 2 y 3 (entrega de ejercicios, asistencia a clase y tests) 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á a los estudiantes 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.

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.

f) Consecuencias de las irregularidades cometidas por los estudiantes: copia y plagio,...

Sin perjuicio de otras medidas 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 procedimientono 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);
  • 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.

En ediciones futuras de esta asignatura, al alumnado que haya cometido irregularidades en un acto de evaluación no se le convalidará ninguna de las actividades de evaluación realizadas.

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.

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).

A partir de la segunda matrícula y si el estudiante tiene las prácticas aprobadas y opta por convalidarlas, puede escoger que el sistema de evaluación sea:

  1. hacer la evaluación normal (continúa + recuperación final) establecida en el apartado "a) Proceso y actividades de evaluación programadas" donde se le mantendría un 5 en las prácticas pero no se mantendría la nota de los ejercicios.
  2. sustituir la evaluación continua por un examen final (en la fecha del tercer parcial) y tener en cuenta su nota de prácticas y de ejercicios del curso anterior (5 como máximo en cada caso):

 nota final = 0,5 * prueba final + 0,3 * nota de las prácticas del curso anterior (un 5) + 0,2 * nota ejercicios curso anterior (máximo un 5)

Si el estudiante suspende tiene una segunda oportunidad en esta alternativa 2) que sería hacer de nuevo un examen final de toda la  materia  en las fechas de la recuperación final, manteniéndose las mismas condiciones para las prácticas y los ejercicios (máximo un 5).

Para poder optar a esta evaluación diferenciada (2), el alumnado repetidor debe solicitarlo al responsable de la asignatura mediante correo electrónico a más tardar 15 días después del inicio de las clases.

 

Actividades de evaluación

Título Peso Horas ECTS Resultados de aprendizaje
3 pruebas parciales y/o prueba final 50% 8 0,32 1, 2, 4, 5, 6, 7, 8, 9, 11, 12
Entrega de problemas 20% 8 0,32 5, 6, 7, 8, 9
Prácticas de laboratorio 30% 0 0 1, 2, 3, 6, 7, 8, 9, 10, 12

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., Rullàn M. y Terés, L. Apuntes del bloque-3 del curso.
  • Desenvolupament del microprocessador LittleProc: des de la primera porta lògica fins a una plataforma reconfigurable. J. Saiz, A.Portero, R. Aragonès. Materials 234.  Servei de Publicacions de la UAB; ISBN (paper format): 978-84-490-2700-0, ISBN (e-book): 978-84-490-2699-7. 

Software

Para hacer las prácticas utilizaremos el software de Altera Quartus II 9.0 WebEdition. Los alumnos se tendrán que instalar este software, que no requiere ningún tipo de licencia.