
Sistemas Integrados para Procesado Digital de Señal
Código: 45644Créditos: 6
| Titulación | Tipo | Curso |
|---|---|---|
| Ingeniería de Telecomunicación | OB | 1 |
Profesor/a de contacto
- Nombre :
- Jordi Carrabina Bordoll
- Correo electrónico :
- jordi.carrabina@uab.cat
Equipo docente
- Waldo Nogueira Vazquez
- Albert Alvarez Carulla
- Stepan Sutula Grinchenko
Idiomas de los grupos
Puede consultar esta información al final del documento.
Prerrequisitos
Se requieren conocimientos elementales previos sobre SystemVerilog (evolución de Verilog) como Lenguaje de descripción de Hardware. Para aquellos estudiantes que no tengan estas competencias mínimas, ofreceremos sesiones complementarias previas al inicio del curso, ya sea presencial (a programar) u on-line (por ejemplo, parte de https://www.cadence.com/en_US/home/training/all-courses/82143.html).
Se recomiendan conocimientos sobre las siguientes materias:
Procesamiento digital de señal
Diseño Digital
Sistemas y aplicaciones electrónicas
Objetivos
El objetivo principal del curso es aprender, comprender y ser capaz de diseñar sistemas electrónicos digitales para procesamiento digital de señales, con especial atención a sistemas integrados. Estos sistemas están compuestos por módulos digitales que gestionan la computación y la comunicación. Este curso intenta abordar los 3 principales niveles de diseño: (1) nivel de sistema (aplicación); (2) especificación, modelado y verificación usando lenguajes de descripción de hardware (HDL); y (3) implementación física en plataformas de hardware (FPGAs) y nodos de tecnología avanzada (ASICs). Cada nivel tendrá un profesor experimentado diferente. El curso se basa en arquitecturas habituales de procesamiento digital de señales que utilizan una aplicación en acústica, procesamiento de voz y dispositivos auditivos para demostrar el flujo de diseño digital desde la aplicación a la implementación. Para ello, se adoptarán diferentes metodologías de diseño a nivel industrial para cada nivel de abstracción (nivel de sistema, nivel lógico, nivel físico). Se utilizará SystemVerilog HDL para prototipar estos sistemas en laboratorios sobre placas electrónicas con dispositivos FPGA reconfigurables para su implementación en tiempo real.
Resultados de aprendizaje
- (CA12) Valorar correctamente las herramientas de diseño HW, utilizando lenguajes de descripción de hardware, y SW necesarias para implementar algoritmos de procesado digital en plataformas microelectrónicas como los dispositivos lógicos programables (FPGA, eFPGA, CPLD)
- (CA13) Examinar los requerimientos de nivel de sistema (funcionales y de presentaciones de coste, velocidad y energía) en la cadena de implementación de algoritmos de procesado digital de señal y aplicar técnicas para corregir desviaciones no deseadas
- (CA14) Utilizar conocimientos de procesado digital de señal en tecnologías y soluciones microelectrónicas comerciales en diferentes ámbitos de aplicaciones como la telemedicina, la bioingeniería y la robótica en ámbitos profesionales y académicos
- (CA15) Crear algoritmos avanzados de procesado digital de señal utilizando metodologías y herramientas actuales en entornos multidisciplinares
- (KA13) Describir el funcionamiento y la organización de los componentes hardware, software intermediario y aplicaciones de procesado digital de señal
- (KA14) Identificar aplicaciones basadas en el procesado de señales multimedia y los modelos de negocio asociados
- (KA15) Relacionar conocimientos avanzados para desarrollar ideas originales en la resolución de problemas de procesamiento digital de señales
- (SA20) Aplicar métodos de procesado de señales mediante modelos y lenguajes de descripción de hardware (HDL) para su implementación digital en los diferentes niveles de abstracción: sistema, implementación modular y físico
- (SA21) Diseñar los componentes hardware (HW) y software (SW) de circuitos integrados systems-on-a-chip (SoC) para su implementación en las tecnologías microelectrónicas actuales
- (SA22) Modelar sistemas digitales complejos utilizando herramientas y flujos de diseño teniendo en cuenta las restricciones funcionales y de prestaciones del sistema
Contenidos
0. Introducción al Diseño de Sistemas Integrados para el Procesado Digital
Metodologías de diseño de chips para ASIC y FPGA
Fundamentos del Procesamiento Digital de la Señal (Cuantización, Muestreo, Transformada Z, Diseño de Filtros, Transformada Digital de Fourier)
1. Procesamiento digital de la señal de alto nivel y la adaptación para su implementación
Introducción a la Acústica, al Audio Espacial, a los sonidos del habla y al procesamiento del habla
Modelos de filtro de origen i Codificación de voz
Conversión de frecuencia de muestreo asíncrona (ASRC) y Procesamiento de baja latencia en tiempo real (buffers circulares)
Optimización de algoritmos (Transformada Rápida de Fourier – Algoritmos de Radix)
Algoritmos de conversión de coma flotante a coma fija
2. Metodologías de diseño de sistemas en un chip
Diseño digital modular: Componentes virtuales (IP) y su conectividad
SystemVerilog para modelización y síntesis HDL
Técnicas de verificación: simulación HDL, análisis temporal, Hardware-in-the-loop (HIL), codiseño HW/SW
3. Implementación en sistemas integrados
Estructura de los chips: ASIC & FPGAs
Power Performance Analysis (PPA): área, velocidad y energía
Gestión del reloj y la energía
Prototipado e industrialización
Laboratorios: Procesado Digital de la Señal de Audio sobre FPGA en Tiempo Real
Actividades formativas y Metodología
| Título | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|
| Tipo: Autónoma | |||
| Estudio | 56 | 2,24 | CA12, CA13, CA14, CA15, KA13, KA14, KA15, SA20, SA21, SA22 |
| Preparación y informe de actividades de laboratorio | 30 | 1,2 | CA12, CA15, KA13, KA15, SA20, SA21, SA22 |
| Tipo: Dirigida | |||
| Clases magistrales | 30 | 1,2 | CA12, CA13, CA14, CA15, KA13, KA14, KA15, SA21, SA22 |
| Sesiones de Laboratorio | 15 | 0,6 | CA12, CA13, CA14, CA15, KA15, SA20, SA21, SA22 |
| Tipo: Supervisada | |||
| Realización de Treballs Temáticos (Individuales) | 15 | 0,6 | CA12, CA13, CA14, KA13, KA15, SA20 |
El curso está principalmente guiado por las clases magistrales de los profesores de la asignatura que utilizarán intensivamente el material docente (presentaciones, documentos, herramientas, enlaces y otros recursos) que estarán disponibles a través del campus virtual de la UAB (https://cv.uab.cat). Se realizarán ejercicios individuales (con entregas en el campus virtual) de temas específicos. De acuerdo con la nueva política de la UAB, se permitirán herramientas de IA generativa mientras que los estudiantes deberán añadir el nombre de la herramienta y los temas utilizados. El enfoque en la evaluación se extenderá a todo el proceso de desarrollo, con posibles entrevistas de seguimiento.
Las sesiones de laboratorio permitirán aplicar y experimentar los conceptos adquiridos sobre plataformas FPGA, ampliamente utilizadas en la industria. En el caso de los laboratorios, las herramientas de IA no están permitidas en el aula porque suelen cometer errores graves para usuarios sin experiencia, especialmente al programar SystemVerilog. Especialmente para los laboratorios, esperamos que los estudiantes de máster los hayan preparado antes de la sesión presencial. La asistencia será obligatoria para todas las sesiones. Cualquier falta de asistencia deberá ser comunicada con antelación al profesor responsable, adjuntando los motivos razonables justificados correspondientes.
Nota: Dentro del horario establecido por el centro o máster, se reservarán 15 minutos de una clase para que los estudiantes evalúen a sus profesores y sus cursos o módulos a través de cuestionarios.
Evaluación
Actividades de evaluación continuada
| Título | Peso | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|---|
| Ejercicios individuales | 15% | 0 | 0 | CA13, CA14, KA13, KA14, KA15, SA20, SA22 |
| Evaluación parcial (Part 2):examen | 25% | 2 | 0,08 | CA12, CA13, KA13, KA14, SA20, SA21, SA22 |
| Evaluación parcial (Parte 1):examen | 25% | 2 | 0,08 | CA12, CA13, CA14, KA14, SA22 |
| Seguimiento y entregas del trabajo de laboratorio | 35% | 0 | 0 | CA12, CA13, CA14, CA15, SA20, SA21, SA22 |
Esta asignatura no prevé el sistema de evaluación única (un único examen).
La evaluación del alumnado utiliza la evaluación continuada compuesta por las siguientes valoraciones:
• Dos exámenes parciales para cada parte de la asignatura, que dan un 25% de la nota final.
• Trabajo individual en ejercicios temáticos (entregados en el campus virtual), que supone el 15% de la nota final
• Trabajo en equipo en el laboratorio, programado en 5 sesiones, de las que deberán entregar los informes correspondientes. Esta actividad aporta un 35% a la nota final de la asignatura. Se necesita una evaluación superior a 5 para aprobar el curso. Especialmente durante los laboratorios, el profesor evaluará la habilidad, desarrollo y corrección de la preparación y los resultados de cada laboratorio en el aula.
El examen final permite a los estudiantes evaluar el logro de las competencias en un solo examen o recuperar las evaluaciones parciales que tuvieron una nota inferior a 4. Esa es también la nota mínima requerida para aprobar cualquiera de las 2 partes la asignatura y la nota media de ambos exámenes no debe ser inferior a 5.
Se requiere una calificación final ponderada no inferior a 5 para aprobar la asignatura.
Para obtener MH será necesario que los alumnos tengan una calificación global superior a 8,5 con las limitaciones de la UAB (1MH/10 alumnos). Como criterio de referencia, se asignarán por orden descendente.
No se tolerará el plagio ni en los exámenes ni en las actividades individuales que se entregan en el Campus Virtual. Se utilizarán las herramientas informáticas disponibles para verificar su existencia. Todos los estudiantes implicados en una actividad de plagio serán automáticamente suspendidos. Se les asignará una nota final no superior al 30%.
Se puede utilizar SW de código abierto o librerías disponibles, pero deben referenciarse en los informes correspondientes.
El estudiante recibirá una nota de "No Evaluable" en caso de que:
- el estudiante no haya podido ser evaluado en las actividades de laboratorio por no haber asistido o no haber entregado los correspondientes informes sin causa justificada.
- el estudiante no haya realizar un mínimo del 50% de las actividades propuestas en sesiones tutorizadas.
- el estudiante no haya realizado el examen de síntesis.
Los estudiantes repetidores podrán "guardar" su calificación en las actividades de laboratorio, pero no las del resto de actividades.
Bibliografía
Procesamiento Digital del Habla
• Peter Vary, Rainer Martin, Digital Speech Transmission: Enhancement, Coding and Error Concealment, John Wiley & Sons Inc, 2006. (New issue to appear during 2024).
• L.R. Rabiner and W. Schafer. 2007. Introduction to digital speech processing. http://cronos.rutgers.edu/~lrr/dsp%20design%20course/final_speech_paper_1_2008.pdf
• Xuedong Huang, Alex Acero, Hsiao-Wuen Hon, Spoken Language Processing: A Guide to Theory, Algorithm, and System Development, ISBN: 0130226165, Prentice Hall, 2001.
Diseño SoC & HDL
• Chakravarthi, V.S. A practical approach to VLSI system on chip (SoC) design: a comprehensive guide [on line]. Cham: SpringerCham,2020. Available at: https://link-springer-com.recursos.biblioteca.upc.edu/book/10.1007/978-3-030-23049-4. ISBN 9783030230494.
• P. Bricaud, M. Keating : “Reuse Methodology Manual for System-On-A-Chip Designs”
• Spear, C.; Tumbush, G. SystemVerilog for verification: a guide to learning the testbench language features [on line]. 3rd ed. New York,NY: Springer, 2012. Available at: https://link-springer-com.recursos.biblioteca.upc.edu/book/10.1007/978-1-4614-0715-7. ISBN 9781461407157.
• Vaibbhav Taraate, Digital logic design using Verilog : coding and RTL synthesis, Springer, ISBN 978-981-16-3198-6, 2022. Available at on-line through your UAB account https://bibcercador.uab.cat/
• Mehta, A.B. ASIC/SoC functional design verification [on line]. Springer, 2017 [Consultation: 11/06/2024]. Available on: https://link-springer-com.recursos.biblioteca.upc.edu/book/10.1007/978-3-319-59418-7. ISBN 9783319594187.
• Wile, B.; Goss, J.C.; Roesner, W. Comprehensive functional verification: the complete industry cycle [on line]. Elsevier/MorganKaufmann, 2005.Available at: https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pqorigsite=primo&docID=234976. ISBN 9780080476643.
Sistemas Integrados y Empotrados:
• Edward A. Lee and Sanjit A. Seshia, Introduction to Embedded Systems, A Cyber-Physical Systems Approach, Second Edition, MIT Press, ISBN 978-0-262-53381-2, 2017.Available at https://ptolemy.berkeley.edu/books/leeseshia/releases/LeeSeshia_DigitalV1_08.pdf
• I. Grout “Digital Systems Design with FPGAs and CPLDs”
• H.J.M. Veendrick “Nanometer CMOS: from ASICS to BASICS”, 2ª edición, Springer. 2017. Available at on-line through your UAB account https://bibcercador.uab.cat/
Software
Los estudiantes utilizarán dos herramientas principales de procesamiento de señales de alto nivel:
- Herramientas de aplicación específica para la grabación (smartphone o PC con micrófono), además de Audacity SW para editar los sonidos (http://audacity.sourceforge.net/) y PRAAT (http://www.fon.hum.uva.nl/praat/) como herramienta de procesamiento de voz que incluye una gran variedad de funciones integradas
- Matlab/Simulink como plataforma de propósito general para la construcción de modelos, transformación y generación de las descripciones de hardware de los sistemas a implementar.
Se utilizarán las herramientas de diseño electrónico (EDA) asociadas a las placas FPGA de Altera utilizadas en los laboratorios que permiten:
- Especificación de sistemas digitales en lenguajes HDL
- Construcción de arquitecturas SoC para procesadores RISC (ARM, NIOS)
- Síntesis lógica y física de HDL
- Descarga de código HW i SW del PC en la FPGA
- Ejecución del algoritmo en la FPGA
Como plataforma SoC-FPGA se utilizará la DE1_SoC de Altera.
Los estudiantes tendrán acceso gratuito, bajo petición, a cursos de las herramientas EDA industriales (CADENCE) útiles para su formación y currículum, principalmente para los temas 4 y 5.
https://www.cadence.com/content/dam/cadence-www/global/en_US/documents/training/learning-maps.pdf
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 |
|---|---|---|---|---|
| (TEmRD) Teoria (màster RD) | 1 | Inglés | segundo cuatrimestre | tarde |
| (PLABmRD) Pràctiques de laboratori (màster RD) | 1 | Inglés | segundo cuatrimestre | tarde |