Tipos
Complementaria de especialidad (Ingeniería de Computadores)
En la asignatura de VLSI, el estudiante adquirirá los conocimientos necesarios para diseñar y verificar circuitos digitales. El temario ofrece un enfoque detallado y progresivo sobre el proceso de fabricación de un procesador actual (5% del contenido total del curso). Se abordan especialmente el diseño VLSI a nivel de transistor CMOS (15%) y, de manera muy profunda, las técnicas de verificación funcional de los diseños, que constituyen la parte principal de la asignatura (80%). El objetivo es capacitar al alumno para afrontar proyectos reales con una base sólida tanto en diseño CMOS como en verificación. La evaluación de la asignatura se realizará mediante la elaboración de las prácticas del curso y un proyecto que será presentado oralmente.
Profesorado
Responsable
-
Jesus Sanchez Navarro (
)
Competencias
Competencias Transversales
Sostenibilidad y compromiso social
-
G2 [Avaluable] - Conocer y comprender la complejidad de los fenómenos económicos y sociales típicos de la sociedad del bienestar. Ser capaz de analizar y valorar el impacto social y medioambiental
-
G2.3
- Tener en cuenta las dimensiones social, económica y ambiental, y el derecho a la privacidad a aplicar soluciones y llevar a cabo proyectos coherentes con el desarrollo humano y la sostenibilidad.
Competencias Técnicas de cada especialidad
Especialidad ingeniería de computadores
-
CEC1 - Diseñar y construir sistemas digitales, incluyendo computadores, sistemas basados en microprocesadores y sistemas de comunicaciones.
-
CEC1.2
- Diseñar/configurar un circuito integrado usando las herramientas de software adecuadas.
-
CEC3 - Desarrollar y analizar hardware y software para sistemas empotrados y/o de muy bajo consumo.
-
CEC3.2
- Desarrollar procesadores específicos y sistemas empotrados; desarrollar y optimizar el software de estos sistemas.
Objetivos
-
Conocer las etapas en el diseño de un circuito integrado. Conocer las herramientas disponibles en cada etapa.
Competencias relacionadas:
CEC1.1,
CEC1.2,
-
Evaluar los circuitos integrados diseñados en el curso según las figuras de mérito explicadas que incluyen la dimensión económica y ambiental.
Competencias relacionadas:
CEC1.2,
G2.3,
-
Conocer los diferentes lenguajes de descripción de hardware. Ser capaz de programar estructuras sencillas en uno de ellos.
Competencias relacionadas:
CEC1.2,
G2.3,
-
Entender especificaciones de diseño de hardware, desarrollar un banco de pruebas, ejecutarlo y ser capaz de encontrar errores en el código de diseño.
Competencias relacionadas:
CEC2.3,
CEC3.2,
CT6.2,
CEC2.2,
-
Presentar en público un plan de verificación y el resultado de su ejecución. Saber dar por finalizada la verificación de un bloque de hardware.
Competencias relacionadas:
CEC2.1,
G4.3,
Contenidos
-
Descripción del curso
Presentación. Objetivos. Fases en el desarrollo de un procesador.
-
Introducción al diseño VLSI a nivel de transistores CMOS
Descripción de las etapas y herramientas utilizadas en el diseño VLSI, desde la especificación del sistema hasta la implementación en un circuito integrado.
-
La celda estándar
Diseño con celdas CMOS estándar: principios, disposición y optimización para circuitos digitales.
-
Introducción a la verificación pre-silicio
¿Qué es la verificación pre-silicion? Relación entre diseño y verificación. Tipos de objetivos de la verificación. Entornos y herramientas de simulación.
-
Planificación de la verificación y testbenchs
Estructura básica y componentes de un banco de pruebas. Plan de verificación. Tipos de estímulos.
-
SystemVerilog para la verificación
Introducción a SystemVerilog orientado a verificación. Tipos de datos. Clases y herencia. DPI.
-
Aserciones y cobertura funcional
Tipos de aserciones. SVA. Cobertura funcional.
-
Introducción a UVM (Universal Verification Methodology)
¿Por qué UVM? Componentes de un banco de pruebas UVM. Configuración e integración.
-
UVM avanzado y práctica
Secuencias. Fábrica UVM. Buenas prácticas y patrones de diseño.
-
Verificación de microprocesadores
Desafíos en las diferentes etapas del pipeline. Verificación de la ISA. Verificación de coherencia de cachés. Verificación de rendimiento y consumo.
-
Verificación formal
¿Qué es la verificación formal? Aserciones como base formal. Límites y ventajas del método.
-
Depuración, cobertura y tendencias
Estrategias de depuración. Cómo leer y cerrar la cobertura funcional. Verificación continua.
-
Introducción a la validación post-silicio
Cómo se detectan y solucionan errores en hardware real. Herramientas y metodologías.
Actividades
Actividad
Acto evaluativo
Fonaments del disseny VLSI
Objetivos:
1
2
3
Contenidos:
Introducción a la verificación
Objetivos:
3
4
Contenidos:
Técnicas de verificació funcional
Objetivos:
3
4
Contenidos:
Verificación especializada y formal
Objetivos:
3
4
Contenidos:
Depuración, tendencias y validación
Objetivos:
4
Contenidos:
Proyecto de verificación
Objetivos:
3
4
5
Semana:
14 (Fuera de horario lectivo)
Metodología docente
Las clases teóricas desarrollarán los contenidos mencionados anteriormente, uno por semana, utilizando transparencias (que se compartirán con los alumnos). Se valorará la participación y el dinamismo del alumnado en clase.
En las clases de laboratorio se aplicarán los conceptos tratados en la teoría, aprendiendo en la práctica a utilizar herramientas de EDA para diseñar y/o verificar bloques de hardware que podemos encontrar en un microprocesador actual.
El curso se desarrolla de forma constructiva. Es decir, parte de los conceptos adquiridos en asignaturas anteriores y, en cada tema, se incrementan los conocimientos y habilidades del alumno.
Método de evaluación
Hay 2 elementos:
- Laboratorio (L): nota de laboratorio, que se calculará a partir de cada una de las entregas.
- Presentación (P): exposición oral e individual sobre un proyecto completo de verificación.
La nota final se calculará como: NF = 0,4 × L + 0,6 × P
El nivel de logro de la competencia genérica se evalúa indirectamente a partir de las notas de laboratorio y la exposición oral. La calificación correspondiente es:
A si 8,5 <= NF; B si 7 <= NF < 8,5; C si 5 <= NF < 7; D si NF < 5
Bibliografía
Básica:
-
CMOS VLSI design: a circuits and systems perspective -
Weste, N. H.E.; Harris, D.M,
Addison Wesley, 2011. ISBN: 9780321547743
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003760429706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
-
SystemVerilog for Verification: A Guide to Learning the Testbench Language Features -
Spear, Chris ; Tumbush, Greg,
Springer Nature, 3rd ed. 2012. ISBN: 9781461407157
https://discovery.upc.edu/discovery/fulldisplay?docid=cdi_springer_books_10_1007_9 78_1_4614_0715_7&context=PC&vid=34CSUC_UPC:VU1&lang=ca
-
The UVM primer : an introduction to the Universal Verification Methodology -
Salemi, Ray,
Boston Light Press, 2013. ISBN: 9780974164939
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005224879506711&context=L&vid=34CSUC_UPC:VU1
Complementaria:
Capacidades previas
las listadas en IC, EC, PE y AC.