Créditos
6
Tipos
Complementaria de especialidad (Ingeniería de Computadores)
Requisitos
  • Prerrequisito: AC
Departamento
AC
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 ( )

Horas semanales

Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
6

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

  1. Conocer las etapas en el diseño de un circuito integrado. Conocer las herramientas disponibles en cada etapa.
    Competencias relacionadas: CEC1.1, CEC1.2,
  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,
  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,
  4. 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,
  5. 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

  1. Descripción del curso
    Presentación. Objetivos. Fases en el desarrollo de un procesador.
  2. 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.
  3. La celda estándar
    Diseño con celdas CMOS estándar: principios, disposición y optimización para circuitos digitales.
  4. 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.
  5. 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.
  6. SystemVerilog para la verificación
    Introducción a SystemVerilog orientado a verificación. Tipos de datos. Clases y herencia. DPI.
  7. Aserciones y cobertura funcional
    Tipos de aserciones. SVA. Cobertura funcional.
  8. Introducción a UVM (Universal Verification Methodology)
    ¿Por qué UVM? Componentes de un banco de pruebas UVM. Configuración e integración.
  9. UVM avanzado y práctica
    Secuencias. Fábrica UVM. Buenas prácticas y patrones de diseño.
  10. 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.
  11. Verificación formal
    ¿Qué es la verificación formal? Aserciones como base formal. Límites y ventajas del método.
  12. Depuración, cobertura y tendencias
    Estrategias de depuración. Cómo leer y cerrar la cobertura funcional. Verificación continua.
  13. 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


Teoría
6.5h
Problemas
0h
Laboratorio
7h
Aprendizaje dirigido
0h
Aprendizaje autónomo
18h

Teoría
7.5h
Problemas
0h
Laboratorio
9h
Aprendizaje dirigido
0h
Aprendizaje autónomo
18h

Teoría
7.5h
Problemas
0h
Laboratorio
10.5h
Aprendizaje dirigido
0h
Aprendizaje autónomo
18h

Verificación especializada y formal


Objetivos: 3 4
Contenidos:
Teoría
4.5h
Problemas
0h
Laboratorio
3.5h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Depuración, tendencias y validación


Objetivos: 4
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Proyecto de verificación


Objetivos: 3 4 5
Semana: 14 (Fuera de horario lectivo)
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

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:

Complementaria:

Capacidades previas

las listadas en IC, EC, PE y AC.