Verificación de Procesadores

Usted está aquí

Créditos
6
Tipos
Complementaria de especialidad (Computación de Altas Prestaciones)
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
AC
Al completar este curso, los estudiantes serán capaces de comprender el papel crítico de la verificación pre-silicio en el diseño moderno de microprocesadores. Podrán identificar y aplicar diversas metodologías y técnicas de verificación, así como utilizar herramientas de simulación para depurar y analizar el comportamiento del diseño. A lo largo del curso, los estudiantes desarrollarán planes de verificación y crearán bancos de pruebas efectivos utilizando lenguajes de descripción de hardware y lenguajes de verificación.

Profesorado

Responsable

  • Jesus Sanchez Navarro ( )

Horas semanales

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

Objetivos

  1. Entender e implementar un plan de verificación y un banco de pruebas, y ejecutarlo.
    Competencias relacionadas: CG4, CEE4.1, CB7, CTR3,
  2. Ser capaz de proporcionar y defender el plan de verificación y sus fases de ejecución.
    Competencias relacionadas: CB8, CTR3, CTR5,
  3. Utilizar las herramientas EDA necesarias para llevar a cabo el proyecto.
    Competencias relacionadas: CB7, CTR5,

Contenidos

  1. Introducción a la verificación pre-silicio
    Por qué la verificación es crítica en el diseño moderno. Panorama general del flujo de verificación. El papel de la verificación en el diseño de microprocesadores.
  2. Planificación de verificación y bancos de pruebas
    Plan de verificación y objetivos de cobertura. Arquitectura del banco de pruebas. Monitores, verificadores y comparadores de datos.
  3. SystemVerilog para la verificación (SVV)
    Conceptos básicos de SystemVerilog para el diseño de bancos de pruebas. Interfaces y bloques de sincronización. Aleatorización y restricciones. Clases, herencia y polimorfismo. Transacciones (TLM).
  4. Pruebas dirigidas y aleatorizadas
    Metodologías de pruebas dirigidas. Generación aleatorizada de pruebas. Análisis de cobertura de pruebas. Estrategias de depuración. Variación de estímulos. Predicción vs. aleatoriedad. Restricciones en la generación de pruebas.
  5. Aserciones y cobertura funcional
    Aserciones inmediatas vs. concurrentes. Sintaxis y ejemplos de SVA (SystemVerilog Assertions). Cobertura funcional vs. cobertura de código. Verificación basada en cobertura.
  6. Introducción a UVM (Universal Verification Methodology)
    Objetivos y estructura de UVM. Componentes de UVM. Mecanismos de fábrica, configuración y objeción.
  7. Bancos de pruebas y secuenciación con UVM
    Fases y flujo de pruebas en UVM. Secuencias y elementos de secuencia. Creación de pruebas reutilizables. Depuración y salida de simulación.
  8. Desafíos específicos de verificación de procesadores
    Verificación de tuberías de CPU y lógica de control. Verificación a nivel de instrucción y arquitectónica. Manejo de interrupciones, excepciones y riesgos. Pruebas de conformidad con la ISA.
  9. Técnicas de verificación formal
    Descripción general de la verificación de modelos y la demostración de teoremas. Comprobación de equivalencia. Comprobación de modelos acotados. Casos de uso y limitaciones en el diseño de microprocesadores.
  10. Verificación de rendimiento y consumo de energía
    Conceptos de simulación consciente de la energía. Estados funcionales vs. estados de bajo consumo. Modelado de rendimiento.
  11. Estrategias de depuración y cierre de cobertura
    Interpretación de informes de cobertura funcional/código. Optimización de pruebas para la cobertura. Técnicas de depuración y análisis gráfica de las señales.
  12. Tendencias y estudios de casos reales
    Últimas tendencias en verificación (RISC-V, verificación basada en ML, herramientas formales). Revisión de estudios de casos reales de verificación de CPU.
  13. Introducción a la validación post-silicio
    Cómo se detectan y corrigen los errores en hardware real. Herramientas y metodologías.

Actividades

Actividad Acto evaluativo


Introducción a la verificación pre-silicio


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

Teoría
8h
Problemas
0h
Laboratorio
16.9h
Aprendizaje dirigido
0h
Aprendizaje autónomo
28h

Teoría
6h
Problemas
0h
Laboratorio
3.4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
24h

Teoría
6h
Problemas
0h
Laboratorio
3.3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
24h

Tendencias y validación post-silicio


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

Proyecto de verificación


Objetivos: 1 2 3
Semana: 13 (Fuera de horario lectivo)
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Metodología docente

Los conceptos principales de la verificación pre-silicio de procesadores se introducirán en las clases de teoria. Los estudiantes completarán su experiencia de aprendizaje con las sesiones de laboratorio, donde pondrán en práctica los conceptos aprendidos en las clases.

Método de evaluación

El curso tiene dos calificaciones:
1) Las sesiones de laboratorio (L)
2) Presentación de un proyecto de verificación (P)

La calificación final se calculará como: 0,4 × L + 0,6 × P.

Bibliografía

Básica:

Capacidades previas

Conceptos de diseño de circuitos digitales.
Lenguajes de descripción de hardware (HDL).
Programación y scripting.
Principios de arquitectura de computadoras.