Logo UAB
2020/2021

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

Equipo docente

Elena Valderrama Vallés
Josep Velasco González

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, 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.
  • Herramientas de síntesis. Tiempos de respuesta.
  • Módulos combinacionales: multiplexores, decodificadores, planos AND-OR (PLAs).
  • 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.
  • Descripción explícita de CS. Grafos de comportamiento y tablas.
  • 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. Estructura, 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 MEFs descritos 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. La arquitectura Von-Newmann como una extensión de la arquitectura UP-UC. Unidades funcionales y buses.
  • Un repertorio básico de instrucciones de lenguaje máquina. Ejemplo de programación en lenguaje máquina. Microórdenes y señales de condición (status).
  • 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 nueva situación conlleva que en la asignatura no habrá clases presenciales (siguiendo las directrices de la Escuela de Ingeniería) y quedarán sustituidas por webinars (TEAM), habitualmente impartidas en los mismos horarios (como si fueran presenciales). El primer día de docencia (virtual) se explicará con detalle a los estudiantes la estructura/horarios que seguiremos durante toda la asignatura.

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 (TEAM) y que contienen los conocimientos teórico-prácticos necesarios para el diseño de sistemas digitales, y ejercicios interactivos de corrección automática. Las clases virtuales se dedican a la resolución de dudas, cuestiones, problemas y nuevos casos propuestos por el profesor. Los estudiantes deben participar activamente en estas clases; no se trata de clases convencionales “de teoría”.

El bloque 3 no tiene videos per si que se ofrecen unos amplios apuntes que también deberan ser leidos antes de cada clase.

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 3h y el trabajo se desarrolla en equipos de dos personas. Dadas las circunstancias y para dar cumplimiento a la normativa sanitaria se prevé que el próximo curso 2020-2021 las prácticas sean parcial o totalmente en modalidad no presencial.

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 Socrative, 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.

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

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 virtual y la visualización de los vídeos antes de asistir a ellas mediante eventuales tests dentro de cada webinar.
  4. En cada sesión de prácticas se 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.
  5. 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 una prueba 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 (LT) 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 elCV al comienzodel 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 hacometido 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.