Logo UAB
2021/2022

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
La metodología docente y la evaluación propuestas en la guía pueden experimentar alguna modificación en función de las restricciones a la presencialidad que impongan las autoridades sanitarias.

Contacto

Nombre:
Mercedes Rullán 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:
Algún grupo íntegramente en español:
No

Otras observaciones sobre los idiomas

És possible que el grup en català sigui el 411

Equipo docente

Josep Velasco González
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.

Los objetivos de la asignatura es que los estudiantes comprendan el papel de los sistemas digitales en el mundo de la informática, que sean capaces de diseñar e implementar circuitos digitales de complejidad media-baja utilizando puertas lógicas y sistemas reconfigurables, y entiendan que un computador no es sino un sistema digital de una cierta complejidad. En la última parte del curso se diseña un procesador muy sencillo de código abierto (RISC-V)  i, y se introducen los conceptos básicos de unidad de proceso, unidad de control, repertorio de instrucciones (instruction set), microinstrucciones, microórdenes y microprogramación.

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
  • 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.
  • 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 con secuenciador basada en una ROM.
  • 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. 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 lenguajes de programación.

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

a) Actividades de evaluación

Para las pruebas de evaluación, parciales o finales, el equipo docente tiene la potestad de decidir cualquier combinación de las siguientes modalidades:

  1. Prueba objetiva, presencial o virtual, para evaluar los conocimientos conceptuales fundamentales de la asignatura. Esta prueba podría formar parte de un examen de dos fases y ser eliminatoria, de forma que en caso de no superar esta parte ya no se pudiera realizar o no se evaluara la segunda parte.
  2. Prueba de resolución de ejercicios donde se tratará de aplicar los conocimientos adquiridos para resolver cualquier ejercicio que se pueda abordar con los conocimientos impartidos y con independencia de si se han o no realizado en clase ejemplos idénticos o similares.
  3. Prueba combinada entre conocimientos conceptuales de base y ejercicios aplicados; es decir una prueba combinada de las dos anteriores.

Todas las pruebas podrán ser con o sin apuntes y presenciales o virtuales según las circunstancias; quedando todo a discreción del equipo docente, que lo deberá anunciar con suficiente antelación.

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

  1. Tres pruebas parciales (una por bloque), a realizar individual y presencialmente, en un entorno controlado, y 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 debe 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 a ellas mediante eventuales tests dentro de cada clase.
  4. En cada sesión de prácticasse evalúa la preparación del trabajo correspondiente a aquella sesión y la asistencia en base a la modalidad presencial o no presencial que se establezca. Teniendo en cuenta las circunstancias y en los casos en que se estime oportuno puede ser necesario programar un examen de prácticas para completar la evaluación.

 b) Procedimiento de evaluación

La nota del curso obtenida por evaluación continua (EC) se calcula a partir de:

  1. (actividad 1) El promedio 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 cuestionarios (Pb), y
  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:

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

 

 c)  Calendario de las actividades de evaluación

Las fechas de las pruebas de evaluación y de la entrega de ejercicios se publican en el Campus Virtual (CV), y pueden estar sujetas a cambios de programación debido a situaciones imprevistas. Cualquier modificación de éstas se avisará a través de dicha plataforma.

Es importante puntualizar que no se realizará ningún examen a ningún estudiante fuera de los días programados al efecto, a menos que concurran causas justificadas que se hayan informado antes de la fecha prevista, y con el consentimiento del profesor. En el resto de los casos, las actividades de evaluación que el estudiante no haya realizado no son recuperables.

 d)  Revisión de las pruebas

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 no tendrá derecho a una nueva oportunidad.

 e)  Irregularidades por parte del estudiante, copia y plagio

Sin menoscabo de otras medidas disciplinarias que se puedan establecer al efecto, y de acuerdo con las normativas académicas vigentes, las actividades de evaluación en las que el estudiante haya cometido algún tipo de irregularidad que pueda afectar a su nota serán calificadas con un 0, y el estudiante no tendrá derecho a ningún tipo de prueba de recuperación. Si dicha actividad o actividades es/son imprescindibles para aprobar la asignatura, la calificación de 0 comportará el suspenso de la asignatura en el curso actual, sin posibilidad de recuperación.

Las irregularidades contempladas en este procedimiento incluyen, entre otras,

  • La copia total o parcial en un examen, ejercicio práctico, informe, o cualquier otro tipo de actividad de evaluación
  • Permitir la copia por parte de otros estudiantes
  • Presentar trabajos en grupo que no han sido realizados totalmente por los miembros del grupo
  • Tener accesible cualquier tipo de dispositivo de comunicación (móviles, Smart watches, etc.) durante el desarrollo de unaprueba de evaluación presencial.

 f)  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 ese 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 maneras, un estudiante desea repetir las prácticas, deberá informar de ello vía mail al profesor responsable de las mismas.

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

 g)  Calificaciones especiales

  • No se evaluará con un “no-presentado” a ningún estudiante que haya participado en alguna prueba de evaluación.
  • Para obtener una “matrícula de honor (MH)” la nota final obtenida por el estudiante debe ser ≥ 9,0. Sin embargo, 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.

Las normativas académicas aprobadas por en Consejo de Gobierno de la  UAB se pueden consultar en: https://www.uab.cat/doc/TR_Normativa_Academica_Plans_Nous

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