Pasar al contenido principal

VLSI

Créditos
6
Tipos
Complementaria de especialidad (Ingeniería de Computadores)
Requisitos
Departamento
AC
Web
http://docencia.ac.upc.edu/FIB/grau/VLSI
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

Horas semanales

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

Competencias

Competencias técnicas comunes

  • CT6 - Demostrar conocimiento y comprensión del funcionamiento interno de un computador y del funcionamiento de las comunicaciones entre ordenadores.
    • CT6.2 - Demostrar conocimiento, comprensión y capacidad de evaluar la estructura y la arquitectura de los computadores, así como los componentes básicos que los conforman.
  • 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.
  • Especialidad ingeniería de computadores

  • CEC1 - Diseñar y construir sistemas digitales, incluyendo computadores, sistemas basados en microprocesadores y sistemas de comunicaciones.
    • CEC1.1 - Diseñar un sistema basado en microprocesador/microcontrolador.
    • CEC1.2 - Diseñar/configurar un circuito integrado usando las herramientas de software adecuadas.
  • CEC2 - Analizar y evaluar arquitecturas de computadores incluyendo plataformas paralelas y distribuidas, y desarrollar y optimizar software para dichas plataformas.
    • CEC2.1 - Analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y la ejecución de aplicaciones y servicios informáticos.
    • CEC2.2 - Programar considerando la arquitectura hardware, tanto en ensamblador como en alto nivel.
    • CEC2.3 - Desarrollar y analizar software para sistemas basados en microprocesadores y sus interfícies con usuarios y otros dispositivos.
  • 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
    0h

    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ásico

    Complementario

    Capacidades previas

    las listadas en IC, EC, PE y AC.